iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >【python】plt.plot() 函数绘制loss曲线
  • 449
分享到

【python】plt.plot() 函数绘制loss曲线

pytorch深度学习python 2023-09-06 09:09:56 449人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录 一.  数据形式 (输入数据) 二.  绘图(完整代码) 三.  plt.plot() 函数 (调整图形) 1. plt.plot(x, y)  2. plt.plot(x, y, "格式控制字符串") 2.1 "颜色"与"线型" 2

目录

一.  数据形式 (输入数据)

二.  绘图(完整代码)

三.  plt.plot() 函数 (调整图形)

1. plt.plot(x, y) 

2. plt.plot(x, y, "格式控制字符串")

2.1 "颜色"与"线型"

2.2 "点型"

 3. plt.plot(x, y, "格式控制字符串", 关键字=参数)


一.  数据形式 (输入数据)

训练过程中每个epoch都输出当前轮结果,输出数据保存在.txt文件,形式如下:

因为只是举个例子,只用30张图跑了5个epoch,不过数值不重要!过程先搞明白。

#每个epoch都输出当前轮结果print("epoch[%d/%d],train_loss,%.4f,train_acc,%.4f,train_miou,%.4f,eval_loss,%.4f,eval_acc,%.4f,eval_miou,%.4f,lr,%.6f,time,%ds" %              (epoch + 1, EPOCHES, epoch_loss, epoch_acc, epoch_miou, val_loss, val_acc, val_miou, learning_rate, time.time() - st_epoch))#输出结果形式epoch[1/5],train_loss,3.0900,train_acc,0.0190,train_miou,0.0046,eval_loss,3.0398,eval_acc,0.0438,eval_miou,0.0075,lr,0.000005,time,23sepoch[2/5],train_loss,2.9437,train_acc,0.0667,train_miou,0.0090,eval_loss,2.9367,eval_acc,0.1133,eval_miou,0.0082,lr,0.000005,time,25sepoch[3/5],train_loss,2.8345,train_acc,0.1875,train_miou,0.0141,eval_loss,2.8379,eval_acc,0.2588,eval_miou,0.0087,lr,0.000005,time,25sepoch[4/5],train_loss,2.7256,train_acc,0.3285,train_miou,0.0163,eval_loss,2.7290,eval_acc,0.4454,eval_miou,0.0072,lr,0.000005,time,24sepoch[5/5],train_loss,2.6142,train_acc,0.5298,train_miou,0.0167,eval_loss,2.6255,eval_acc,0.5811,eval_miou,0.0032,lr,0.000005,time,27s

二.  绘图(完整代码)

  1. 逐行读取数据
  2. split()按所给符号分割
  3. 把所需列的数据按索引添加到对应的表里
  4. 用plt画图,需要什么形式的图,函数的参数可以参考第三部分函数介绍自行更改
#完整代码import matplotlib.pyplot as pltfile = open('log.txt')  #打开文档lines = file.readlines() #读取文档数据#epoch = list(1, range(len(lines))+1) #epoch可以直接赋值,不放心的就用下面epoch的代码epoch = []train_loss = []val_loss = []for line in lines:# split用于将每一行数据用自定义的符号(我用的是逗号)分割成多个对象    # 取分割后的第0列,转换成float格式后添加到epoch列表中    epoch.append(str(line.split(',')[0]))    # 取分割后的第2列,转换成float格式后添加到train_loss列表中    train_loss.append(float(line.split(',')[2]))    #取分割后的第8列,转换成float格式后添加到val_loss列表中    val_loss.append(float(line.split(',')[8]))plt.figure()         plt.title('loss during training')  #标题plt.plot(epoch, train_loss, label="train_loss")plt.plot(epoch, val_loss, label="valid_loss")plt.legend()plt.grid()plt.show()

输出结果:

三.  plt.plot() 函数 (调整图形)

matplotlib.pyplot模块下的一个函数, 用于画图。它可以绘制点和线, 并且对其样式进行控制。

函数定义为plt.plot(*args, **kwargs)

import matplotlib.pyplot as plthelp(plt.plot) # 查看英文函数定义
  • *args, 可变位置参数, 以元组形式存放了很多无名参数.
  • **kwargs, 可变关键字参数, 以字典形式存放了很多关键字及参数. 调用时可传入
  • *args要放在**kwargs之前.
  • 本函数的*args, 允许传入多对x和y和一个可选的"格式控制字符串".
  • 本函数的**kwargs, 允许传入多个可选的关键字参数.

1. plt.plot(x, y) 

  • x为x轴数据, y为y轴数据。
  • x, y可传入(元组), [列表], np.array, pd.Series。
  • 也可同时传入多组。
