ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)
ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)
2024-06-27 02:15:59  作者:你大颖姐  网址:https://m.xinb2b.cn/life/nfc129517.html

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​【摘要】本次实践基于mobilenetV2 实现猫狗图像分类,贯穿了数据集获取及处理、预训练模型微调及迁移、端侧部署及推理等环节和知识点,体会到了MindSpore 简单的开发体验和全场景快速部署的魅力。

作者:胡琦

startTime: 2021年1月23日00:43:22

endTime: 2021年1月23日11:34:44

(包含学习、睡觉、吃饭、爬坑、水文……的时间)

了解MindSpore开源生态

发现一个小秘密。 github 上多三个仓库,是什么呢?

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(1)

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(2)

此处应是 github 过滤的 bug ,实际上mindspore-ai 有 15 个仓库, 比 gitee 多出来的三个是:

mindspore-21-days-tutorials、 mail_templates、 infrastructure

别看这 3 个不起眼的仓库,在社区建设方面却大有作为。比如,mindspore-21-days-tutorials 是我们之前参加 21 天实战营的参考代码和指导文档,多么宝贵的学习资料;另外两个是 MindSpore 的开源基础建设,其中 infrastructure 包含了用于配置 Mindspore 社区的所有必需 Dockerfile 和 YAML 文件,并借助 Github 的 Action 定时自动同步 Gitee 的代码到 Github 。

训练时长截图

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(3)

手机识别截图

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(4)

学结

在学习之前我以为我会了,但真正实践起来还是磕磕碰碰,所有的代码似曾相识,都是 26 个字母加一些符号组成,但真正去理解还是发现基本功不够:一是不知道怎么写,二是不知道为什么要这么写。尽管如此,我大概理顺了整个实践流程:训练猫狗图像分类模型(云端) --> 手机端推理及应用 --> 从 “1” 开始 Fine Tune 模型(本地) --> 手机端验证 ,当然作为学渣,整个操作过程肯定不止一个小时, 深刻体会到“眼睛:学会了,脑子:学废了!”,因此必须借此帖记录一下“学废了”的过程。

目的

本次实践基于 mobilenetV2 实现猫狗图像分类,贯穿了数据集获取及处理、预训练模型微调及迁移、端侧部署及推理等环节和知识点,体会到了 MindSpore 简单的开发体验和全场景快速部署的魅力。

项目目录

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(5)

依赖安装

本次实践依赖opencv-python和 matplotlib,一个用来处理图形比如打印图片和嵌入文字,一个用来将数据集以可视化图片的形式展现出来。

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(6)

数据预处理

主要删除一些不符合要求(如非JPEG格式)的图片并分割 train 和 eval 数据集,默认9:1:

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(7)

Fine tune

执行Fine tune脚本train.py,并生成模型文件:

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(8)

此时会弹窗提示6张图片,这是因为脚本会在正式训练前从数据集中抽取6张图片载入当前模型文件,需要手动关闭才能继续,这是 AI 很傻,全都识别成了 Dog 。

当然,我这边由于机器的原因,没少踩坑,这不“出师未捷身先死”,突然的报错把我整蒙了,将所有

num_parallel_workers

参数设置为4之后,继续训练!

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(9)

这一步耗时就和本地机器的性能有关了,我的粗粮渣渣机大概跑废了。趁着训练的空档,学习了一些代码。作为新晋调参学徒,我大概知道参数和配置在code\src\args.py和code\src\config.py这两个文件,而数据的加载在code\src\dataset.py这个文件处理,code\src\mobilenetV2.py定义了模型,code\src\models.py这个文件读取和保存模型并打印输出训练日志。

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(10)

训练完成会,又会调用predict_from_net方法来显示预测的图片和标签,这回我们发现 AI 挺棒的,全部识别正确! 当我满怀信心点击关闭的时候,以为程序立马会给我一个mobilenetv2.mindir,结果我又蒙了,返回了一串错误日志!!!

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(11)

一开始我以为是文件层级太深了,将文件目录迁移到盘的根目录,重来重来!好在不需要再次加载数据集了,不然又得漫长的等待。 满怀信心结果又被“啪啪啪”打脸,之后群里请教一遍之后,王辉老师建议我把路径改成文件名再试试,果然立马奏效~

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(12)

终于如愿以偿,code\mobilenetv2.mindir她来了!

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(13)

手机端推理及应用

训练模型转换

将.mindir模型文件转换成.ms文件,.ms文件可以导入端侧设备并基于MindSpore端侧框架训练。

F:\MindSporePetClassification\converter>call converter_lite --

fmk=MINDIR --

modelFile=f:\MindSporePetClassification\code\mobilenetv2.mindir --outputFile=pet

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(14)

我们可以下载 MindSpore 官方提供的 AndroidAPP 源码:

https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/lite/pet_classification

或者直接下载打包好的 APP 安装到手机:

https://download.mindspore.cn/model_zoo/official/lite/apk/pet/petclassification.apk

