MindSpore 1.3 CPU版 for windows源码编译踩坑记
其实张小白源码编译过MindSpore Lite 1.1.0 for Windows( https://bbs.huaweicloud.com/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.com/blogs/239829 ,搜索 gcc for windows)
CMake 3.18.3 可以参看 链接( https://bbs.huaweicloud.com/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.com/forum/thread-135265-1-1.html
在专家已回复但是专家实际上没有回复的状态下(大家细品)
好心的 @longvoyage 大大 在原贴( https://bbs.huaweicloud.com/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.com/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.里面有个问题是张小白强改代码解决的。专家看看,能不能你们加个编译参数帮忙解决这个问题呢?
以上。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)