转载地址:ModelArts+MindSpore,前端小工和"MM"玩转AI_MindSpore_昇腾论坛_华为云论坛

作者:胡琦

ModelArts+MindSpore,前端小工和"MM"玩转AI

首个全场景AI实战营-- MindSpore 21天实战营在全网疯狂拉票的最后一场较量中落下帷幕,然而“See the future with ModelArts + MindSpore”,同时AI学习之路永不止步。本文将回顾我在MindSpore实战营中的踩坑经历,揭秘前端小工如何借助一站式AI开发平台 ModelArts 和全场景AI框架 MindSpore 玩转AI。对,仅仅是玩,正如李大钊所说“玩要玩得痛痛快快”,当您刚接触“MM”,相信您也能玩得痛快、玩转AI。

前言

继上一次分享“Hello MindSpore”刚刚过去一个月,不过苦于没有足够支撑体验 MindSpore 的本地硬件,于是转战 ModelArts 云端资源,恰好这次实战营也有80%的案例可以基于 ModelArts 的昇腾环境实现,所以就有了本次的分享--零基础和“MM”玩转AI

国际惯例,先简单介绍一下自己。非著名Copy攻城狮胡琦,虽然做了4年前端,不过水平属于“工作4年4个月经验”的那种,尽管基础不扎实,却喜欢折腾新事物。比如鸿蒙,尽管只写了一篇 HelloWorld 获得近3w的阅读量--华为松山湖“火了”,我的鸿蒙HelloWorld没事吧;比如开源问答机器人,一篇EI应用的博客也获得1w+点击量,也有幸在开源年会上露脸。今年有幸接触到华为云AI,通过华为云AI实战营了解到一站式开发平台ModelArts,发现零基础也能通过 ModelArts 训练模型、部署发布模型服务,通过 MindSpore 实战营也意识到全场景AI框架在应用层并没有想象中的那么难,因为通过官方给出的代码和文档,我们能轻松体验到亲自动手处理数据集、预训练模型、微调、模型发布部署等等以往我都不敢尝试的AI开发。以往,我和大多数人一样,眼看AI技术已经应用在生活的各方各面,就连前端切图仔的活也被AI干了,而我却只能望AI而兴叹,直到遇到了“MM”,也是就是 ModelArts 和 MindSpore ,让我意识到零基础也能玩AI,更关键的第一点还结识了很多大佬,至少今年1024蹭的 ModelArts 那个饭局接触到的大佬是我不敢想象的--华为云EI陈亮陈总、旅居在强国的Richard、“借力ModelArts升职加薪”的建行客户经理袁覃……

说回正题,接下我将简单介绍一下“MM”,回顾一下我在MindSpore实战营中如何使用“MM”,通过一个简单的案例体验ModelArts+MindSpore,最后也会有个简单的总结和建议。

认识“MM”

说到ModelArts和MindSpore,就不得不提到2018年华为提出的AI全栈解决方案。这是华为AI全栈解决方案的概要图,从底层的芯片到芯片使能再到AI框架及应用使能,这套解决方案非常完备,而我们今天的主角ModelArts和MindSpore可以说占据了一半的分量,"MM"在AI全栈体系中的地位是当之无愧的“扛把子”。如果能掌握ModelArts和MindSpore,玩转AI应该也不在话下,这里安利一下华为智能计算技术丛书,听说JeffDing大大已集齐六本,学好人工智能最好的时间是十年前,其次是现在!

ModelArts

一站式AI开发平台ModelArts,无论是数据处理还是模型训练,甚至模型部署,在ModelArts上统统能搞定。对于零基础的小伙伴,推荐玩下自动学习,涵盖了物体检测、图像分类、声音分类、文本分类、预测分析等模块,也可以体验一下预置算法和AI市场,AI市场目前包括模型、算法、数据集,未来还会新增挑战等模块,另外数据处理如清洗增强等功能都值得新手体验。当然,目前我感觉最好用的就是我的笔记本功能,即开即用,多种环境可选择,内部消息说“值得期待”!想为ModelArts做贡献,那就来ModelArts-Lab:https://github.com/huaweicloud/ModelArts-Lab

