张小白带你快速体验MindSpore V1.0(For ubuntu 18.04)

举报
张辉 发表于 2020/10/04 09:56:55 2020/10/04
【摘要】 本文介绍了如何在Ubuntu 18.04上安装CPU版本的MindSpore V1.0。并使用安装好的MindSpore进行了LeNet的模型训练。

Part One:引言

在HC2020大会中,张小白就透露出了想试玩MindSpore V1.0的愿望。今天这个愿望就要实现了。。。

先来分析下该怎么玩转。。。让我们看下 https://www.mindspore.cn/install 官网的介绍文档:


体验MindSpore V1.0 的方式有N种:


image.png


官方文档也很不错,给大家提供了选择,然后分别告诉你该怎么玩。。。


首先,硬件平台为Ascend910的,一般人就别选了。这是需要买华为的昇腾服务器的人才能玩的。而且,张小白的Atlas 200DK都玩不了。。因为那只是Ascend 310芯片。。不过,倒是可以在ModelArts上选择这个环境。但是,ModelArts上面,这些环境都内置好了,其实用户也体验不到安装和折腾的快感了。(我们的座右铭是——我折腾、我快乐)。


其次,硬件平台为GPU CUDA的,有好显卡的人可以上。什么叫做好显卡。举个例子吧。最近即将出来的 GeForce RTX 3080显卡。。

image.png

或者 比它更高端的 3090显卡:

image.png

用这些卡去做AI训练,跑MindSpore,可能没啥问题。。。否则,你可能会觉得慢。。。当然,张小白也没有这些好显卡。。。所以,退而求其次,只能选择CPU的方式了。。。


选中了CPU之后,你可以选择的操作系统就不多了。。。包含:


(1)ubuntu aarch64,这个是ARM芯片的ubuntu系统,典型的就是鲲鹏相关服务器。。。当然,200DK的运行系统也是这个系统。张小白有没有鲲鹏台式机或者笔记本,显然没有。当然,希望华为或者荣耀赶紧推出这一型号的笔记本。。倒是可以让用户尝试一下。。。


(2)ubuntu x86,这个是x86芯片的ubuntu系统。这个范围可就大了去了。要么,你可以直接在台式机或笔记本上安装原生的ubuntu系统(搞什么双启动之类的),也可以使用虚拟化软件安装ubuntu虚拟机。这个就作为笔者这篇文章的操作系统吧。


(3)windows x64,这个很简单,就是x86芯片(但是需要64位的,其实前面也都是64位的。。)的windows系统。比如windows10之类的。这个用台式机或者笔记本都可以试。windows的好处是,不仅仅可以选择cpu模式,如果你有个好的显卡,还可以选择gpu模式。不过显然张小白不是土豪。其实windows这块的体验已经有大大们试过了。这里暂时不提。


我们看下面:Python版本必须是3.7.5,这个没有办法选择。


安装方式有Pip和Source这两种。显然,Pip的安装方式应该比较快,Source即源码安装,这个方法,其实张小白还在折腾中,也不知道是否能折腾出结果。。。


那么,我们就用上面的这一条线:版本1.0.0+硬件CPU+操作系统Ubuntu-X86+Python3.7.5+安装方式pip当作本次MindSpore V1.0的安装方式吧。。


前面的链接下介绍了系统安装的环境要求:

image.png

其中requirements.txt内容如下:

numpy >= 1.17.0, <= 1.17.5
protobuf >= 3.8.0
asttokens >= 1.1.13
pillow >= 6.2.0
scipy >= 1.3.3
easydict >= 1.9
sympy >= 1.4
cffi >= 1.13.2
wheel >= 0.32.0
decorator >= 4.4.0
setuptools >= 40.8.0
matplotlib >= 3.1.3         # for ut test
opencv-python >= 4.1.2.30   # for ut test
sklearn >= 0.0              # for st test
pandas >= 1.0.2             # for ut test
bs4
astunparse
packaging >= 20.0


Part Two:安装Ubuntu 18.04虚拟机


先到 http://old-releases.ubuntu.com/releases/bionic/ 下载 18.04的镜像。。

找到并下载 http://old-releases.ubuntu.com/releases/bionic/ubuntu-18.04.1-desktop-amd64.iso


image.png


使用VMWare安装,选择“简易安装”,一路走下去(把内存改为4G),顺利完成。

image.png

使用ascend用户登录:(当初安装时选择的用户名)

image.png

进入系统,记得不帮助Ubuntu就对了。。


image.png

也不要升级:

image.png


替换国内阿里源:

sudo cp /etc/apt/sources.list /etc/apt/source.list.bk

vi /etc/apt/sources.list

注释现有所有的deb

