欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

在WSL2的Ubuntu18.04下体验TinyMS0.3.1(LeNet网络)

时间:2023-07-12

Micro,Tiny,Mini,Lite是一群好搭档(傻傻分不清楚)。如果没有特别跟你说,一般情况下你都不知道带这些单词的词组到底是什么意思。比如MindSpore Lite是MindSpore的端边AI引擎,TensorFlow Lite是TF在移动设备和嵌入式设备的轻量级解决方案。这两个是要对标的。那么TinyMS,作为Tiny、Modular、Simple的缩写,对标的却是Keras——Tensorfow的高阶API。当然,同时被华为TinyMS对标的是Fastai——PyTorch的高阶API。我们一直知道的是,MindSpore的移植最常见的就是从TF和PyTorch迁移,那么Keras和Fastai这对胖哥俩,自然一个都少不了。

闲话少说,我们就看看TinyMS该怎么玩吧。

在玩转TinyMS之前,得先去B站看下曼sir的保姆级教程(一共10集,目前已推出了5集):

【保姆级教程】EP01-最适合小白的深度学习入门课程来了!
https://www.bilibili.com/video/BV1MB4y1P79S

【保姆级教程】EP02-计算机是如何识别图像的?+TinyMS三种安装方式详解
https://www.bilibili.com/video/BV18v41187fX

【保姆级教程】EP03-30min速成Shell脚本命令
https://www.bilibili.com/video/BV1vy4y1b7jh

【保姆级教程】EP04-30min速成Python指南(上)| MindSpore高阶API工具TinyMS系列教程
https://www.bilibili.com/video/BV1Tp4y1b7UG

【保姆级教程】EP05-30min速成Python指南(下)| MindSpore高阶API工具TinyMS系列教程
https://www.bilibili.com/video/BV1XS4y1Z7yp

其实看了第二段,就可以安装TinyMS了。

当然,我们还是要结合官网:https://tinyms.readthedocs.io/zh_CN/v0.3.1/quickstart/install.html

张小白还是用WSL2(Ubuntu 18.04)来安装吧。

这上面已经安装好了Anaconda,但是Python是3.8版本

所以用conda建一个python 3.7.5的环境:

按Y继续:

确认了3.7.5的大蟒蛇眼神之后,开始安装:

pip install tinyms==0.3.1 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

看来还得降级装一下0.3.0的版本:

pip install tinyms==0.3.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

。。。

验证安装是否成功:

查看tinyms的版本:

pip show tinyms

查看下wsl2的IP地址:(好像看了也没啥用)

启动jupyter lab:

我们到JupyterLab页面去看看怎么玩转TinyMS。

浏览器打开以下地址:

 http://127.0.0.1:8888/lab?token=ce99234cec88f7be435dbb47d16cfe5d5de656d1d5369692

选择Python后打开:

奇怪,怎么没有tinyms包呢?

经过度娘得知,原来还需要安装下nb_conda:

安装之后,好像还是不行。

再二次度娘“jupyter notebook 设定指定conda环境”得知:jupyter notebook 设定指定conda环境_gs344937933的专栏-CSDN博客

需要做个设置:

python -m ipykernel install --user --name tinyms --display-name "Python (tinyms)"

然后再到Notebook中,切换下内核:

再重试下:

好了,那我们来试下样例的TinyMS吧( https://tinyms.readthedocs.io/zh_CN/v0.3.1/quickstart/quickstart_in_one_minute.html )

感觉好像还是版本不匹配引起的,试着安装下tinyms的0.3.1版本吧:

pip install tinyms==0.3.1 

不使用国内pip源速度慢一点,但是却可以装。那就耐心等待安装结束吧。

再来重启jupyter lab和重新执行Notebook

终于可以了。(牛年不容易,期望虎年容易些。。)

创建LeNet网络:

下载数据集:

耐心等待下载完毕:

下面开始训练模型:

。。。

耐心等待第一个epoch 1875个step结束:

可见左边的ckpt模型文件已经生成。

然后开始评估:

定义servable json

启动服务器:

此时,因为这个命令没有执行完毕,所以出现不了数字。

再打开一个新的Notebook(选择TinyMS内核)

准备图片:

查看后台模型:

进行推理(通过serving发送请求)

可以看到推理的结果是7。

再切换到原来的服务端,关闭服务:

这就完成了手写数字LeNet网络的训练和推理过程。

从上面的体验可以看出:

(1)从主体代码来看,TinyMS像是将基本代码和MindSpore Serving做了个结合。

(2)训练代码在建立网络上略显得简洁,训练参数也略有减少,但是所有的步骤貌似都没减少。如果让用户看到更少的参数设置或许会更好一点。

(3)推理代码一行话完成,确实也简洁了很多。说明TinyMS团队的目标就是让开发者使用起来更简单一些。

(全文完,谢谢阅读)

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。