【深度学习实战(8)】如何绘制loss曲线图

news2024/9/30 9:29:12

一、步骤

我们先定义一个dict,每一个key对应的value都是一个list。

loss_history = dict((k, []) for k in ["epoch", "train_loss", "val_loss"])

每一轮或者每一次迭代的损失都通过list记录下来。

loss_history["epoch"].append(1)
loss_history["train_loss"].append(0.1)
loss_history["val_loss"].append(0.1)

loss_history["epoch"].append(2)
loss_history["train_loss"].append(0.05)
loss_history["val_loss"].append(0.05)

使用matplotlib.pyplot工具来绘制曲线图

plt.figure()
plt.title('loss during training')  #标题
plt.plot(loss_history["epoch"], loss_history["train_loss"], label="train_loss")
plt.plot(loss_history["epoch"], loss_history["val_loss"], label="valid_loss")
plt.legend()
plt.grid()
plt.show()
plt.savefig('loss figure')

二、完整代码

import matplotlib.pyplot as plt


# dict + list
loss_history = dict((k, []) for k in ["epoch", "train_loss", "val_loss"])


loss_history["epoch"].append(1)
loss_history["train_loss"].append(0.1)
loss_history["val_loss"].append(0.1)

loss_history["epoch"].append(2)
loss_history["train_loss"].append(0.05)
loss_history["val_loss"].append(0.05)

plt.figure()
plt.title('loss during training')  #标题
plt.plot(loss_history["epoch"], loss_history["train_loss"], label="train_loss")
plt.plot(loss_history["epoch"], loss_history["val_loss"], label="valid_loss")
plt.legend()
plt.grid()
plt.show()
plt.savefig('loss figure')

三、效果展示

在这里插入图片描述
很实用~
实际应用
在这里插入图片描述

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

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

相关文章

Task01:初识深度学习

学习视频: 深度学习介绍_哔哩哔哩_bilibili 03 安装【动手学深度学习v2】_哔哩哔哩_bilibili 02 深度学习介绍【动手学深度学习v2】 x轴:不同的模式 y轴:“我”想做的东西 计算机视觉中是像素,很难用符号表示,所以…

Meta通过开源Llama 3 LLM提高了标准

Meta 推出了 Llama 3,这是其最先进的开源大型语言模型(LLM)的下一代产品。这家科技巨头声称,Llama 3 在现实场景中建立了新的性能基准,超越了之前行业领先的模型,如 GPT-3.5。 Meta 在一篇博文中宣布了这一发布,并表示:"通过 Llama 3,我们致力于打造与当今最好的专有模型…

qt实现不定数量的按钮向前向后移动展示

按钮模拟移动 引言示例代码第一种思路开发环境代码结构实现代码第二种思路开发环境实现代码第三种思路开发环境实现代码总结引言 此文主要记录用qt实现按钮的移动,具体效果如下: 模拟按钮移动效果 示例代码 本文记录了三种实现方式。 第一种 思路 用动态数组vector存放创…

系统调优助手,PyTorch Profiler TensorBoard 插件教程

0x1. 前言 使用PyTorch Profiler进行性能分析已经一段时间了,毕竟是PyTorch提供的原生profile工具,个人感觉做系统性能分析时感觉比Nsys更方便一些,并且画的图也比较直观。这里翻译一下PyTorch Profiler TensorBoard Plugin的教程并分享一些…

边缘计算网关的工业设备数据采集方案-天拓四方

随着工业4.0时代的到来,工业设备数据采集成为了实现智能制造、提升生产效率的关键环节。传统的数据采集方案往往依赖于中心化的数据处理方式,但这种方式在面对海量数据、实时性要求高的工业场景时,往往显得力不从心。因此,利用边缘…

代码+视频,R语言对数据进行多重插补后回归分析

我们在临床做回顾性研究分析中经常要面对数据缺失的问题,如果数据缺失量大就会对我们的研究结果产生影响,近年来,对数据进行多重插补广泛应用于SCI论文中。我们在之前的文章中已经演示了使用SPSS对数据进行多重插补并分析。今天,我…

swiper 去掉轮播图上的小点点 小圆圈(完美解决方案)