MindSpore

全场景AI框架MindSpore,华为开源自研AI框架,支持自动微分、并行加持,一次训练,可多场景部署。支持端边云全场景的深度学习训练推理框架,主要应用于计算机视觉、自然语言处理等AI领域,面向数据科学家、算法工程师等人群(当然也面向Copy攻城狮)。主要具备基于源码转换的通用自动微分、自动实现分布式并行训练、数据处理、以及图执行引擎等功能特性。借助自动微分,轻松训练神经网络。框架开源,华为培育AI开发生态(当然也希望在看的各位加入华为云AI社区)。MindSpore着重提升易用性(AI算法即代码)并降低AI开发者的开发门槛,至少对于我这种Copy攻城狮而言,很快就能跑通Hello MindSpore。那学习MM难吗?可以肯定的是不难,只要找对方向和方法并能坚持。当然,踩坑是避免不了的。

回顾实战营踩坑经历

鉴于我目前所处的学习阶段,面临最大的问题就是环境,这一点在实践中尤为突出。回顾这次 MindSpore 实战营,我们完成了基于MindSpore Lite开发目标检测的安卓APP实战、基于BERT实现中文新闻分类实战、 MindSpore基于ResNet50实现毒蘑菇识别实战、 MindSpore基于YOLOv3实现篮球检测模型实战、MindSpore基于Wide&Deep实现CTR预估实战,接触到的模型有MobileNet、SSD、BERT、ResNet50、YOLOv3、Wide & Deep,每堂课上我们的MindSpore布道师都会先从应用场景开始,介绍各模型的基础知识,讲解实战代码,最后还会给出指导文档,简直是保姆级教学!尽管如此,我还是遇到了很多坑。

MindSpore Lite实战遇到的坑

最开始我尝试安装本地的MindSpore环境,因为是windows系统,选择了WLS搭建,经过一路坎坷的尝试,终于放弃了,最后只得使用MindSpore提供的已经转换好的MobileNet和SSD模型。当时还遇到了一个谜一般的坑:编译Android APP的时候提示本机连接失败,最后排查到是因为电脑开启了热点,关闭调热点重新Build就成功了。

BERT在Notebook环境下遇到的坑

在Notebook的环境下运行脚本时会提示No module named 'src',这是因为需要切换到执行目录,另外还需执行Sync OBS操作,因为我们新建的MindSpore昇腾环境是连接OBS的,需要同步OBS的文件。当然要成功运行除了Copy代码,还需要对入参做简单的修改。

另一个问题就是会遇到设备断开,至于原因我没有深入去探索,最终是重启Notebook解决的。

ResNet50在Notebook环境下遇到的坑

主要是OpenCV在使用上遇到GUI相关的.so文件找不到,尝试了各种方法都没有解决之后,直接转用了ModelArts训练任务的昇腾环境(不过马上就要公测结束了,看来OpenCV这个问题亟需解决!!!)

另一个坑是实战代码上存在小小的纰漏,按照JeffDing帖子的提示:

YOLOv3在训练环境下遇到的坑

首先同样存在OpenCV引入失败的问题,其次在ModelArts训练任务的昇腾环境中也存在无法读取视频的问题(目前还是不知道怎解决),最终也是退而求次,在ModelArts的我的笔记本中完成了视频的分割和合成。这里再次安利一下我的笔记本,好不好用谁用谁知道?轻量级的数据处理、模型训练、参数调优都可以玩玩。

另一个就是预测结果上存在识别框重复、准确度太低的结果也被标注的问题,这里通过通过调整perdict的参数nms_thresh和ignore_threshold再重新预测可以在一定程度上优化。

Wide & Deep 过拟合及10%数据集训练失败

过拟合是AI开发中最常见的问题,什么是过拟合?何老师在答疑时举的栗子非常形象,想知道吗?可以期待一下MindSpore的下一次直播!在Wide & Deep模型中,简单粗暴的操作就是可以通过数据增强来避免。

