训练和测试的loss、accuracy等数据保存到文件并读出

首先是写文件到excel

import os.path
from openpyxl import load_workbook
import pandas as pd
import matplotlib.pyplot as pltdef write_excel(excel_name, sheet_name, value):columns = ["epoc", "train_loss", "train_acc", "test_acc"]  # 列名# 创建一个 pandas 的数据框if not os.path.exists(excel_name):  # 文件不存在,就创建一个df = pd.DataFrame(columns=columns)df.to_excel(excel_name, index=False)books = load_workbook(excel_name).sheetnames  # 得到已存在的sheet列表# 将数据框写入 Excel 文件if sheet_name not in books:  # 如果sheet_name不存在,创建with pd.ExcelWriter(excel_name, engine="openpyxl", mode="a") as writer:df = pd.DataFrame(columns=columns)df.to_excel(writer, sheet_name=sheet_name, index=False)  # header=None 参数用于追加写入时不重复写入列名# 追加一行数据workbooks = load_workbook(excel_name)  # 获取文件worksheet = workbooks[sheet_name]  # 获取工作表sheetworksheet._current_row = worksheet.max_row  # 指定最大行数worksheet.append(value)  # 添加数据workbooks.save(excel_name)  # 保存print("写入成功")#测试
excel_name = r"example_pandas.xlsx"
sheet_name = "Sheet1"
value = [1, 2, 3, 4]
write_excel(excel_name, sheet_name, value)

在这里插入图片描述

读取excel和绘图
在这里插入图片描述

绘制一个loss图,一个准确率图

def image_show(excel_name, sheet_name):dataframe = pd.read_excel(excel_name, sheet_name)  # 读取excel的地址epoc = dataframe['epoc'].values  # 读出某列的数据为一个列表train_loss = dataframe['train_loss'].values  # 读出某列的数据为一个列表train_acc = dataframe['train_acc'].values  # 读出某列的数据为一个列表test_acc = dataframe['test_acc'].values  # 读出某列的数据为一个列表plt.figure(1, dpi=300)  # 画第一个图plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文plt.ylim([0, 2])  # 设置y轴刻度范围# plt.yticks(np.linspace(0, 2, 10))  # 设置刻度plt.xticks(range(0, 21, 2))  # 共20个值,每2个点显示一次plt.plot(epoc, train_loss, color='r', marker='', linewidth=1, linestyle='-', label="loss")  # 可以调整粗细,大小,颜色plt.title("train_loss曲线")  # 显示图名称plt.xlabel('e poc')  # 显示x轴名称plt.ylabel('loss')  # 显示y轴名称plt.legend()  # 显示标签# -------------------------------plt.figure(2, dpi=300)  # 画第二个图plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文plt.ylim([0, 1])plt.yticks(np.linspace(0, 1, 10))plt.plot(epoc, train_acc, color='r', marker='', linewidth=1, linestyle='--', label="train_acc")plt.plot(epoc, test_acc, color='b', marker='', linewidth=1, linestyle='-', label="test_acc")plt.title("accuracy准确率")plt.xlabel('epoc')plt.ylabel('accuracy')plt.legend()plt.show()  # 显示#测试
excel_name = r"example_pandas.xlsx"
sheet_name = "Sheet1"  # 工作簿sheet的名字
image_show(excel_name, sheet_name)

在这里插入图片描述
在这里插入图片描述
行叭,学习了好半天!到这里吧

奥,对,还有一些读取excel的代码

