MindSpore新工具TinyMS体验

CloudIDE 体验 MindSpore 1.2.0-rc1 新特性

大家好,我是 Copy攻城狮 ,专注“写” Hello World 30年,因此被亲切称为“HW工程师”。差不多3个月前,有幸体验MindSpore新年新版本,前所未有的丝滑,3个月一个大版本,新版本又来了!今天,本大狮给小伙伴们带来了全新的体验,这是您没玩过的全新版本 -- 使用云编辑器 CloudIDE 运行 MindSpore 1.2.0-rc1,体验MindSpore 新特性!

CloudIDE

首先,本大狮认为全宇宙最牛叉的 IDE 一定是 VSCode ,因此,众多云厂商的云编辑器都基于 VSCode Online 实现。华为云的 CloudIDE 也不例外。

CloudIDE 是面向云原生的轻量级WebIDE,通过浏览器访问即可实现云端开发环境获取、代码编写、编译调试、运行预览、访问代码仓库、命令行执行等能力,同时支持丰富的插件扩展。

在线体验地址: https://devcloud.cn-north-4.huaweicloud.com/cloudide/trial

关键是「鲲鹏计算 免费!免费!免费!」

CloudIDE 入口:

image.png

 

CloudIDE 实例:

image.png

 

到什么山唱什么歌,既然来到了 MindSpore 的地盘,先来个 Python 的环境。

看看我使用的环境配置:

image.png

 

在看看 Python 版本:

user@ru76x7kqbuu-machine:~$ python --version
Python 3.7.0

勉强满足 MindSpore 推荐的 Python 3.7.5,至少大版本相同。

安装 MindSpore


这界面是不是像极了 VSCode ?终端命令行走起:

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0-rc1/MindSpore/cpu/ubuntu_aarch64/mindspore-1.2.0rc1-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# 注意参考下方安装指南,确保安装依赖以及环境变量配置正确

轻松Copy,一键安装,默认使用华为云的镜像,安装速度倍儿快。

image.png

再来一行代码检查一下是否安装正常:

image.png

user@ru76x7kqbuu-machine:~$ python -c "import mindspore;print(mindspore.__version__)"
1.2.0-rc1

哦,天哪,安装居然如此简单,如此丝滑。这里不得不吐槽一下 tf 1.15.0 的安装,直接白白浪费了本大狮一个多小时,各种报错。

学习 MindSpore

作为Copy攻城狮,最厉害的技能无非就是复制粘贴了,因此我们可以直接 clone MindSpore 的 docs 仓库:

git clone https://gitee.com/mindspore/docs

好了,文档有了,代码也有了,还有 .ipynb 文件也有了,请开始学习吧!

从 quick_start.ipynb 开始,开始我们的 MindSpore 学习之旅!

image.png

 

CloudIDE 默认支持解析.ipynb 文件,也许是我选用的 Python 开发环境自动安装的。这是一个手写数字识别的案例,运行 1875 步之后,我们获得的训练结果:

epoch: 1 step: 1872, loss is 0.08411364
epoch: 1 step: 1873, loss is 0.07816357
epoch: 1 step: 1874, loss is 0.026486307
epoch: 1 step: 1875, loss is 0.09032617
{'Accuracy': 0.9582331730769231}

不得不感叹,云时代的到来,给我们带来了太多的便利。

不过目前 MindSpore 新特性大部分集中在 GPU 和 Ascend 环境,因此本文不做过多体验。

题外话,想体验 tinyms , 没想暂时只有 MindSpore 1.1.1 才支持:

 

image.png

 

tinyms 文档地址: https://tinyms.readthedocs.io/zh_CN/latest/index.html

 

体验 TinyMS

重新安装 MindSpore 1.1.1

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.1.1/MindSpore/cpu/ubuntu_aarch64/mindspore-1.1.1-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

安装 TinyMS

pip install tinyms

验证安装:

import tinyms as ts
from tinyms.primitives import tensor_add

x = ts.ones([2, 3])
y = ts.ones([2, 3])
print(tensor_add(x, y))

 

image.png

妥妥的!

接下来就是按照官方文档,「在一分钟内实现一个图形分类应用」

 

 

 

依旧是Lenet手写数字识别,我们可以使用之前的数据集,也可以重新再下载,重新下载的话等待时间稍微有点久。不过使用 CloudIDE 的时候要留意文件夹权限,我们将源码中的 /root 替换为 ./data,规避文件夹权限不够的问题。

image.png

 

接着就是训练模型(操作总是惊人的相似,也修改了文件路径):

image.png

 

等待训练完毕之后,为推理做准备,TinyMS推理是C/S(Client/Server)架构。TinyMS使用Flask这个轻量化的网页服务器架构作为C/S通讯的基础架构。

……

 

当我满怀期待想要尝试推理部署时,发现 servable_path暂时不能自定义,当我调用list_servables()时,由于在 CloudIDE 上没有权限写入文件到 /etc等目录,因此也无法读取到我定义的servable.json。体验到此告一段落!

image.png

后续我会尝试在 Linux 上再次体验!同时也期待在未来TinyMS可以支持更自由的配置。

 

如果您对本文有任何疑问,欢迎联系我!

posted @ 2021-12-31 09:16  MS小白  阅读(30)  评论(0)    收藏  举报