作为人工智能专业的学生,在认知实习中学到了不少有关人工智能的算法、功能。
其中比较经典的就是手写字符识别了,下面就来说一下吧。
首先是搭建环境,我们使用PyTorch训练一个卷积神经网络来识别MNIST的手写数字。 先去官网上根据指南在PC上装好PyTorch环境,然后引入库。
然后是数据准备,
当然是选择用MNIST,文件夹中数据共分为两类,即训练用和测试用,训练用样本非常多,从0到9每个样本文件夹中都有至少五千个图片,而作为测试用的图片也有一万之多。
其次就是代码,
我们使用的是github上面下载的代码,使用pycharm运行
刚放进来就开始运行会报错,因为没有设置运行参数,代码无法检测到训练的内容,要手动在编辑配置中设施参数目录,即上面所说的MNIST中训练所用图片所在的文件夹。到这里就可以开始训练了。
总的来说训练的成功率增长算蛮快的,到3/30时就基本维持在百分之九十六以上了,后面也稳定保持在0.96到0.99之间,甚至出现百分之百样本的数据之多使这件事成为了可能。
至于测试方面,代码算比较简洁:
运行的话会在屏幕左上角打开一个image,而在pycharm的运行结果底部会输出识别到的数字,如下:
可以看到给出的图片是一个比较勉强的“4”,笔者认为很多正常人都认不出来的数字,但是程序却识别出来了,这就是人工智能的奥妙所在,这种识别能在很多时候为我们的生活带来便捷,比如需要用电子笔让人在电子屏上写下数字并记录下来用作某项功能,这种程序就能很好的派上用场。