关于人工智能:看这里带你快速体验MindSpore-V10For-ubuntu-1804

26次阅读

共计 4743 个字符,预计需要花费 12 分钟才能阅读完成。

摘要: 本文介绍了如何在 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…

点击关注,第一工夫理解华为云陈腐技术~

正文完
 0