MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2669字,纯文字阅读大概需要4分钟。
内容图文
版权声明:本文为博主原创文章,欢迎转载,并请注明出处。联系方式:460356155@qq.com
在前两篇文章MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一)、MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(二)中,采用全连接神经网络(784-300-10),分别用非深度学习框架和基于pytorch实现,训练结果相当。
这里采用卷积神经网络(CNN)中著名的LeNet-5网络来训练,除了网络定义部分外,其他代码基本和MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(二)相同。
网络定义代码:
1 # 定义网络模型 2 class LeNet(nn.Module): 3 def __init__ (self): 4 super(LeNet, self).__init__() 5 6 self.cnn = nn.Sequential( 7#卷积层1,单通道输入,6个卷积核,核大小5*5 8#经过该层图像大小变为28-5+1,24*24 9#经2*2最大池化,图像变为12*1210 nn.Conv2d(1, 6, 5), 11 nn.ReLU(), 12 nn.MaxPool2d(2), 1314#卷积层2,6通道,16个卷积核,核大小5*515#经过该层图像变为12-5+1,8*816# 经2*2最大池化,图像变为4*417 nn.Conv2d(6, 16, 5), 18 nn.ReLU(), 19 nn.MaxPool2d(2) 20 ) 2122 self.fc = nn.Sequential( 23# 16个feature,每个feature4*424 nn.Linear(16 * 4 * 4, 120), 25 nn.ReLU(), 26 nn.Linear(120, 84), 27 nn.ReLU(), 28 nn.Linear(84, 10) 29 ) 3031def forward(self, x): 32 x = self.cnn(x) 33 x = x.view(x.size()[0], -1) 34 x = self.fc(x) 35return x
网络训练结果准确率约在99%,LeNet-5比前面的全连接神经网络高1.x%。运行结果如下:
train data num: 60000 , test data num: 10000
epoch:0 i:999 loss:0.11399480700492859
epoch:0 i:1999 loss:0.1237913966178894
epoch:0 i:2999 loss:0.12948277592658997
EPOCH:0, ACC:97.5
epoch:1 i:999 loss:0.006639003753662109
epoch:1 i:1999 loss:0.0011253952980041504
epoch:1 i:2999 loss:0.03325369954109192
EPOCH:1, ACC:98.35
epoch:2 i:999 loss:0.0021111369132995605
epoch:2 i:1999 loss:0.2714851200580597
epoch:2 i:2999 loss:0.0016380250453948975
EPOCH:2, ACC:98.64
epoch:3 i:999 loss:0.00033468008041381836
epoch:3 i:1999 loss:0.05128034949302673
epoch:3 i:2999 loss:0.1222798228263855
EPOCH:3, ACC:98.65
epoch:4 i:999 loss:0.0006810426712036133
epoch:4 i:1999 loss:0.002728283405303955
epoch:4 i:2999 loss:0.000545889139175415
EPOCH:4, ACC:98.89
epoch:5 i:999 loss:0.006086885929107666
epoch:5 i:1999 loss:0.07402010262012482
epoch:5 i:2999 loss:0.03638958930969238
EPOCH:5, ACC:98.93
epoch:6 i:999 loss:0.0002015829086303711
epoch:6 i:1999 loss:0.0004933476448059082
epoch:6 i:2999 loss:0.03196592628955841
EPOCH:6, ACC:99.02
epoch:7 i:999 loss:0.01734447479248047
epoch:7 i:1999 loss:2.9087066650390625e-05
epoch:7 i:2999 loss:0.018512487411499023
EPOCH:7, ACC:98.73
epoch:8 i:999 loss:4.70280647277832e-05
epoch:8 i:1999 loss:0.008362054824829102
epoch:8 i:2999 loss:2.9206275939941406e-06
EPOCH:8, ACC:98.84
epoch:9 i:999 loss:0.00012737512588500977
epoch:9 i:1999 loss:0.00020432472229003906
epoch:9 i:2999 loss:0.00022774934768676758
EPOCH:9, ACC:99.1
MINIST pytorch LeNet-5 Train: EPOCH:10, BATCH_SZ:16, LR:0.05
train spend time: 0:01:05.897404
损失函数值变化曲线为:
原文:https://www.cnblogs.com/zhengbiqing/p/10408358.html
内容总结
以上是互联网集市为您收集整理的MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)全部内容,希望文章能够帮你解决MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(三)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。