import matplotlib.pyplot as pltimport numpy as npimport pandas as pd#示例一:x为x轴数据, y为y轴数据x=[3,4,5] # [列表]y=[2,3,2] # x,y元素个数N应相同plt.plot(x,y)plt.show()#示例二:x, y可传入(元组), [列表], np.array, pd.Seriesx=(3,4,5) # (元组)y1=np.array([3,4,3]) # np.arrayy2=pd.Series([4,5,4]) # pd.Seriesplt.plot(x,y1)plt.plot(y2)  # x可省略,默认[0,1..,N-1]递增plt.show() # plt.show()前可加多个plt.plot(),画在同一张图上#示例三:可传入多组x, yx=(3,4,5)y1=np.array([3,4,3])y2=pd.Series([4,5,4])plt.plot(x,y1,x,y2) # 此时x不可省略plt.show()

 结果示例:

2. plt.plot(x, y, "格式控制字符串")

点和线的格式可以用"格式控制字符串"设置,"最多可以包括三部分, "颜色", "点型", "线型"。

2.1 "颜色"与"线型"

如果只控制"颜色", 格式控制字符串还可以输入英文全称, 如"red", 甚至是十六进制RGB字符串, 如"#FF0000". python可用的"颜色"大全

    =============    ===============================    character        color    =============    ===============================    ``'b'``          blue 蓝    ``'g'``          green 绿    ``'r'``          red 红    ``'c'``          cyan 蓝绿    ``'m'``          magenta 洋红    ``'y'``          yellow 黄    ``'k'``          black 黑    ``'w'``          white 白    =============    ===============================
    =============    ===============================    character        description    =============    ===============================    ``'-'``          solid line style 实线    ``'--'``         dashed line style 虚线    ``'-.'``         dash-dot line style 点画线    ``':'``          dotted line style 点线    =============    ===============================
#示例import numpy as npimport pandas as pdimport matplotlib.pyplot as pltcolor=['b','g','r','c','m','y','k','w']linestyle=['-','--','-.',':']dic1=[[0,1,2],[3,4,5]]x=pd.DataFrame(dic1)dic2=[[2,3,2],[3,4,3],[4,5,4],[5,6,5]]y=pd.DataFrame(dic2)# 循环输出所有"颜色"与"线型"for i in range(2):    for j in range(4):        plt.plot(x.loc[i],y.loc[j],color[i*4+j]+linestyle[j]) plt.show()

输出结果: 

2.2 "点型"

    =============    ===============================    character        description    =============    ===============================    ``'.'``          point marker    ``','``          pixel marker    ``'o'``          circle marker    ``'v'``          triangle_down marker    ``'^'``          triangle_up marker    ``'<'``          triangle_left marker    ``'>'``          triangle_right marker    ``'1'``          tri_down marker    ``'2'``          tri_up marker    ``'3'``          tri_left marker    ``'4'``          tri_right marker    ``'s'``          square marker    ``'p'``          pentaGon marker    ``'*'``          star marker    ``'h'``          hexagon1 marker    ``'H'``          hexagon2 marker    ``'+'``          plus marker    ``'x'``          x marker    ``'D'``          diamond marker    ``'d'``          thin_diamond marker    ``'|'``          vline marker    ``'_'``          hline marker    =============    ===============================
#示例import numpy as npimport pandas as pdimport matplotlib.pyplot as pltmarker=['.',',','o','v','^','<','>','1','2','3','4','s','p','*','h','H','+','x','D','d','|','_','.',',']dic1=[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17]]x=pd.DataFrame(dic1)dic2=[[2,3,2.5],[3,4,3.5],[4,5,4.5],[5,6,5.5]]y=pd.DataFrame(dic2)# 循环输出所有"点型"for i in range(6):    for j in range(4):        plt.plot(x.loc[i],y.loc[j],"b"+marker[i*4+j]+":") # "b"蓝色,":"点线plt.show()

 3. plt.plot(x, y, "格式控制字符串", 关键字=参数)

本函数的**kwargs, 允许传入多个可选的关键字参数

#示例y=[2,3,2,4,5] # 青色,线宽10,星星,点尺寸50,点填充绿色,点边缘宽度6,点边缘青色plt.plot(y,color="c",linewidth=10,marker="*",markersize=20,         markerfacecolor="g",markeredgewidth=3,markeredgecolor="c")plt.show()

函数用法是总结的这篇文章matplotlib.pyplot.plot()参数详解两篇

python中的颜色表

来源地址:https://blog.csdn.net/m0_70813473/article/details/129838384

--结束END--

本文标题: 【python】plt.plot() 函数绘制loss曲线

