MindSpore 1.3 CPU版 for windows源码编译踩坑记

举报
张辉 发表于 2021/06/30 14:19:19 2021/06/30
【摘要】 介于装A和装C之间。

其实张小白源码编译过MindSpore Lite 1.1.0 for Windows( https://bbs.huaweicloud.cn/blogs/239829 ),本来以为这次源码编译安装正主儿会一样比较顺利。事实证明张小白想多了。

mindspore.cn.install主页面并没有教我们如何安装1.3.0的版本:

而说好的Q2出 MindSpore GPU for windows的目标好像也是遥遥无妻。。。

然而作为一个MindSpore的死忠粉,每个版本都要把玩一番——就是张小白的宿命(何况还有奖品。。。)。。。

所以又一轮的折腾开始了。。。

看环境要求:

安装过Visual Studio 2019,第一个应该是满足的。

git就更不用说了。

MinGW gcc 7.3.0可以参看  链接( https://bbs.huaweicloud.cn/blogs/239829 ,搜索 gcc for windows

CMake 3.18.3 可以参看  链接( https://bbs.huaweicloud.cn/blogs/239829 ,搜索 Windows版CMake

Perl要装一下,下载ActivePerl :https://downloads.activestate.com/ActivePerl/releases/5.28.1.2801/ActivePerl-5.28.1.2801-MSWin32-x64-24563874.exe 按提示安装即可:

 

至于Python3.7.5和pip安装的wheel,待会儿再说吧。毕竟本地是 Python 3.7.6

接着的事情很简单,就是打开mingl

git clone https://gitee.com/mindspore/mindspore.git

下载master分支(据说是1.3.0)

然后做call build.bat 12 

由于众所周知的原因,像什么github, gitlab之类的网站就是龟速一样,而且会老断,所以会面临各种失败,比如下面这种:

报连github Timeout.

那么,张小白能做的事情就是 重新运行一下 call build.bat 12 

。。。

直到遇到下面这样的错误:

张小白以为是非要用 Python 3.7.5的原因。(后来事实证明 3.7.5也同样报这个错。。。)

于是,张小白开始安装Python 3.7.5 for Windows:

下载 https://www.python.org/ftp/python/3.7.5/python-3.7.5-amd64.exe

安装:

配置:

找到 Python3.7.5的安装位置:C:\Users\zhang\AppData\Local\Programs\Python\Python37

将其加入到环境变量Path的首位:

验证Python版本:

再重新 call build.bat 12

发现 build.sh代码找的还是 Python 3.7.6

这个时候张小白就觉得需要 场外求助了。于是发了帖子:

https://bbs.huaweicloud.cn/forum/thread-135265-1-1.html 

在专家已回复但是专家实际上没有回复的状态下(大家细品)

好心的 @longvoyage 大大 在原贴( https://bbs.huaweicloud.cn/forum/forum.php?mod=viewthread&tid=135220  )下告诉我,最好是卸载miniconda ,然而张小白这点骨气还是有的:坚决不卸载。

于是,@longvoyage 大大做出了让步:他让我做了修改 CMakeLists.txt的尝试。

经过几次尝试,

终于开始找到Python 3.7.5了。

又出了这样的错误:

没有权限?那就把cmd使用管理员的身份执行吧。。。

再来。。

仔细一看,原来是 好容易编译好的代码,被360安全卫士认为是病毒,然后放到隔离区了:

(头孢团队麻烦仔细考虑下为啥代码编译出来会有病毒呢?——也许是你的笔记本有毒吧?毕竟上次玩过毒蘑菇。。。好吧。。)

那就恢复这些病毒吧。。。。

继续 坦然面对github错。。。。

然后出现了跟Python 3.7.5同样的错:

看来版本号不是张小白逃避的方法,除了发了一个新的求助帖 ( https://bbs.huaweicloud.cn/forum/thread-135916-1-1.html )之外,张小白自己也开始了度娘之旅。。。

貌似发现build.sh还是去找Python2了。。。请问 头孢团队,MindSpore到底需要Python2还是3?还是都需要?

根据度娘的搜索:

查找几个地方:

https://blog.csdn.net/weixin_34054931/article/details/91996861

https://ask.csdn.net/questions/3119303

都说要在加上编译参数  -DMS_WIN64..

这个真不知道怎么加。干脆 魔改代码,直接在pyconfig.h中定义这个宏吧。。

居然可以往下编译了。。。

后面依然会遇到 github的问题,继续坦然面对。。。

终于进入到了 彩色的编译画面,与前面依赖包的安装不同,进入MindSpore的核心代码编译就是彩色的,头孢团队您们真是聪明伶俐啊。。

。。。

30%。。。

74%...

终于100%了。当然发现wheel没装。那就补个妆吧。。。

再来 call build.bat 12 

生成了whl文件。,但是最后还报了个错。。。啥子意思???!!!

张小白决定忽略最后一个错误。。。。

反正这个whl文件已经生成了:

pip安装这个whl吧:

。。。

好像提示 Python3.7.5的script目录没有加到PATH中。先不管这个。。

验证一下:

python -c "import mindspore;print(mindspore.__version__)"

最后一难:

python -m pip install easydict

总算可以了。

这就结束了张小白的MindSpore 1.3.0 for Windows(CPU版)的安装之旅。

最后提点对安装方面的小建议:

1.安装过程中,如果连github失败,建议编译脚本能够多连几次。

2.Python 3.7.5的寻找过程比较尴尬,建议头孢团队优化下。特别是用conda的场景非常普遍,安装脚本直接支持conda环境不是更好吗?

3.能不能在build.sh前面加一些check的脚本,检查用户有没有装好相关的版本,而不是等用户装了之后才发现这也没装,那也没装。

4.里面有个问题是张小白强改代码解决的。专家看看,能不能你们加个编译参数帮忙解决这个问题呢?

以上。

(全文完,谢谢阅读)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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