窝牛号

人工智能与机器学习Pytorch手写数字识别-MINIST数据集识别篇

上期文章,我们分享了Pytorch手写数字的训练,当pytorch训练完成后,保存了训练的参数,方便本期使用预训练参数,进行手写数字的识别,我们准备一个手写数字的图片,可以自己在画图软件中,直接写个数字

手写数字

1、导入第三方库

导入第三方库

2、建立神经网络

神经网络的建立与上期分享的训练篇完全一致,本期不再介绍代码意思,小伙伴们可以参考上期文章

CNN神经网络建立

训练CNN神经网络

3、处理输入图片

在数字图像处理中,针对不同的图像格式有其特定的处理算法。

PIL九种不同模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F

一、模式“RGB”转换为其他不同模式

1、模式”1”

为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白。下面我们将lena图像转换为“1”图像。

img=img.convert(“1”)

2、模式“L”

为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换:

img=img.convert(“L”)

L = R * 299/1000 + G * 587/1000+ B * 114/1000

图片处理

39 转灰度

45 提取每列像素点

这里的0 代表的是黑,1 代表白,但是minist数据0代表白,1代表黑

格式化成minist数据

52转换为pytorch tensor数据

MINIST数据

4、使用神经网络预测手写数字

预测代码

57 新建一个CNN神经网络,我们采用CUDA来进行加速

59 使用eval函数展开model

61 提取预测结果

5、查看运行预测结果

运行结果

我们输入的是5的图片,神经网络预测也是5

神经网络

微@信搜索:启示AI科技,

体验不一样的AI工具

新增垃圾分类功能

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除

窝牛号 wwww.93ysy.com   沪ICP备2021036305号-1