摘要: 本文介绍了如何在Ubuntu 18.04上装置CPU版本的MindSpore V1.0。并应用装置好的MindSpore进行了LeNet的模型训练。
Part One:引言
在HC2020大会中,张小白就走漏出了想试玩MindSpore V1.0的欲望。MindSpore是华为开发的一款深度学习的开源框架,明天这个欲望就要实现了。。。
先来剖析下该怎么玩转。。。让咱们看下 https://www.mindspore.cn/install 官网的介绍文档:
体验MindSpore V1.0 的形式有N种
官网文档也很不错,给大家提供了抉择,而后别离通知你该怎么玩。。。
首先,硬件平台为Ascend910的,个别人就别选了。这是须要买华为的昇腾服务器的人才能玩的。而且,张小白的Atlas 200DK都玩不了。。因为那只是Ascend 310芯片。。不过,倒是能够在ModelArts上抉择这个环境。然而,ModelArts下面,这些环境都内置好了,其实用户也体验不到装置和折腾的快感了。(咱们的座右铭是——我折腾、我高兴)。
其次,硬件平台为GPU CUDA的,有好显卡的人能够上。什么叫做好显卡。举个例子吧。最近行将进去的 GeForce RTX 3080显卡,
或者比它更高端的3090显卡:
用这些卡去做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的装置形式吧。。
后面的链接下介绍了零碎装置的环境要求:
其中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.co… 18.04的镜像。。
找到并下载 http://old-releases.ubuntu.co…
应用VMWare装置,抉择“繁难装置”,一路走上来(把内存改为4G),顺利完成。
应用ascend用户登录:(当初装置时抉择的用户名)
进入零碎,记得不帮忙Ubuntu就对了。。
也不要降级:
替换国内阿里源:
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
sudo apt-get update
sudo apt-get install aptitude
Part Three:装置Python3.7.5
在python官网曾经找不到 3.7.5了,所以预计只能抉择源码装置了。。。
好在在华为云的镜像站有 https://mirrors.huaweicloud.c…
复制地址,关上新的teminal,下载吧。。。
wget https://mirrors.huaweicloud.c…
解压:
xz -d Python-3.7.5.tar.xz
tar xvf Python-3.7.5.tar
。。。
python装置源码包搞定。
为了编译源码,咱们做一些筹备工作,比方装置gcc和g++:
sudo aptitude install gcc
急躁的期待完结:
sudo apt install gcc
sudo apt-get install g++
编译器搞定,接着装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
。。。
正式编译装置Python-3.7.5
切换Python-3.7.5目录
sudo ./configure –enable-optimizations –prefix=/usr/python3
指定装置后的python放到 /usr/python3目录下。
。。。
sudo make
急躁期待。。。
有400多个test要做。。
持续急躁期待。。。
而后部署。。
sudo make install
切换到装置目录,查看版本:
在/etc/profile退出/usr/python3/bin的PATH,并执行,这样能够在任何中央都能够优先执行python 3.7.5
好了,Python 3.7.5源码编译实现。
Part Four:PIP装置MindSpore
终于能够激冻人心的进入到MindSpore的装置过程了。
为了确保是在3.7.5环境的pip下装置,
执行 python3 -m pip install https://ms-release.obs.cn-nor…
当然了。。出点问题也算失常的。。
如同是装decorator时遇到了权限问题。
那咱们换成root用户装吧。。。
python3 -m pip install https://ms-release.obs.cn-nor…
很快就秒装结束,也没任何出错:
而后进入python验证下装置后果:
PIP装置MindSpore的过程真的很简略。
Part Five:应用Mindspore进行LENET训练
首先到mindspore gitee官网下载lenet的相干示例代码:
https://gitee.com/mindspore/m…
而后关上 http://yann.lecun.com/exdb/mn…:
将链接中这四个文件下载到本地,并放入后面下载好的lenet下新建的MNIST_DATA目录下。
并且,用winrar解压,别离将train结尾的文件和t10k结尾的文件放入train和test目录下。
而后,把这些代码打包成lenet.zip,应用scp工具(如Xftp 6),传输到ubuntu 18.04中:
而后执行unzip lenet.zip解压。
就能够在ubuntu下看到这些文件了。
当然,这些过程也能够间接在ubuntu中做。。比方应用wget间接下载训练集文件等等。
接着,为了保险起见,临时先用root执行吧。。(怕ascend用户执行又有什么权限问题。。。)
cd /home/ascend/lenet/
vi train.py
将device_target的default改为CPU。将data_path设成 MNIST_DATA目录。其余临时放弃不变:
而后开始跑训练吧。。。
python3 train.py
一会儿就跑完了。。。
并且在ckpt下会生成一些文件。。。
回到下层目录,执行:
python3 eval.py –ckpt_path=./ckpt/checkpoint_lenet-10_1875.ckpt
执行验证胜利,模型的精度为98.7580%。。。
阐明应用mindspore在跑lenet这些例程还是比较顺利的。
参考资料:
(1)[干货分享] Mindspore 1.0初体验 https://bbs.huaweicloud.com/f… @JeffDing
(2)[干货分享] 体验MindSpore v1.0(一)——装置篇 https://bbs.huaweicloud.com/f…
点击关注,第一工夫理解华为云陈腐技术~
发表回复