不过当我想用10%的数据集来训练的时候,发现在打开数据集文件时报错了,也许需要拆分为多个文件,不过后续就没有再探索了。我想目前对于我而言,深入一下MindSpore Lite将来在Flutter上能应用AI模型也是不错的选择;另外MindSpore模型的部署也值得深入学习一下,这样API调用师就有“自研”的API调用啦。

“MM”初体验

这次 ModelArts + MindSpore的体验,我选用Notebook MindSpore 0.50版本昇腾910环境就能实现的BERT中文新闻分类。基于 mindspore-21-days-tutorials,将chapter2/bert 代码目录及相关数据集文件在Notebook中下载上传到当前环境的OBS中,执行Sync OBS,新建MindSpore框架的.ipynb脚本加入路径切换的代码,将run_pretrain.py的代码复制过来,修改入参,执行即可进行模型训练(代码也支持训练完直接预测,传入predict参数就行)。

Copy pretrain_eval.py同样新增路径切换的代码,修改入参即可实现对输入的新闻进行分类预测。整个流程十分简单,也不涉及到训练任务中昇腾资源的长时间排队(还没有了解正式商用之后Notebook中的昇腾资源是否也按标准收费,之前公测有时候排队挺久的)。

总结及建议

总结部分主要是我个人方面的,一是进一步熟悉了ModelArts,之前比较少用PyCharm Toolkit,后来发现JB系列的IED同样支持这个插件,比如偶尔也在IEDA中使用ModelArts,编(拷)写(贝)完代码稍作修改就可以直接训练!二是进一步了解了MindSpore,记得上次分享“Hello MindSpore”的时候,我说期待MindSpore.js,不过现在可以尝试探索在HarmonyOS中使用MindSpore Lite,依旧期待MindSpore.js,当然也许是不切实际的想法,这次实践营也给了我学习AI的方向,希望自己能坚持下去,多向各位大佬学习;最后的收获,也是对输入--输出学习模式的肯定,我又有文章可以水了,加上这篇,足足6篇,按以往的频率这可是我半年的产量啊!

建议部分主要是针对此次训练营活动的。能够上榜Top12,我真的感到十分意外,深究其原因,不是我足够认真对待学习,二是活动参与的基数太小,换而言之就是开发者的参与度不高。记得之前某强化学习营好几千人参与,其中很多相关专业的高校生。结合这一点,我的建议是希望MindSpore能适当加强宣传力度,尤其是在高校群体中,毕竟那是未来的主力军;其次就是内部资源的整合,之前参与的AI实战营也鲜有MindSpore的案例,包括目前的AI全栈计划在运营中也可以适当加些MindSpore元素,毕竟好不好用?用了才知道!

似乎最后才是重点,如果您觉得本文对您有启发,欢迎给我打Call!「21天实战营」全网疯狂拉票启动,发动亲友团来pick你心中TOP开发者吧!: https://mp.weixin.qq.com/s/_oqpqtRWK2xMBHz1una_Pg ,我是Copy攻城狮胡琦,ModelArts+MindSpore和“MM”玩转AI,感谢您宝贵的一票!