本文链接: https://www.lsjlt.com/news/396835.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【python】plt.plot() 函数绘制loss曲线
    目录 一.  数据形式 (输入数据) 二.  绘图(完整代码) 三.  plt.plot() 函数 (调整图形) 1. plt.plot(x, y)  2. plt.plot(x, y, "格式控制字符串") 2.1 "颜色"与"线型" 2...
    99+
    2023-09-06
    pytorch 深度学习 python
  • Python绘制loss曲线、准确率曲线
    Python 绘制 loss 曲线、准确率曲线 使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt ...
    99+
    2023-10-05
    python 机器学习 人工智能
  • Python绘制loss曲线和准确率曲线实例代码
    目录引言一、数据读取与存储部分二、绘制 loss 曲线三、绘制准确率曲线总结引言 使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把...
    99+
    2024-04-02
  • caffe的python接口绘制loss和accuracy曲线
    目录引言anaconda库python接口实现引言 使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。...
    99+
    2024-04-02
  • 使用python的plot绘制loss、acc曲线,并存储成图片
    使用 python的plot 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt 文件中,待网络训练结束,我们再拿这...
    99+
    2023-09-07
    python 开发语言
  • Python中ROC曲线绘制
    首先以支持向量机模型为例 先导入需要使用的包,我们将使用roc_curve这个函数绘制ROC曲线! from sklearn.svm import SVC from sklea...
    99+
    2024-04-02
  • 用R语言绘制函数曲线图
    函数曲线图是研究函数的重要工具。 R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n = ...
    99+
    2024-04-02
  • Python实现绘制多种激活函数曲线详解
    利用numpy、matplotlib、sympy绘制sigmoid、tanh、ReLU、leaky ReLU、softMax函数 起因:深度学习途中,老师留一作业,绘制激活函数及其导...
    99+
    2023-05-16
    Python绘制激活函数曲线 Python 激活函数曲线 Python 曲线
  • 用Python绘制正弦曲线
     今天学了Python 绘制了一幅正弦曲线 哈哈 需要numpy  Python 库的支持 >>>import numpy as np >>> import matplotlib.pyplot as p...
    99+
    2023-01-31
    正弦曲线 Python
  • Python绘制牛奶冻曲线(高木曲线)案例
    前言: 牛奶冻曲线(blancmange curve),因在1901年由高木贞治所研究,又称高木曲线。 在单位区间内,牛奶冻函数定义为: 分形曲线的轮廓会随着阶数的增多而填充细节,...
    99+
    2024-04-02
  • Python中ROC曲线怎么绘制
    本篇内容介绍了“Python中ROC曲线怎么绘制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先以支持向量机模型为例先导入需要使用的包,我...
    99+
    2023-06-22
  • 怎么用R语言绘制函数曲线图
    这篇文章主要讲解了“怎么用R语言绘制函数曲线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用R语言绘制函数曲线图”吧!函数曲线图是研究函数的重要工具。R 中 curve() 函数可以绘...
    99+
    2023-06-08
  • Python Matplotlib绘制动图平滑曲线
    目录绘制动图FuncAnimationArtistAnimation使用 scipy.ndimage.gaussian_filter1d() 高斯核类绘制平滑曲线使用 scipy.i...
    99+
    2024-04-02
  • Python中怎么绘制各种曲线
    本篇文章为大家展示了 Python中怎么绘制各种曲线,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python 代码如下:import numpy as np ...
    99+
    2023-06-15
  • 使用R语言怎么绘制函数曲线图
    这期内容当中小编将会给大家带来有关使用R语言怎么绘制函数曲线图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。R 中 curve() 函数可以绘制函数的图像,代码格式如下:curve(expr, ...
    99+
    2023-06-15
  • Python+matplotlib实现简单曲线的绘制
    目录一、安装matplotlib二、测试 matplotlib三、 绘制简单的折线四、使用 scatter() 绘制散点图并设置其样式1、要绘制单个点2、要绘制系列点3、自...
    99+
    2024-04-02
  • 怎么利用Python绘制科赫曲线
    本篇内容主要讲解“怎么利用Python绘制科赫曲线”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Python绘制科赫曲线”吧!1. 递归1.1 定义函数作为一种代码封装, 可以被其他程序...
    99+
    2023-06-30
  • C#使用Chart绘制曲线
    本文实例为大家分享了C#使用Chart绘制曲线的具体代码,供大家参考,具体内容如下 新建一个控制台应用程序,程序名:WindowsFormsApp2,将下面的代码拷贝进去即可 usi...
    99+
    2024-04-02
  • Android利用HelloChart绘制曲线
    本文实例为大家分享了Android利用HelloChart绘制曲线的具体代码,供大家参考,具体内容如下 1、将jar包放到app下的libs文件夹中 2、build.gradle(a...
    99+
    2024-04-02
  • MATLAB怎么用数据绘制曲线图
    要使用MATLAB绘制曲线图,可以按照以下步骤进行:1. 准备数据:首先,准备好要绘制的数据。可以是向量、矩阵或表格数据。2. 创建...
    99+
    2023-10-08
    matlab
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作