贴入以下内容:

# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

保存退出。

sudo apt update

image.png

sudo apt-get update

image.png

sudo apt-get install aptitude

image.png



Part Three:安装Python3.7.5

在python官网已经找不到 3.7.5了,所以估计只能选择源码安装了。。。

image.png

好在在华为云的镜像站有  https://mirrors.huaweicloud.cn/python/

image.png

复制地址,打开新的teminal,下载吧。。。

wget https://mirrors.huaweicloud.cn/python/3.7.5/Python-3.7.5.tar.xz

image.png

解压:

xz -d Python-3.7.5.tar.xz

tar xvf Python-3.7.5.tar

image.png

。。。

image.png

python安装源码包搞定。


为了编译源码,我们做一些准备工作,比如安装gcc和g++:

sudo aptitude install gcc

image.png

耐心的等待结束:

image.png

sudo apt install gcc

image.png

sudo apt-get install g++

image.png


编译器搞定,接着装python的依赖包:

sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev

image.png

。。。

image.png


正式编译安装Python-3.7.5

切换Python-3.7.5目录

sudo ./configure --enable-optimizations --prefix=/usr/python3

指定安装后的python放到 /usr/python3目录下。

image.png

。。。

image.png

sudo make

耐心等待。。。

有400多个test要做。。

image.png

继续耐心等待。。。

image.png

然后部署。。

sudo make install

image.png

切换到安装目录,查看版本:

image.png

在/etc/profile加入/usr/python3/bin的PATH,并执行,这样可以在任何地方都可以优先执行python 3.7.5

image.png

好了,Python 3.7.5源码编译完成。


Part Four:PIP安装MindSpore

终于可以激冻人心的进入到MindSpore的安装过程了。


为了确保是在3.7.5环境的pip下安装,

执行 python3 -m pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.0/MindSpore/cpu/ubuntu_x86/mindspore-1.0.0-cp37-cp37m-linux_x86_64.whl

image.png

当然了。。出点问题也算正常的。。

image.png

image.png

好像是装decorator时遇到了权限问题。 

那我们换成root用户装吧。。。

python3 -m pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.0/MindSpore/cpu/ubuntu_x86/mindspore-1.0.0-cp37-cp37m-linux_x86_64.whl

很快就秒装完毕,也没任何出错:

image.png

image.png

然后进入python验证下安装结果:

image.png

PIP安装MindSpore的过程真的很简单。


Part Five:使用Mindspore进行LENET训练

首先到mindspore gitee官网下载lenet的相关示例代码:

https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/lenet

image.png


然后打开 http://yann.lecun.com/exdb/mnist/ 网页:

image.png

将链接中这四个文件下载到本地,并放入前面下载好的lenet下新建的MNIST_DATA目录下。

image.png

并且,用winrar解压,分别将train开头的文件和t10k开头的文件放入train和test目录下。

image.png

image.png

然后,把这些代码打包成lenet.zip,使用scp工具(如Xftp 6),传输到ubuntu 18.04中:

然后执行unzip lenet.zip解压。

image.png

就可以在ubuntu下看到这些文件了。

当然,这些过程也可以直接在ubuntu中做。。比如使用wget直接下载训练集文件等等。

接着,为了保险起见,暂时先用root执行吧。。(怕ascend用户执行又有什么权限问题。。。)

cd /home/ascend/lenet/

vi train.py

将device_target的default改为CPU。将data_path设成 MNIST_DATA目录。其余暂时保持不变:

image.png

然后开始跑训练吧。。。

python3 train.py

image.png

一会儿就跑完了。。。

image.png

并且在ckpt下会生成一些文件。。。

image.png

回到上层目录,执行:

python3 eval.py --ckpt_path=./ckpt/checkpoint_lenet-10_1875.ckpt

image.png

执行验证成功,模型的精度为98.7580%。。。

说明使用mindspore在跑lenet这些例程还是比较顺利的。


参考资料:


(1)[干货分享] Mindspore 1.0初体验 https://bbs.huaweicloud.cn/forum/thread-80567-1-1.html  @JeffDing 

(2)[干货分享] 体验MindSpore v1.0(一)——安装篇  https://bbs.huaweicloud.cn/forum/thread-80509-1-1.html  @Tianyi_Li


(全文完,谢谢阅读)


BTW:张小白还在折腾源码安装MindSpore。。不过能不能成功估计要看造化了。。其实本文是折腾源码安装一文的副产品,其间参考了 @JeffDing @Tianyi_Li等大大的一些资料,还得到了 MindSpore官方群中 @大缺弦  @行者 @理性 (好像还有 三只猴子的ID,实在打不出来)等大大 的帮助,非常感谢。。。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。