ModelArts+MindSpore,前端小工和“MM“玩转AI相关推荐

  1. 【乘风破浪的开发者】华为云云享专家胡琦:快快使用ModelArts,零基础也能玩转AI!

    "自2018年10月发布以来,ModelArts累计服务了众多行业十几万开发者,通过基础平台的完备性和面向行业的知识沉淀以及平台化能力,使得AI应用开发更简单高效", 正如华为轮值 ...

  2. 三年从前端小工到架构-知乎 Live 学习整理

    最近在知乎上学习了vczero (王利华,簋谣)的知乎Live「三年从前端小工到架构」,感觉受益匪浅,现将本次Live学习笔记记录如下. 本次 Live 主要包括以下内容   • 0-3 年的前端工程 ...

  3. 探秘AI开发「神器」ModelArts,解读IoT 智能设备,华为云教你玩转 AI开发!

    11 月 14 日,DevRun 开发者沙龙华为云即将登陆上海.华为云技术大咖将带领开发者玩转 ModelArts,并解读华为云 IoT 服务与 AI 如何实现互通:聚焦华为云 ModelArts 和 ...

  4. 华为 MindSpore 喊你来开发 10 大 AI 模型,260 万奖金怎能没你一份?

    今年3月以来,国内多家企业正式开源深度学习框架的消息不断传出,这种"星星之火"的势头让一些业内开发者一度表示这会成为中国开源框架元年. 实际上,国内厂商开源的AI框架确实取得了不少 ...

  5. 云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:ModelArts ...

  6. 少儿人工智能编程教育入门推荐《人工智能编程趣味启蒙-Mind+图形化编程玩转AI》

    随着人工智能教育逐渐进入中小学课堂,越来越多家长准备给孩子报编程辅导班,但也有很多家长对此心里还有质疑,质疑这么小的孩子学编程能行吗?学编程的意义是什么- 其实家长不需要焦虑,也不需要着急给孩子报昂贵 ...

  7. 轻松玩转AI(从Python开始之Python3入门)

    轻松玩转AI路径: 从Python开始 [链接] 数据科学 [链接] 机器学习 [链接] 深度学习--神经网络 [链接] 从Python开始: Python3入门 [链接] Python3进阶 [链接 ...

  8. 瓜子二手车如何玩转AI赋能下的新零售(附PPT下载)

    本讲座选自瓜子二手车新零售产品负责人.清华电子系校友周洲于近期在清华大数据"应用·创新"系列讲座上所做的题为<如何玩转AI赋能下的新零售>的演讲. 后台回复" ...

  9. HMS Core Discovery第16期回顾|与虎墩一起,玩转AI新“声”态

    HMS Core 在AI领域最新的技术能力有哪些?本期Discovery直播以<与虎墩一起,玩转AI新"声"态>为主题,邀请了HMS Core 机器学习服务产品经理.机 ...

最新文章

  1. cxgrid实现分组统计和添加Footer
  2. install npm 到某个文件下执行_如何将npm安装到指定目录?
  3. java对外发布接口文档_java之接口文档规范
  4. 设计模式之美 - 64状态模式
  5. 华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!
  6. spring 整合struts
  7. java实训文献_java毕设论文参考文献.doc
  8. METS(护理类)一级考试的信效度分析及其对教学的作用
  9. 9. Enhancing Aspect Term Extraction with Soft Prototypes论文阅读笔记
  10. 农业灌溉水力驱动过滤器
  11. 为什么说小米会是品牌2020年最重要的增长源?
  12. java做简单的缓存缓存
  13. 用 NetworkX + Gephi + Nebula Graph 分析<权力的游戏>人物关系(下篇)
  14. Java约定俗成怎么定义_Java接口定义规范,摘自晓风轻专栏
  15. 计算机的击键方法教学教案,初中七年级信息技术上册教案:键盘操作与练习
  16. namp安装及官方使用手册翻译及注释3
  17. 专利 | word图片设置为黑白
  18. eclipse和数据库实现学生成绩查询系统web界面
  19. 爬虫神器Selenium傻瓜教程,看了直呼牛掰
  20. linux 获取OS盘符的方法

热门文章

  1. 摩斯电码-打码机练习-微信小程序项目开发入门
  2. 安徽大学计算机学硕复试线,安徽大学2020年考研复试分数线
  3. 【数据产品】数据产品如何选型
  4. linux 更改网络速度,教你一招 提高Linux操作系统网速方法(转)
  5. 我国推进大数据综合试验区建设 辐射带动经济提质增效
  6. 手机qq浏览器支持html5,手机QQ浏览器三大法宝助HTML5开发者成功
  7. 普通人如何实现财务自由、跨越式发展?
  8. python如何读取百万级的csv文件-Python如何读取数据量百万级的CSV文件数据?
  9. gis 联合 融合_三大院齐聚郑州,共同探索BIM+GIS和大数据应用的无限可能
  10. #gStore-weekly | gstore源码解析(五):安全机制之日志追踪