MindSpore 2.0.0 for Windows GPU泄漏版尝鲜

举报
张辉 发表于 2022/10/30 12:55:19 2022/10/30
【摘要】 你没见过的MindSpore 2.0.0 for Windows GPU版

在看了MindSpore架构师王磊老师的帖子(  https://zhuanlan.zhihu.com/p/574507930 )之后,本来张小白要源码编译MindSpore for Windows GPU版的,尽管已经安装了CUDA 11.1和配套的cuDNN 8.6.0 for CUDA 11.X( https://bbs.huaweicloud.cn/blogs/381666  ),但是由于各种意外,编译的进度停滞了。然而,凭一点点小道消息,张小白发现了别人编译好的pip安装包:

嗟来之食张小白也可以吃的,毕竟饿了很久了,慌不择路饥不择食也是情有可原的。

于是,开干!

从上面的文件名 mindspore_gpu-2.0.0-cp37-cp37m-win_amd64.whl 可以看出,这个whl包应该是用Python 3.7编译的。

首先打开Windows的命令行,查看下当前的Python版本:

正好对应了。所以如果文件名是 xxx_cp39_cp39m_xxxx.whl,张小白会怎么办?显然是要先准备一个Anaconda的Python 3.9环境再安装。这个思路不知道读者们Get到了没有。。

不过,这个时候必须要解决一下 安装了CUDA和cuDNN之后的一个小BUG(这其实是源码编译发现的问题,等张小白真的源码编译成功后再仔细解释这件事儿)

就是在 CUDA 11.1和配套的cuDNN 8.6.0 for CUDA 11.X安装手册( https://bbs.huaweicloud.cn/blogs/381666  )中,简单的将cuDNN解压是不行的:

cke_418221.png

因为MindSpore会直接到$CUDNN_HOME的lib下找文件,而不是到lib/x64目录下找。

所以,自然需要将上图左边的文件拷贝到 $CUDNN_HOME的lib目录下。

好了,这个小插曲解决了之后,我们再来安装MindSpore 2.0.0 for Windows GPU版吧!

pip install mindspore_gpu-2.0.0-cp37-cp37m-win_amd64.whl

cke_60717.png

这就装好了?!张小白有点不相信自己的眼睛(后来的事实表明,确实没那么简单)

再安装MindVision:

pip install mindvision

cke_63661.png

...

cke_64145.png

打开 https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/r1.8/tutorials/zh_cn/beginner/mindspore_quick_start.py

下载 mindspore_quick_start.py

python mindspore_quick_start.py --device_target=GPU

cke_67341.png

奇怪,刚才不是装过了mindvision了吗?怎么还会报找不到mindvision的错?难道pip被装到了不该装的地方?

那只有一个办法:使用python -m pip install xxx这种安装法了。

python -m pip install mindspore_gpu-2.0.0-cp37-cp37m-win_amd64.whl

cke_74471.png

python -m pip install mindvision

cke_73152.png

cke_73636.png

下载验证脚本:

打开 https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/r1.8/tutorials/zh_cn/beginner/mindspore_quick_start.py

下载可以获得 mindspore_quick_start.py 文件。

GPU的第一次验证:

python mindspore_quick_start.py --device_target=GPU

cke_75651.png

好像有点卡:

不过居然走下去了:

cke_686.png

从目录结构可以看出,它自动创建了lenet和mnist两个目录,然后下载了mnist数据集,然后开始例行的训练、评估、推理流程:

cke_4054.png

虽然10轮epoch都已经做完了,但是python代码迟迟没有退出:

cke_811.png

恐怕真的有点什么问题。

张小白强行中断了当前脚本的执行。

先用以前在ubuntu的GPU环境中常用的test.py脚本试试:

编辑test.py

cke_2164.png

执行python test.py

cke_3234.png

奇怪,这倒是OK的。应该说明MindSpore GPU版应该是没问题的。

再来试试:

python mindspore_quick_start.py --device_target=GPU

cke_7065.png

。。。

cke_162.png

cke_438.png

关闭图形的小窗口后:

cke_130.png

居然打印出来了训练的结果:预测:126133,实际126133。嗯,孺子可教也!

不过张小白总觉得GPU训练的时间有点慢,不如用CPU方式训练比较一下:

python mindspore_quick_start.py --device_target=CPU

cke_3886.png

cke_160.png

cke_434.png

CPU训练后居然会出现有个图片推理结果错误了。

但是这也许不重要。

我们看下训练的速度比较:

epoch GPU CPU
0 24977 26442
1 41445 44644
2 60857 60892
3 80228 83656
4 95871 98735
5 112246 117080
6 128539 131625
7 158763 164341
8 163734 167089
9 179141 183806


看来不能光靠感觉,得靠数字说话,虽然LeNet是个最简单的网络,但是张小白这台2019年的笔记本的GPU的训练速度还是比CPU略快的。


后记:

1.其实很开心看到MindSpore 2.0.0 for Windows GPU版本的出台,这使得有独立显卡的兄弟们,不用双系统,也不用wsl,可以一边打原神,一边进行猫狗训练了。

2.源码编译虽然不成功,但是用别人的成果尝鲜还是必要的。毕竟这个周末,可能这个消息是令不知道师张小白最为兴奋的事情了。

3.还有一个好消息:

对,鄙人就是MindSpore不知道师张小白。


(全文完,谢谢阅读)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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