pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

我用的是Anaconda3,用世爵编写pytorch的代码,在Anaconda3中新建了一个pytorch的虚拟环境(虚拟环境的名字就叫pytorch)。

  

<强>以下内容仅供参考哦~ ~

  

1。首先打开蟒蛇提示,然后输入激活pytorch,进入pytorch。

  

2。输入pip安装tensorboardX,安装完成后,输入python,用从tensorboardX进口SummaryWriter检验是否安装成功。如下图所示:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

3。安装完成之后,先给大家看一下我的文件夹,如下图:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

假设用LeNet5框架识别图像的准确率,LeNet.py代码如下:

        进口火炬   进口火炬。神经网络是神经网络   从torchsummary进口总结   从火炬。autograd导入变量   进口torch.nn。功能和F      类LeNet5 (nn.Module): #定义网络pytorch定义网络有很多方式,推荐以下方式,结构清晰   def __init__(自我):   超级(LeNet5自我). __init__ ()   自我。conv1=nn。Conv2d (3、6、5)   自我。conv2=nn。Conv2d(5) 6日16日   自我。fc1=nn。线性(16 * 5 * 5,120)   自我。fc2=nn。线性(120、84)   自我。一个fc3=nn文件。线性(84 2)   def向前(自我,x):   #打印(x.size ())   x=F.max_pool2d (F.relu (self.conv1 (x)), (2, 2))   #打印(x.size ())   x=F.max_pool2d (F.relu (self.conv2 (x)), 2)   #打印(x.size ())   x=x.view (x.size()[0], 1) #全连接层均使用的nn.Linear()线性结构,输入输出维度均为一维,故需要把数据拉为一维   #打印(x.size ())   x=F.relu (self.fc1 (x))   #打印(x.size ())   x=F.relu (self.fc2 (x))   #打印(x.size ())   x=self.fc3 (x)   #打印(x.size ())   返回x      网=LeNet5 ()   data_input=变量(torch.randn(32 16日3日,32))   print (data_input.size ())   净(data_input)   打印(总结(净(3 32 32)))      

示网络结构如下图:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

训练代码(LeNet_train_test.py)如下:

        # - * -编码:utf - 8 - *   ”“”   创建alt=" pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率">

  

样本图像是pytorch官网中介绍迁移学习时用到的,蚂蚁与蜜蜂的二分类图像,图像大小不一.LeNet5的输入图像是32 * 32,所以进行分类时会损失一定的图像像素,导致识别率较低。

  

下面介绍显示损失和acc曲线,在以上训练代码中,作家=SummaryWriter (LeNet5)表示在训练过程中会生成LeNet5文件夹,保存损失曲线和acc曲线的文件,如下图:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

首先解释一下这个文件夹为什么是1,因为我之前训练了很多次,在LeNet5文件夹下有很多1文件夹中这样的文件,待会用蟒蛇提示来显示损失和acc的时候,它只识别一个文件,所以我就重新建了一个1文件夹,并将刚刚运行完毕的文件放到文件夹中。在LeNet_train_test。py中,作家。add_scalar(火车/损失,epoch_loss时代)和

  

writer.add_scalar(火车/Acc, epoch_acc时代),这两行代码就是生成的列车数据集的损失和Acc曲线,同理测试数据集亦是如此。

  

好啦,下面开始显示损失和acc:

  

1。打开蟒蛇提示,再次进入pytorch虚拟环境,

  

2。输入tensorboard logdir=,红色部分是来自上图文件夹的根目录,按回车键,会出现tensorboard的版本和一个网址,总体显示效果如下图:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

复制网址到浏览器中,在此处是复制:http://8AEYUVZ5PNOFCBX: 6006到浏览器中,

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

  

最终结果如下图:

  

 pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率

pytorch绘制并显示损失曲线和acc曲线,LeNet5识别图像准确率