# 参考 https://blog.csdn.net/HJ_xing/article/details/112390297、https://blog.csdn.net/rebecca_cao/article/details/134899345
# path = r"train_info.xlsx"
# sheet_name = "Sheet1"  # 工作簿sheet的名字
# dataframe = pd.read_excel(path, sheet_name)  # 读取excel的地址
# print(dataframe)
# 
# data = dataframe.values  # 获取整个工作表值数据,不包括表的标题
# data = dataframe.head(3)  # 读取前3行,包括标题
# data = dataframe.iloc[0].values  # 0表示数值第一行,不包含表头
# data = dataframe.iloc[[1, 2, 3, 4]].values  # 读取指定多行,在iloc[]里面嵌套列表指定行数
# data = dataframe.sample(3).values  # 读取df中随机3行数据(3个样本)
# data = dataframe.iloc[1, 2]  # 读取索引为[1, 2]的值,读取指定某行某列(单元格)的数据
# print(dataframe['列名称'].values)  # 读出某列的数据为一个列表
# datas = dataframe.loc[:, ['列名1', '列明2']].values  # 读所有行的列名1和列名2的值
# datas = dataframe.loc[7:9, ['step', 'train_loss']].values  # 读7-9行的列名1和列名2的值
# data = dataframe.loc[[1, 2], ['列明1', '列名2']].values  # 读取第一行第二行的列1,列2
# print("输出行号列表", dataframe.index.values)
# print("输出列标题", dataframe.columns.values)
# data = dataframe.head(3)  # 读取前3行,带标题
# step = dataframe['step'].values
# train_loss = dataframe['train_loss'].values

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/582384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea Spring Boot项目使用JPA创建与数据库链接

1.pom.xml文件中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>…

创建和配置Spring MVC框架构建Web应用

1 认识Spring MVC Spring Web MVC是构建在Servlet API之上的Web框架&#xff0c;自诞生之时就被纳入了Spring框架中。其正式/官方名称为“Spring Web MVC”&#xff0c;源自其所属的模块&#xff08;spring-webmvc&#xff09;&#xff0c;但通常被称为“Spring MVC”。 1.1…

最短路径(数据结构实训)(难度系数100)

最短路径 描述&#xff1a; 已知一个城市的交通路线&#xff0c;经常要求从某一点出发到各地方的最短路径。例如有如下交通图&#xff1a; 则从A出发到各点的最短路径分别为&#xff1a; B&#xff1a;0 C&#xff1a;10 D&#xff1a;50 E&#xff1a;30 F&#xff1a;60 输…

go 源码解读 - sync.Mutex

sync.Mutex mutex简介mutex 方法源码标志位获取锁LocklockSlowUnlock怎么 调度 goroutineruntime 方法 mutex简介 mutex 是 一种实现互斥的同步原语。&#xff08;go-version 1.21&#xff09; &#xff08;还涉及到Go运行时的内部机制&#xff09;mutex 方法 Lock() 方法用于…

网盘项目话术(0.5w字精选)

功能结构图 数据库设计总结 该项目主要就是对文件的操作&#xff0c;file表&#xff0c;file_share表。 file表主要字段&#xff1a;id&#xff0c;用户id&#xff0c;父级目录id&#xff0c;文件的地址&#xff0c;文件的封面图片地址&#xff0c;创建和修改时间。 file_sha…

国际物流公司科普_集装箱种类区分和介绍_箱讯科技

集装箱运输的不断发展&#xff0c;为适应装载不同种类货物的需要&#xff0c;因而出现了不同种类的集装箱。今天和大家一起来总结一下。 按使用材料分类 根据箱子主体部件&#xff08;侧壁、端壁、箱顶等&#xff09;采用什么材料&#xff0c;就叫做什么材料制造的集装箱&…

TPRI-DMP平台介绍

TPRI-DMP平台介绍 TPRI-DMP平台概述 TPRI-DMP为华能集团西安热工院自主产权的工业云PaaS平台&#xff0c;已经过13年的发展和迭代&#xff0c;其具备大规模能源电力行业生产应用软件开发和运行能力。提供TPRI-DMP平台主数据管理、业务系统开发与运行、应用资源管理与运维监控…

【数据结构】C语言实现单链表的基本操作

单链表基本操作的实现 导言一、查找操作1.1 按位查找1.1.1 按位查找的C语言实现1.1.2 按位查找的时间复杂度 1.2 按值查找1.2.1 按值查找的C语言实现1.2.2 按值查找的时间复杂度 二、插入操作2.1 后插操作2.2 前插操作 三、删除操作结语 导言 大家好&#xff0c;很高兴又和大家…

C++ 之LeetCode刷题记录(三)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅&#xff0c;多学多练&#xff0c;尽力而为。 先易后难&#xff0c;先刷简单的。 13、罗马数字转整数 罗马数字包含以下七种字符: I&#xff0c…

ClickHouse基础知识(二):ClickHouse 安装教程

