5.28学习:

  • 完成实践《口罩检测(使用新版自动学习实现物体检测应用)》
  • 完成实践《使用AI Gallery的订阅算法实现花卉识别》
  • 创建NoteBook实例并运行一个小程序
  • 阶段小结

本教程博主再次熟悉了ModelArts的自动学习功能和workflow,再次体验到了AIGallery分享案例的便捷,然后体验了NoteBook,最后小结了这几周的学习路线。

《口罩检测(使用新版自动学习实现物体检测应用)》

  这是一个继续用来熟悉自动学习、物体检测和ModelArts工作流的实验。

创建训练数据集

  单击口罩检测小数据集下载。在弹出的窗口中选择云服务区域【华北-北京四】,单击【确定】进入下载详情页。

  在“下载详情”页面,填写参数。

  下载方式:ModelArts数据集;

  目标区域:华北-北京四;

  数据类型:图片;

  数据集输入位置:/test-bucket-xiaowang/Mask-detection/input/;

  数据集输出位置:/test-bucket-xiaowang/Mask-detection/output/。

3e6ac3f6f32e3b9a91ff53eeff7cc0e

  系统会跳转到我的下载页面,单击【刷新】按钮,等待数据集下载完成(下载完成大约需要1分钟)。展开下载详情,可以查看该数据集的【目标位置】。

  返回ModelArts管理控制台,在左侧导航栏选择【数据管理】-【数据集】单击【前往新版】。在新版数据集列表页,单击数据集名称左侧的img,展开数据集,查看【导入状态】,导入状态为【导入完成】代表示数据集导入成功,且数据集正常。

eb5bc4c4538249f0d917d46eedde95a

创建自动学习物体检测项目

  在ModelArts控制台,左侧导航栏选择【自动学习】,会默认进入新版自动学习页面,选择【物体检测】项目,单击【创建项目】。

1c8b40fc434e50e62527dda373afb6c

运行工作流

  然后就进入了熟悉的WorkFlow工作流。

63ba8eef2c8a5615f0eb40ebcf302b4

  在【数据标注】节点,待数据标注节点变为【橘黄色】即为【等待操作】状态,点击数据标注节点,打开数据标注节点的运行详情页面。前往实例详情页确认所有图片是否都标注完成,确认无误后,回到工作流页面单击【继续运行】。

306dfb03c33b8c818bf8d81e64eed1e

  【物体检测】阶段耗时会比较长。

  当工作流运行到【服务部署】节点,服务部署节点会变成【橙黄色】,点击【服务部署】节点。在服务部署页签中,可以看到状态变为了【等待输入】。

  需要选择填写【计算节点规格】和【是否自动停止】,其他参数均为默认值,保持不变。

  参数填写完毕之后,单击运行状况右边的【继续运行】,单击确认弹窗中的【确定】即可继续完成工作流的运行。

fc2da15cf890d309ff34008e23d6f9d

预测分析

  运行完成的工作流会自动部署为相应的在线服务,在ModelArts管理控制台,选择【部署上线】-【在线服务】,单击生成的在线服务名称,即可进入在线服务详情页。之后进行上传和预测操作。这里放几张示例图。

df51343abb005cae2825ca615224e46 6fd38aa925f4d3bc02fa4c66a3e2b4c df49bfbf6cfb2ea245fe63594c1cde1 c482c81ba2b40f3e6792ee3552ad0e6

  预测结果:

e5a64cb1fc7a365d9ebb0856ff5d982 29fbb3a473fb5b6b2f67804c5c157d3

清除相应资源

  1、停止、删除运行服务。

  2、清除OBS中的数据。

《使用AI Gallery的订阅算法实现花卉识别》

  本实验熟悉从AI Gallery订阅数据、算法到上线部署的流程。

准备训练数据

  从AI Gallery下载训练数据,单击链接四类花卉图像分类小数据集,进入数据集详情页。

5dc2f127695e00d101e4eb58e081113

  注意这次下载方式选为【对象存储服务OBS】,这样我们就把AI Gallery上面的数据集下载到我们的OBS了。

824fe4a6b066671d5fc345cd4ab5a7a

订阅算法

  从AI Gallery订阅算法,单击链接ResNet_v1_50(图像分类/TensorFlow),进入算法详情页。

  单击右侧的【训练】-【ModelArts】后,选择ModelArts的云服务区域,单击【确认】,跳转至ModelArts的【算法管理】-【我的订阅】中。

使用订阅算法创建训练作业

  点击操作列的【创建训练作业】。