文章目录 问题描述解决方案问题复现处理方案 问题描述 大家好!我是夏小花,今天是2024年4月22日|农历三月十四,今天这篇博文主要解决swiper 去掉轮播图上的小点点 小圆圈,具体解决方案如下所示 解决方案 问题复现 现在现在可以看…

cox版本的Boruta+SHAP分析(心力衰竭数据集)

Cox版本的BorutaSHAP分析(心力衰竭数据集) Boruta算法是变量筛选的有力工具,而SHAP分析是观察预测变量与结局变量间关系的不错的方法,在传统的分析方法的基础上提供了一个全新的视角。Boruta算法SHAP分析,正在逐渐成为…

【IT运维入门(ITHW)系列】之「快速部署」第二期清单(持续更新)

ITHW是Information Technology Hello World的缩写简拼。意在提供IT领域的入门相关知识,近期给大家带来的是主流技术选型的快速部署系列,意在最大程度地简化部署过程,以便能快速体验或测试相关技术选型。 「快速部署」第一期清单 ITHW快捷部署…

鸿蒙入门10-CheckBoxGroup组件

复选框群组 用于控制多个复选框全选或者不全选状态 参数 参数形式 : CheckboxGroup( options?: { group?: string } ) 创建复选框群组,可以用于控制群组内的 CheckBox 成员 全选 或者 不全选 相同 group 的 CheckBox 和 CheckBoxGroup 为同一群组 参…

java生成数据库数据到excel当做下拉选择,copy就完事~

背景:由于需要下载模板,模板包含下拉选择框,但是下拉选择框不想手写,并且需要从数据库读取,由于直接设置excel会有单元格最大255个字符长度限制,所以用到以下部分代码。 思路:由于数据模板在sh…

设计专家教你:3步轻松完成导航设计!

为了实现网页或应用程序的高可用性,UI导航是必不可少的。设计UI导航并不容易。UI导航可以根据需要或要求包含任何数量的项目,引导用户与产品互动,实现目标动作或隐藏的设计组合。在设计UI导航时,应注意最终用户的需求,…

前端crypto-js, 文件加密,判断相同文件、图片(MD5,SHA256)

文章目录 前情提要应用场景实战解析最后前情提要 大家好,今天我们来接触一个库crypto-js 没错,上面是有道翻译的截图,为了我们得到的信息更权威,这个库是用来加密的,但介绍是说,已经停止维护,但并不影响我们在前端项目中的使用,所以学学也没有坏处 应用场景 判断图片…

Android集成Sentry实践

需求:之前使用的是tencent的bugly做为崩溃和异常监控,好像是要开始收费了,计划使用开源免费的sentry进行替换。 步骤: 1.修改工程文件 app/build.gradle apply plugin: io.sentry.android.gradle sentry {// 禁用或启用ProGua…

笔试狂刷--Day2(模拟高精度算法)

大家好,我是LvZi,今天带来笔试狂刷--Day2(模拟高精度算法) 一.二进制求和 题目链接:二进制求和 分析: 代码实现: class Solution {public String addBinary(String a, String b) {int c1 a.length() - 1, c2 b.length() - 1, t 0;StringBuffer ret new StringBuffer()…

【Node.js】01 —— fs模块全解析

🔥【Node.js】 fs模块全解析 📢 引言 在Node.js开发中,fs模块犹如一把万能钥匙,解锁着整个文件系统的操作。从读取文件、写入文件、检查状态到目录管理,无所不能。接下来,我们将逐一揭开fs模块中最常用的那…

一二三应用开发平台使用手册——系统管理-用户组-使用说明

概述 在RBAC模型中,资源、角色、用户三个关键元素,构成权限体系。在平台设计和实现的时候,以下几个核心问题思考如下: 角色,单层平铺还是树形结构? 在小型应用中,角色数量有限的情况下&#x…

JavaScript变量及数据类型

目录 概述: 变量: 前言: 变量的命名: 定义变量: 为变量赋值: 变量提升: let和const关键字: JS数据类型: 前言: typeof操作符: JS基本…

vite(vue3)配置内网ip访问的方法步骤

如果没有进行配置,运行项目之后,看到的访问地址是本地访问地址,其他人访问不了。 如下: 一、配置 “ vite.config.ts ” 文件 server: {host: 0.0.0.0 }, 如图所示: 添加 server 配置后保存 “ vite.config.ts ” 文…

adb工具使用

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…