加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

学习浦育平台上的手写数字识别

(2024-06-18 15:37:53)
分类: 研究-学习
很早前就关注了浦育平台,一直想实践学习。一来没有完整的时间,二来有时学着学着就伴随着各种坑而原地踏步了。
最近在看杨立昆和李飞飞的自传,这两个深度学习的大神在书中都提到了彼此,看了他们的故事,不知不觉中也强化了自己对AI的学习热情。
杨提到了他们90年代末开发的AI识别手写数字的故事,后来在邮政分拣系统中使用、在识别银行支票数字金额中使用,取得了较好的识别效果,这个手写体的数据集名叫mnist,模型用了杨立昆的名字命名LeNet。(Le Cun)
看了这些再看上海人工智能实验室谢作如老师他们开发的6行代码实现手写数字识别的程序,感觉一下子就顺畅了很多。
由此也生出了一个通过了解历史、情境代入式的学习方式,更易于打开学习通道,提升学习潜力。
===============
#导入基础库
from MMEdu import MMClassification as cls
#第一步:实例化模型
model = cls(backbone='LeNet') # 实例化模型为model
#第二步:配置基本信息
model.num_classes = 10 # 手写体的类别是0-9,共十类数字
model.load_dataset(path='/data/mnist') # 从指定数据集路径中加载数据
model.save_fold = 'checkpoints/cls_model/231221' # 模型保存路径,可自定义最后一个文件名

#第三步:开始训练模型
#cpu训练,GPU训练在参数中加入device='cuda'即可
model.train(epochs=10, lr=0.01, validate=True) # 训练模型(CPU)
-==================
昨天使用在线版本运行了一遍,还比较顺利,之前执行不过去的语句基本上一遍到两遍就顺利通过了。主要学习了手写数字的训练以及手写数字的识别,对基本过程有了更深入的体会。
昨天在手写数字训练后的具体识别环节还出了一个小插曲,一开始我在画图中书写的数字(黑底白字)怎么都不能正确识别,我还以为是训练阶段出现了问题,特意又继续训练了一遍,发现还是同样的问题,手写了多个数字都不能准确识别。
后来想到查看例程中的数字图片,一看只有28*28像素大小,而我在画图中直接生成的图片都是几个M的大小。立马在PS中新建了28*28的黑色背景PNG图片,在“画图”软件中画出数字,导入程序中便能够准确识别。

今天想体验一把在本机运行的过程,pip了MMedu,后来按照出错提示又pip mmcv,【为提高速度可以在后面切换镜像如清华大学镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 】又请教群里陆雅楠老师下载了mnist数据集,但是运行还是一再出错,直到最后提示“OSError: [WinError 193] %1 不是有效的 Win32 应用程序。”发现这基本不是简单的pip安装库能够解决的问题了。

转念一想,之前也学习过他们介绍的MMEdu本地化部署的一键安装包(计算机视觉库MMEdu — OpenXLabEdu 文档 (xedu.readthedocs.io))。期望能实现在本机运行的朴素愿望。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有