ebf0d27792ab398bc2af8e0bb8f546d

  在创建训练作业页面,参考如下说明填写关键参数:

  【创建方式>我的订阅】:系统默认选择订阅的算法,请勿随意修改;

  【训练输入】:选择数据存储位置,然后从弹出的窗口中选择刚刚下载好的数据flower;

  【训练输出】:选择一个OBS空目录存储训练输出的模型;

  【超参】:建议采用默认值,如需进行调优,可参考ResNet_v1_50(图像分类/TensorFlow)

  参数填写完成后,单击“提交”,根据界面提示确认规格,单击“确定”,完成训练作业创建。

204d0ec4ff473c22c92d3b384bb2e96

  使用GPU资源运行,预计3分钟左右可完成。当训练作业的状态变更为【已完成】时,表示已运行结束。

创建AI应用

  在训练作业详情页的右上角单击【创建AI应用】,进入创建AI应用页面。

8ea3f91b009eadb5905804484d445df

  系统会自动根据上一步训练作业填写参数,参考如下:

  【元模型来源】:系统自动选择【从训练中选择】

  【选择训练作业】:系统自动选择上一步创建的训练作业。

  【AI引擎】:系统自动写入该模型的AI引擎,无需修改。

  【推理代码】:系统自动放置推理代码到OBS输出路径,无需修改。

  【部署类型】:默认选择“在线服务”。

  参数填写完成后,单击【立即创建】,页面自动跳转至AI应用列表页面。

6d252e6e33037169ae7404ed7fe8b6d

  预计2分钟左右,当AI应用的状态变为【正常】时,表示创建成功。

部署为在线服务(CPU)

  AI应用创建成功后,可将其部署为在线服务,在部署时可使用CPU资源。

  单击AI应用名称左侧的单选按钮,在列表页底部展开【版本列表】,在版本的操作列中单击【部署】-【在线服务】。

ea5d062d1c42a4daa8c20c5e7774e47

  参数设置完成后,单击【下一步】,确认规格参数,单击【提交】,完成在线服务的部署。

  进入【部署上线】-【在线服务】页面,当服务状态变为【运行中】时,表示服务部署成功。预计时长2分钟左右。

  给几个示例图片。

c6a6f5af34d649bf4a2337eb31e6e4f ce727d8b725186cb052788d644a32e0 027e7b5f4596628a7e55d3954ebae74 2182e2a931d55ab4132543ace88d819

  预测结果:

48cb576b859328301f2076c19ab10b5 733d565da89cbfc4fac1c0e5321c497

清除资源

  1、停止删除在线服务。

  2、删除训练作业。

  3、删除数据。

创建NoteBook实例并运行一个小程序

NoteBook简介

  ModelArts的Notebook是基于开源Jupyter Notebook提供的在线交互式代码开发调试工具,在AI领域有着很广泛的应用。

  而ModelArts的Notebook的优势是即开即用,它预先装好了不同的AI引擎,并且提供了非常多的可选规格,用户可以独占一个容器环境,不受其他人的干扰。用户可以使用本地IDE环境,通过开启SSH的方式连接到该云环境进行运行和调试。

  ModelArts的Notebook提供了镜像保存功能,支持一键将运行中的Notebook实例保存为镜像。ModelArts开发环境给用户提供了一组预置镜像,主要包括PyTorch、TensorFlow、MindSpore系列。用户可以直接使用预置镜像启动Notebook实例,在实例中开发完成后,直接提交到ModelArts训练作业进行训练,而不需要做适配。

  在开始进行模型开发前,用户要创建Notebook实例,在Notebook编码。

创建NoteBook实例

  前提是委托授权已完成,参考使用委托授权完成操作。

  登录ModelArts - Console (huaweicloud.com),在左侧导航栏中选择【开发环境】-【Notebook】,进入【Notebook页面】。单击右上角【创建】,进入【创建Notebook页面】。

  下面是几个重点关注的参数:

  镜像:公共镜像:即预置在ModelArts内部的AI引擎,省去了我们配置的麻烦。可以选择界面显示的公共镜像,也可以前往AI Gallery获取更多镜像。

  类型:芯片类型包括CPU、GPU和ASCEND类型。不同的镜像支持的芯片类型不同,根据实际需要选择。GPU性能更佳,但是相对CPU而言,费用更高。

  存储配置:包括“云硬盘EVS”“弹性文件服务SFS”“对象存储服务OBS”“并行文件系统PFS”“弹性文件服务SFS”作为存储位置。 仅专属资源池支持,并需要在专属资源池对应的网络打通VPC才能生效。“对象存储服务OBS”“并行文件系统PFS”是白名单功能,如果有试用需求,请提工单申请权限。“云硬盘EVS”“弹性文件服务SFS”的存储路径挂载在/home/ma-user/work目录下。用户在Notebook实例中的所有文件读写操作都是针对该存储目录下的内容操作,与OBS对象存储无关。停止或重启Notebook实例时,存储的内容会被保留,不丢失。删除Notebook实例时,EVS存储会一起释放,存储的内容不保留。SFS可以重新挂载到新的Notebook,可以保留数据。

  SSH远程开发:开启此功能后,用户可以在本地开发环境中远程接入Notebook实例的开发环境。实例中会预置VS Code插件(python、jupyter等)以及VS Code Server包,会占用约1G左右的持久化存储空间。