先体验下预训练模型的识别效果:

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(15)

接着我们把转换好的模型移动到手机端的/sdcard/PetClassification,这里用到的是 ADB 工具:需要确保手机已开启开发者模式并打开文件传输

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(16)

再试试识别效果:

ai程序如何编写(仅需CtrlC和V一小时带你入门AI开发工程师)(17)

对本次实践 APP 端代码感兴趣的小伙伴可以直接去阅读源码:

https://gitee.com/mindspore/mindspore/blob/master/model_zoo/official/lite/pet_classification/app/src/main/java/com/mindspore/classificationforpet/widget/MainActivity.java

本文分享自华为云社区《Copy攻城狮1小时入门AI开发工程师》,原文作者:胡琦。

点击关注,第一时间了解华为云新鲜技术~

  • nba历史十大被高估的球员 美媒评5大被高估球星
  • 2024-06-27nba历史十大被高估的球员 美媒评5大被高估球星美媒clutchpoints近日评选了即将到来的2019-20赛季5大被高估球星2019年状元秀锡安排名第一,有3位今年夏天拿到亿元合同的球员榜上有名,而湖人新星库兹马也位列其中5.凯尔·库兹马(湖人。
  • 南怀瑾 修行六个阶段(修道先要了解的事和基础知识)
  • 2024-06-27修道先要了解的事和基础知识我说参同契上1许冬婷1第二讲想成仙的大人物们刚才讲到王阳明这个理学家,他也学过佛,学过道,打坐功夫很好学佛走的是天台宗止观这个路线,修道家走的是哪一派的丹法没有资料可查有一点在他的传记里记载,当时有一。
  • 孩子语言表达能力强的表现(孩子话多是表达能力强)
  • 2024-06-27孩子话多是表达能力强文|好孕姐有的孩子,才两岁就话特别多,能跟家长交流很多问题有的孩子,上了高中还不太爱说话,平时与人相处话特别少那么,孩子话多就是表达能力强吗?不尽然,有的孩子话多,可能说的都是一些“废话”,没重点,没。
  • 赵文卓最巅峰时刻(武打明星赵文卓)
  • 2024-06-27武打明星赵文卓说起影视圈的明星,他们除了在事业上的发展被众人津津乐道之外,感情成为了我们所谈论的最多话题,不知大家对于武打明星赵文卓的感情生活了解有哪些呢?从小就学会了武术的赵文卓赵文卓出生在武术世家之中,父亲是武。
  • 没被破解的甲骨文(破解专家没有破解出来的甲骨文探秘之七)
  • 2024-06-27破解专家没有破解出来的甲骨文探秘之七破解专家没有破解出来的甲骨文探秘之七(原创)作者:自然村子本人根据甲骨文,象形,会意等构字特点推测破解以上甲骨文图片从上到下从右向左可破解读作为:甲庚乙(生)(二)子丙寅孕(胎)双胎戊戌(或辰)己添娃。
  • 含金量比较高的证书以及报考条件(我国含金量很高的3个证书)
  • 2024-06-27我国含金量很高的3个证书大学时期,就有很多同学听说了可以考很多证书什么心理咨询师、设计师,很多相关的方面都有证书可以考,考下来不仅对自己以后找工作有用处,还可以在大学的时候加分不过各个证书的含金量是不同的很多证书非常好考,可。
  • 怀孕了身体有什么样的变化(如何知道自己怀孕了)
  • 2024-06-27如何知道自己怀孕了一些备孕的准妈妈们都想了解一些怀孕后身体可能存在的变化,来判断自己是否真的怀孕了其实怀孕后,身体确实会有一些改变,但是我们由于工作和生活的压力,往往会忽略一些细节今天我们就来梳理一下这些容易被忽略的细。
  • 驼色大衣如何穿不俗不土不撞衫(为什么你穿驼色大衣容易)
  • 2024-06-27为什么你穿驼色大衣容易驼色,是基于沙漠、骆驼、岩石和大地的自然色调,质朴而沉静,被应用于时尚穿搭中,它是最令人放心的颜色在冬季,驼色大衣的美,是一种矛盾的美,明明很低调,却又能很时髦,明明带着朴实的“乡土味”,但只要搭配得。
  • 怎么才能考健身教练证(如何考私人健身教练证呢)
  • 2024-06-27如何考私人健身教练证呢近几年来说健身行业的得到了快速的发展,目前全国各个城市都有大大小小的健身房和健身俱乐部,健身教练一时间成为了炙手可热的职业,但是想成为健身教练或者私人健身教练来说并不是那么容易的规定想要成为健身教练是。
  • 华为p9刷什么系统最流畅(华为p9卡顿怎么解决)
  • 2024-06-27华为p9卡顿怎么解决华为p9卡顿怎么解决1、定期清理加速手机并删除垃圾文件;2、若手机安装有MicroSD卡,尝试移除或更换;3、晚上休息时将手机不关机充电静置;4、备份重要数据后,将手机恢复出厂设置;5、将不使用的软件。