张小白GPU安装MindSpore给你看(Ubuntu 18.04.5)

举报
张辉 发表于 2020/10/08 07:49:46 2020/10/08
【摘要】 张小白都把机器拆了,还要怎样?

在张小白尝试了 Windows CPU版本(PIP安装),Ubuntu CPU版本(PIP安装,源码安装)之后(参见 《张小白带你快速体验MindSpore V1.0(For ubuntu 18.04)》 https://bbs.huaweicloud.com/blogs/198324 和 《张小白教你如何在Ubuntu 18.04上源码安装MindSpore V1.0》 https://bbs.huaweicloud.com/blogs/198349 ),GPU的安装也纳入了议事日程。

毕竟Ascend910不是穷逼的张小白能买得起的。但是Nvidia的过气GPU,张小白倒是有好几块(台式机一块,笔记本一块)

不过根据张小白的分析,想用Windows安装GPU版本的MindSpore V1.0貌似是不可能的了。因为根本没有这个选项。所以张小宝就动起了自己笔记本的歪脑筋。自己的笔记本不有个Nvidia显卡吗?那就试试呗。。没想到就此躺坑。。。


先把硬件环境介绍一下:

CPU:Intel Core i7-8750H @2.20GHz 六核

内存:64G DDR4 2666

硬盘:Crucial MX500 250G SSD(2.5寸SATA)

显卡:Nvidia Quardo P1000(4G)


惯例,看 http://mindspore.cn/install

image.png

GPU只能选择Ubuntu操作系统。只能选择Python 3.7.5 (后面还会发现,只能选择CUDA 10.1。。。这是后话,暂且不提)

那么,第一步,就是先装Ubuntu 18.04操作系统。。。Nonono,第一步是先拆机,换硬盘好吧。。。

打开笔记本背板:

image.png

1个SATA硬盘(图中银色部分)和2个NVME硬盘(图中黑色条挡住的部分)映入眼帘。

因为怕安装双系统会导致系统启动出问题,张小白果断选择了拔掉所有的硬盘。然后装上这块久违了的SSD 250G硬盘。。

image.png

然后,使用台式机的360软件管家,安装了UltraIso:

image.png

并从ubuntu网站下载了 18.04.1的iso文件。(就是安装前面CPU版本的iso)

找到一个久违了的4GU盘。

image.png

然后,使用UltraISO制作启动U盘:

image.png

点击,启动-》制作硬盘镜像。。。

image.png

然后,将U盘插入笔记本电脑。

image.png

加点,启动。

开机进入ubuntu的GRUB界面:

image.png

仔细看看:

image.png

点击 Install Ubuntu...

原来以为一切会很美好。。。系统出现个画面:(映出张小白的头影)

image.png

第一个坑不期而至:

image.png

刚开机就Crash了。啥也没装。。。

赶紧度娘搜寻。原来Ubuntu和Nvidia好像天然就有矛盾。。。因为Ubuntu开机是内置了一个开源的显卡驱动nouveau,而Nvidia天生跟这个显卡驱动冲突,所以应该先把这个nouveau显卡驱动删除,然后再装上Nvidia的驱动,然后才能正常安装Ubuntu系统。

有说这样做的:

image.png

还有说修改为 acpi=off 之类的。张小白都一一试过了。好像通通不行。。

要么给这个错:

image.png

要么给那个错:

image.png

总之,都进不了安装ubuntu的界面。

张小白都快急死了。。。直到看到网上一位大大的一句话:

先装 ubuntu server的版本,等把显卡驱动搞定后,再去装desktop桌面。。。

这句话简直就是明灯了。。(不是老罗的“行业冥灯”的那个冥。。)

张小白也是觉得这样是个出路。


二话不说,赶紧去Ubuntu官网下载 ubuntu 18.04的桌面版镜像 ubuntu-18.04.5-live-server-amd64.iso

image.png

并用UltraIso制作这个iso文件的U盘启动盘(参数跟前面的一样)。

然后启动。。。。果然,不使用图形界面,是完全可以安装下去的。。

截几张中间安装的图:

选择硬盘配置:

image.png

分区:

image.png

image.png

主机名:gpu

用户名:ascend

密码:***

image.png

附加软件:先不装。。

image.png

慢慢等待安装完毕:

image.png

重启后,可以正常用命令行登录了:

image.png

忘记说了,笔记本是提前接上网线的:

image.png

然后,查资料,说Nvidia的显卡管理程序是nautilus..

运行的时候发现没装,那就装上吧。。。

image.png

继续:

image.png

居然发现要装那么多依赖,而且是从ubuntu.com装。。。那得多慢。。

确实,每次装完ubuntu第一件事情,就应该换apt源。。。

赶紧修改 sources.list文件

image.png

然后更新源:

apt update

image.png

apt-get update

image.png

apt-get install aptitude

image.png

顺便检查下 预置的Python版本:3.6.9. 看来还是得源码安装Python 3.7.5啊(不过安装视频上用了conda创建,不过既然张小白已经有了源码安装的经验,那也没必要用conda了。。)

image.png

这里一定要不能转移目标,而是要想到当前的关键任务是卸载开源显卡驱动,安装Nvidia显卡驱动。。其他的事情都是可以先放手的。。。这个最重要。

image.png

image.png

根据上图的做法,先禁用nouveau吧。。。

image.png

更新系统

image.png

重启。。。


再来装一次nautilus..

image.png

等待安装完毕:

image.png

添加PPA源:

add-apt-repository ppa:graphics-drivers/ppa

image.png


与此同时,需要到Nvidia官网下载对应的显卡驱动:NVIDIA-Linux-X86_64-450.80.02.run

image.png

每个人的显卡不一样,张小白是这么搜索的。。

image.png

确认是支持P1000的显卡:

image.png

将这个文件拷贝到U盘(前面的U盘已经安装完毕,可以重新格式化后再拷贝。。。)

将U盘mount到/mnt目录,并将 该安装包拷贝到/root目录下。然后 umount U盘。。

image.png

按照以下方法,先删除nvidia的原有驱动。。

apt-get remove nvidia-*

image.png

然后试着运行run。。。

./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files

(以上的参数都填上吧。。)

发现gcc,g++,make都没装。。

那就赶紧装吧:

apt-get install gcc

image.png

apt-get install g++

image.png

apt-get install make

image.png

再运行Nvidia的那个run。。。,终于跑了起来。。。

image.png

会进入图形界面:

image.png

然后会有几个提示:

image.png

image.png

可以按实际情况点击即可继续。。。

直到最后安装完毕:

image.png

然后可以激活并查看状态:

modprobe nvidia

nvidia-smi

image.png

从上面的参数可以看出,显卡驱动是 450.80.02版本,CUDA的版本是11.0. 显卡类型为 Quadro P1000。内存4040M(也就是4G显存)。张小白发现CUDA的版本11.0跟此次安装需要的CUDA版本10.1不一致。就很担心又出现版本不一致的问题。但是以后查了下资料,发现 nvidia-smi显示的CUDA 11.0跟 后面需要的CUDA貌似不是一回事。

这样看来,原来的开源显卡已屏蔽,合适的Nvidia驱动也已经装上。应该是时候安装ubuntu-desktop了。。。


apt-get install ubuntu-desktop

image.png

(这笔记本真容易落灰。。。)

image.png

等待直到安装完毕。。。

image.png

apt-get install lightdm

image.png

会进入图形界面,让张小白选择缺省的显示管理器。。。这时,可以选择任何一个。。

image.png

感觉应该快装完了。。。

重启系统

sync

sync

reboot

结果停留在这个界面:

image.png

怎么也进不了Ubuntu的图形登录界面。。。

张小白又去搜索,为啥Ubuntu 18.04启动后无法进入桌面。。

比如这个

image.png

。。。

说要修改grub文件并且更新grub

image.png

照此办理,折腾了好几下。。包括重启。。

image.png

终于有图形界面出来了。。。登录进去。。。看到了原来在虚拟机中熟悉的红色桌面。。。

image.png

这说明,万里长征的第一步算是圆满完成了。。。


在桌面打开firefox浏览器,打开 http://mindspore.cn/install ,选择这次的安装方式,并在打开的窗口中输入 nvidia-smi

image.png

是的,CUDA不一样的问题暴露出来了。


先装Python 3.7.5吧。。。

这个张小白熟悉得不能再熟悉了。。。记得编译成动态库。。

下载源码包:

image.png

解压后先 安装一些依赖:

image.png

等待依赖安装完毕...

image.png

configure...(注意看最下面的行——编译参数不能错。。。)

image.png

make。。。

image.png

make install后 再做一些配置上的修改(/etc/profile)——可参见《张小白教你如何在Ubuntu 18.04上源码安装MindSpore V1.0》 https://bbs.huaweicloud.com/blogs/198349 )——增加 PATH(/usr/python3/bin)和LD_LIBRARY_PATH(/usr/python3/lib)

然后检查python3是否可以正常运行。。。

image.png

结果证明是可以的。


下面可以先装一些pip的依赖。。。(当然,也可以不装,而是在装mindspore的whl文件时再在线装。。)不过自行装有个好处,就是可以自己先指定好pip源。。。

像下面Pillow这个忘记指定了,下载速度还是有点慢的。。。

image.png

image.png

但是下面这个指定了,速度非常快:

image.png

等待装完。。

image.png

继续装其他依赖numpy。。

image.png

以及opencv-python

image.png

image.png

好了,pip的依赖好像就上面那么多了。

张小白再检查下其他的系统依赖。。

image.png

看上面箭头部分的就可以了。

包含Python 3.7.5, CUDA 10.1 , CuDNN>=7.5 gmp 6.1.2 

另外两个可选的自然是可以不装的。(而且张小白就一个GPU,也没有多卡。。)

那么先搞定gmp 6.1.2吧。。还记得在源码安装CPU版本时,也装过gmp的,但是当时gmp的版本没那么高。

那就开始吧。。

到gnu的网站找gmp源码位置:

image.png

找到6.1.2的版本后复制链接。。然后在终端使用wget下载。。

image.png

下载完毕后例行 configure,make和make install

image.png

image.png

image.png

gmp搞定。


下面来装CUDA:

点击mindspore安装链接中 CUDA对应的链接 https://developer.nvidia.com/cuda-10.1-download-archive-base

按以下图示选好相关的配置:

image.png

这个方式跟MindSpore的安装方式非常像。。。是不是互相借鉴的。。。。张小白不怀好意的想。。。

别想了。点击右边的Download。。。(有2.4的G的文件要下载呢。。)

张小白是在ubuntu的firefox里面点击这些的。当然,也可以现在其他电脑下载好了,再通过前面的方式用U盘传进来。。可能使用windows的浏览器会快一点。谁知道呢。。。

当然,第一次下载的时候,Nvidia会提示张小白去注册个 Nvidia开发者的账户。。。

image.png

选择 Join Now,然后用有效的邮箱注册就可以了。163的邮箱就可以。

image.png

然后去验证下自己的邮箱

image.png

cuDNN也如法炮制:

点击 http://mindspore.cn/install 提供的链接,张小白先选择了 8.0.3 for CUDA 10.1的版本。mindspore官网要求的是  cuDNN >= 7.6。。 张小白想 8.0.3>7.6,应该是可以的。

image.png


同样点击后下载。。。

image.png

image.png

这个时间比较长,张小白需要等待将近3G的2个文件下载完毕。。。

这个时候,可以先把mindspore的gpu版本的whl下载下来。

打开 https://www.mindspore.cn/versions 地址

复制GPU对应的链接 image.png


在终端中做wget

image.png

耐心地等待三个文件下完。。

根据提示,再做一些准备补充的准备工作:

如 apt-get install linuix-headers-$(uname -r)

image.png

好了,开始装CUDA 10.1吧。。

image.png

进入界面:

image.png

输入accept,回车。。

在弹出的界面中,只选 CUDA ToolKit 10.1 ,其他统统不选。

image.png

点击上图中的install(有点看不清,就是白色的那个块块)

image.png

装完后,系统会提示要修改PATH和LD_LIBRARY_PATH.这个在安装Python 3.7.5的时候张小白就已经驾轻就熟了。。

image.png

按照上图,修改 /etc/profile 并执行 source /etc/profile 让当前终端生效。

然后解压CuDNN包

image.png

将CuDNN解压后的include和lib64下的文件分别拷贝到 /usr/local/cuda-10.1/的 include和lib64目录下去。。

image.png

终于可以安装mindspore的gpu版本了。。。

image.png

耐心等待安装结束。。

image.png

有的已经满足了(前面装过了)。。。有的还没有(比如scipy居然不对。。)

image.png

image.png

仔细看了一下,是缺省scipy安装了 1.5.2的版本,但是mindspore要求1.3.3的版本。所以mindspore卸载了 1.5.2的版本,重新拉了1.3.3的版本。。早知道前面张小白直接装scipy==1.3.3了。还好。一个安装包,不大不要紧。


安装完毕了,可以试验一下了。。

根据官网提示,验证gpu的方式跟验证cpu的略有不同。

官网提供了这么一个脚本:

image.png

张小白将这段脚本贴进去,保存为 test.py文件。

然后执行 python3 test.py

image.png

额,,importError了。。。

他要找libcudnn.so.7,而看看上面截图,张小白安装的是libcudnn.so.8... 原来,还是不能太相信 大于这回事。。

让我们回忆一下前面张小白怎么说的。。

image.png

显然8是不可以的。看来得重新下载7的版本了。

重新进入CuDNN的下载界面

image.png

选择 7.6.5 for CUDA 10.1 以及 cuDNN Library for Linux

同样的方式下载完毕。。。解压完毕。。

然后再同样的方式将 include和lib64目录拷贝到cuda的相应目录下。

这个时候,张小白发现,原来 /usr/local/cuda和/usr/local/cuda-10.1是一个目录,所以拷贝也可以简单写了。。

image.png

当然,/etc/profile也可以简单写了。

image.png

好了,这回让张小白来验证吧。。

image.png

总算验证通过了。

最后发一张收尾的工作图吧。。

image.png


看来,装一个GPU的Mindspore V1.0版本也确实不容易啊。。。好在张小白踩坑习惯了,遇到问题也没那么紧张了。想来,下一个坑,张小白仍然会遇到,但是张小白就像张小强一样,是打不倒的。。。

(全文完,谢谢阅读)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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