ab1ed7826c058c12183846424717b26 cf8b5f101fa00234d5da7dfa80540ce fc38ecc2130a9a24144bab8bc976008

  不过,注意到这个方式创建NoteBook没有免费的额度,工单回复现在北京四区的CodeLab是免费的。

CodeLab简介

  CodeLab是云化的JupyterLab,而JupyterLab是一个交互式的webIDE,JupyterLab是Jupyter Notebook的新一代交互式计算环境,旨在提供更强大的功能和更灵活的用户界面。与Jupyter Notebook不同,JupyterLab更像是一个完整的集成开发环境,用户可以在同一个窗口中同时打开多个笔记本、终端、文件浏览器和数据视图。这使得JupyterLab更适合于整个数据科学工作流程的管理和组织。  

  CodeLab和Notebook的区别,实际上就是云化的JupyterLab和云化的JupyterNotebook的区别,华为工程师给的回复如下:

430adb4dd3f8429ad09bb712ad3d14c

  ModelArts提供了CodeLab功能,一方面,一键进入开发环境,同时预置了免费的算力规格,可直接免费体验Notebook功能;另一方面,针对AI Gallery社区发布的Notebook样例(.ipynb格式文件),可直接在CodeLab中打开,查看他人分享的样例代码。

  自启动后,免费规格默认可使用1小时,请注意右上角的剩余时长。

进入CodeLab并创建项目

  在ModelArts控制台主页可以看到CodeLab的入口。

f15b78a2914e2af0ae8d80ccf99569a

  点击进去可以看到CodeLab的主页,和JupyterLab是相似的,其相关的常见功能与JupyterLab也相同。

1046440e1556cb1054cf11d42a0809d

  点击第一个Conda-python3环境的Notebook,简单体验。

3f4f945c31ced4dbccbe68dcf6d5662

清除资源并关闭Notebook(CodeLab)实例

  要在文件栏把测试创建的文件都删除干净后,再关闭CodeLab实例。

阶段小结

  书写到此,已经在华为洛阳昇腾人工智能实验室实习12天,这些天除了出去跟着老师们跑项目,就是自己在学习。

  首先说宏观的,对华为昇腾的认识。

  华为在下一盘大棋,为了打破外国英伟达的AI算力垄断,华为从开发者到基层芯片全链条的在做自己的产品,是一件非常困难又伟大的事情。如果做成,中国的核心科研部门将做到AI开发到应用的全国产化,这对国家科技自立自强是极为重要的。

  当然,也是困难重重,底层芯片上,华为的NPU等和国外还有差距,价格下不来、能力上不去;业务生态上,华为仍然要在AI整体的业务生态上加把劲,业态不成熟,开发者不多;就算有政府政策和资金的支持,但是作为开发者不愿意把已经维护好的系统转移到国产化的平台上,还有在地市推行AI赋能,但很多领导干部不懂AI甚至连业务员也技艺不精,大力推开是极为困难。

  但是我认为华为的就是勇做开拓者的民族企业,还有很多人愿意把产品做好、愿意把产品推广出去,真正的落地产生效益产生对社会的推动力。为了在新科技领域的自立自强,前路漫漫亦灿灿。

  再说自己的学习总结。

  第一周主要在学习昇腾社区的在线课程,主要是听讲座和AI的理论基础。课程比较难,难在老师的讲解大都默认学生基础很好,或是分享技术或是介绍论文,而且多用英文注解。而且还有很大的问题是课程之间连接性不强、针对性不强,不能作为入门学习深度学习、人工智能的参考,适合作为拓展视野或者主线学习外的辅助。

  但我依然学习到了很多知识,比如一些深度学习、人工智能中的基本概念和原理推导,还有一些著名的网络模型等。这里要详细阅读这一系列的010203,具体可以参考每篇笔记的学习清单。

  040506、07就是在ModelArts上的实践,开始的时候看整体的流程图看不懂,直到跟着官网案例实验之后,才得以把前后知识映射起来。但是,依然是初学懵懵懂懂的状态。

  计划之后两周,把官网的案例做完,再把老师发给我的案例做了。都做完之后,总结回顾所有案例,把需要的知识储备汇总起来逐个补习。同时,从HCIA-AI课程详情 (huawei.com)开始学习,学习到HCIP-AI-Ascend Developer课程详情 (huawei.com)。其余时间,把昇腾社区的公开课作为加餐。

  如果有昇腾创新大赛要参赛就去努力打比赛。