体验在 Windows 上从源代码编译和安装 MindSpore
笔者一直使用MindSpore提供的whl包来安装MindSpore,但最近新版本还是无法使用,而且我在峰会上也看到了一位楼主反馈的问题BiggestFanMindSpore。 另一种安装方法——从源码编译并安装MindSpore。
整个过程顺利的话,大约需要100分钟(笔者遇到坑洼,花了2个多小时,填坑全程花了近4个小时),其中下载耗时10分钟左右并安装依赖软件,编译安装MindSpore包耗时最长,大约需要80分钟,安装MindSpore大约需要1分钟。 当然,如果机器配置好,网速好的话,多开线程应该会节省一点时间。
笔者将整个编译安装过程总结如下。
下载依赖软件
首先是下载相关的依赖软件。 笔者建议使用下载工具(如迅雷)进行这一步,这样可以大大提高下载效率。
下载并安装 Git
下载并安装git:下载后,双击进入安装。 流程如下图所示。
默认安装路径为:C:Program FilesGit 可以找到相关文件。
下载并安装Python
下载并安装Python 3.7.5版本:下载后,双击进入安装过程,如下图所示。
默认安装路径为:C:UsersAdministratorAppDataLocalProgramsPython 即可找到相关文件。
下载并安装 ActivePerl
下载ActivePerl 5.28.1.2801版本:文件,并双击安装,过程如下:
下载并解压GCC文件
下载MinGW-W64 GCC-7.3.0:并解压。 我把mingw64文件夹整体移到D:/a_tool/gcc文件夹下。 后续操作需要将gcc的路径添加到系统环境变量中。 当然也可以放在其他路径,但需要注意的是存储路径中不能存在英语和法语。
下载并解压 CMake 文件
下载后解压并保存到指定位置exe源码编译,
下载CMake 3.18.3版本:我使用的是Windows 10 64位系统,选择下载cmake-3.18.3-win64-x64.zip并将此文件夹解压到D:/a_tool文件夹中,然后将cmake路径添加到System中环境变量。 当然也可以放在其他路径,但需要注意的是存储路径中不能存在英语和法语。
下载Visual C++
下载Visual C++ Redistributable for Visual Studio 2015:,笔者使用的是Windows 10 64位系统,如果与笔者的环境一致,也可以直接从这里下载:exe源码编译,下载后,双击安装,过程如下:
安装轮子
打开cmd命令行,输入命令,安装相应的依赖:
pip install wheel -i https://pypi.tuna.tsinghua.edu.cn/simple
添加系统环境变量
通过以下流程进入系统环境变量编辑界面:
控制面板 -> 系统 -> 高级系统设置
->环境变量->系统环境变量->路径->编辑,最后出现正确的界面。
单击“新建”添加新的环境变量:
如何添加:
如果与笔者的安装步骤一致,只需将以下路径复制并添加到系统环境变量中即可:
将Python路径添加到系统环境变量:C:UsersAdministratorAppDataLocalProgramsPythonPython37。
将pip路径添加到系统环境变量:C:UsersAdministratorAppDataLocalProgramsPythonPython37Scripts。
将GCC-7.3.0路径添加到系统环境变量:D:a_toolgccmingw64bin。
将Cmake路径添加到系统环境变量:D:a_toolcmake-3.18.3-win64-x64bin。
添加完成后,在所有界面上单击“确定”即可完成添加。
下载并编译MindSpore 通过git下载MindSpore仓库
右键单击 D:/atestwarehouse 文件夹中的空白区域,然后选择 Git Bash Here。
输入命令手动下载MindSpore仓库中的所有文件:
git clone https://gitee.com/mindspore/mindspore.git
编译MindSpore
下载完成后,打开win+r,打开运行,输入cmd回车进入命令行:
进入git下载的MindSpore文件夹目录,输入编译命令:
call build.bat 12
其中,12是线程数。 配置好的机器可以调整较高的值来加快编译速度。 如果不设置值,文件将默认启动8线程编译。
自动进入编译状态,整个编译过程大约需要80分钟。
第一阶段:下载各种相关依赖包,然后检测并编译:
第二阶段:核心编译,相关算子的编译:
第三阶段:将MindSpore的py文件添加到安装包文件中:
最终提示:D:/atestwarehouse/mindspore/build/mindspore/mindspore_ generated。 编译完成。
可以在目录D:/atestwarehouse/mindspore/build/package中找到编译好的MindSpore安装文件,mindspore-{version}-cp37-cp37m-win_amd64.whl,verison为版本号,本例中{version}为1.1 .0 .
同时,还可以在./mindspore/output目录下找到编译好的文件以及相关的标定文件:
如果安装过程中光标长时间闪烁,可以按Ctrl+C停止编译过程,然后在MindSpore中重新输入编译命令。
如果系统安装了Anaconda软件,编译过程中可能会出现依赖于该软件的路径指向问题。 您需要调整注册表中的指向。 如果具体问题无法解决,可以在扬升峰会MindSpore专区发布错误信息和截图进行咨询,论坛中有专门人员快速响应并帮助解决问题。
笔者在这两个深坑里徘徊了很久。
安装MindSpore
进入安装文件所在文件夹,输入以下命令进行安装:
pip install mindspore-{version}-cp37-cp37m-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
在:
验证是否安装成功
python -c "import mindspore;print(mindspore.__version__)"
下图的验证方法与之前的命令是等价的:
以上就是笔者在Windows 10上编译安装MindSpore的整个经历。
参考文件:
BiggestFanMindSpore多平台编译陷阱及用户体验
MindSpore安装