1. 准备工作 1.1 确定防火墙处于关闭状态 1.2 CentOS 取消打开文件数限制 &#xff08;1&#xff09;在 hadoop101 的 /etc/security/limits.conf 文件的末尾加入以下内容 sudo vim /etc/security/limits.conf&#xff08;2&#xff09;在 hadoop101 的/etc/security/limits.…

Rocky9 1.28安装kubernetes

1.环境准备 二进制安装比较复杂&#xff0c;但是也比较稳定&#xff0c;适用于线上环境使用。   本笔记参考自&#xff1a;https://github.com/cby-chen/Kubernetes &#xff0c;针对文中内容&#xff0c;有部分镜像无法拉取等&#xff0c;还有一部分有点小问题&#xff0c;…

SQL小技巧5:数据去重的N种方法,总有一种你想不到!

在平时工作中&#xff0c;使用SQL语句进行数据去重的场景非常多。 今天主要分享几种数据去重的SQL写法。 假如有一张student表&#xff0c;结构如下&#xff1a; create table student( id int, name varchar(50), age int, address varchar(100)); 表中的数据…

【解决方案】智能语音模块,东胜物联远场语音解决方案让控制更简单,应用于智能家居等场景

现在的天气真是冷得不想多动一下&#xff0c;又想打开取暖器&#xff1f;有了它&#xff0c;用声音就能遥控&#xff0c;今天我们就来聊聊智能语音模块。 技术概述 远场语音技术&#xff0c;采用了麦克风阵列、信号处理技术以及先进的语音识别引擎&#xff0c;使得设备能够在距…

C++ DAY2作业

1.课堂struct练习&#xff0c;用class&#xff1b; #include <iostream>using namespace std;class Stu { private:int age;char sex;int high; public:double score;void set_values(int a,char b,int c,double d);int get_age();char get_sex();int get_high(); }; vo…

Java开发框架和中间件面试题(8)

目录 82.Mybatis一级缓存&#xff0c;二级缓存&#xff1f; 83.Mybatis如何防止SQL注入&#xff1f; 84.mybatis中resultType和resultMap有什么区别&#xff1f; 85.如何在SpringBoot中禁用Actuator断点安全性&#xff1f; 86.什么是SpringBoot&#xff1f;SpringBoot有哪些…

go 使用 - sync.Metux

[TOC]&#xff08;sync.metux 使用&#xff09; 简介 简述使用metux使用的方法&#xff0c; 使用的注意点&#xff0c; 以及使用情况使用方法 提供的方法 Lock() 方法用于获取锁 Unlock() 方法用于释放锁 TryLock()方法尝试获取锁 对共享资源进行加锁&#xff0c; 例 &#…

数据库(Database)基础知识

什么是数据库 数据库是按照数据结构来组织、存储和管理数据的仓库&#xff0c;用户可以通过数据库管理系统对存储的数据进行增删改查操作。 数据库实际上是一个文件集合&#xff0c;本质就是一个文件系统&#xff0c;以文件的方式&#xff0c;将数据保存在电脑上。 什么是数据…

阿里云 ACK 云上大规模 Kubernetes 集群高可靠性保障实战

作者&#xff1a;贤维 马建波 古九 五花 刘佳旭 引言 2023 年 7 月&#xff0c;阿里云容器服务 ACK 成为首批通过中国信通院“云服务稳定运行能力-容器集群稳定性”评估的产品&#xff0c; 并荣获“先进级”认证。随着 ACK 在生产环境中的采用率越来越高&#xff0c;稳定性保…

leaflet学习笔记-地图图层控制(二)

图层介绍 Leaflet的地图图层控件可控制两类图层&#xff1a;一类是底图图层&#xff08;Base Layers&#xff09;&#xff0c;一次只能选择一个图层作为地图的背景图层&#xff0c;即底图图层&#xff0c;在地图图层控件中用单选按钮控制&#xff1b;另一类是覆盖图层&#xff…

大数据与人工智能|信息技术产业架构、行业发展与前沿技术(第2节)

内容链接&#xff1a;信息技术产业架构、行业发展与前沿技术&#xff08;大数据与人工智能系列课程 第2节&#xff09; 声明&#xff1a;学习使用&#xff0c;侵权必删&#xff01; 主要内容&#xff1a;1. 从算盘到量子计算机&#xff0c;介绍了半导体行业的发展历程和技术原…