CNN
前期文章我们分享了tensorflow 的手写数字识别的训练以及识别过程,有网友私信是否写一下pytorch训练识别过程,本期文章我们来分享一下pytorch的手写数字训练人工智能TensorFlow(十六)MNIST手写数字识别
说到图片识别就不得不提卷积神经网络,我们会在后期详细介绍,或者参考小编往期的文章
读懂卷积神经网络
https://tensorspace.org/
pytorch自从发布了1.0版本后,得到了广大网友的欢迎与喜爱,本期我们利用pytorch来重构tensorflow的手写数字识别的代码,本期是训练篇,识别篇我们后期分享。pytorch的安装可参考《每天一分钟,python一点通》教程,有关pytorch的知识点,也会在《每天一分钟,python一点通》专栏分享,pytorch的手写数字识别,跟tensorflow代码思路几乎一样,若你了解tensorflow的代码训练过程,本期便很容易理解了
1、导入第三方库
2、设置测试数据集与训练数据集
3、提取数据集数据
31 从测试集数据中提取2000个图片数据
input height(输入通道数)
out_channels=32, filter size(卷积核大小)
stride=1, 如果想要 con2d 出来的图片长宽没有变化, (外部边缘补0)
第一层卷积
x = self.conv2(x) 展平多维的卷积图成 (batch_size, 32 * 7 * 7)
output = self.out(x) # 全连接
return output
5、训练神经网络
pytorch的训练跟tensorflow的训练类似,我们建立loss函数,建立优化器,训练的目的是使用优化器让loss梯度下降,使loss越来越小,我们每50步查看一下神经网络的训练结果
6、测试神经网络
神经网络训练完成后,我们使用测试集的数据,进行一下神经网络的测试,看看训练的结果
7、保存神经网络
最后我们保存一下神经网络,以便后期识别数字使用
以上便是整个神经网络的手写数字识别过程,我们保存了神经网络的训练参数,后期我们会是使用训练好的参数,进行神经网络的具体图识别
从训练结果看,第一次的loss很大,精度很低,随着训练的步数增加loss也越来越小,精度也越来越大
从测试集中提取了10个数据,其预测结果完全正确
http://scs.ryerson.ca/~aharley/vis/conv/
小伙伴们可以使用在线3D可视化网站,查看CNN的结构
小编开发了小程序,可以体验不同的AI工具
微&*信搜索:启示AI科技
体验不一样的AI工具
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除
热门信息
阅读 ()
1 注册微信号怎么注册第二个阅读 ()
2 怎么把照片变成卡通头像阅读 ()
3 手机越充越少电怎么解决