win10,VS2013下MXnet编译和安装


下载MXnet

MXnet的GitHub地址
官方安装文档
Ubuntu安装文档


软件要求

VS2013

Cmake


第三方依赖库

CUDA

版本要求 CUDA Toolkit >= v7.0

CuDNN

版本要求 >=V4(截至在我安装的时候2016.8,测试发现V3不可以)

OpenCV

版本要求(最好是3.10)64位

OpenBLAS

OpenBLAS官网下载,使用Cmake生成VS项目文件,生成64位的openblas.lib


C++11特性支持

下载并安装Visual C++ Compiler Nov 2013 CTP.

默认安装到C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP (或者你自定义的安装目录),把文件copy 到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC(或者你自定义的VS2013安装目录)
复制前记得备份


编译MXnet代码

编译前建议把第三方依赖库的路径以及python的路径都设置到环境变量里面

使用Cmake生成Visual Studio 12 2013 64位项目文件
生成时注意Cmake输出提示,不要有CUDA、CuDNN、OpenCV、OpenBLAS以及python找不到路径的警告,如果有请手动选择路径。正确的应该像我的这样。

win10,VS2013下MXnet编译和安装_第1张图片

然后用VS 2013打开mxnet.sln,选择 Release X64模式编译ALL_BUILD,大概十几分钟即可编译完成。最终的结果是在build\Release文件夹下得到libmxnet.dll


Python环境安装

python要求

python>=2.7 && numpy

如果你的电脑安装numpy有困难,建议安装Miniconda 2.7 64-bit
在控制台使用下面命令安装 numpy

conda install numpy

安装

进入MXnet代码所在根目录,再进入其中的python目录,在CMD控制台下输入以下命令即可:

> cd python
> python setup.py install

检查是否安装成功

在CMD控制台输入以下命令,如果没有报错,则按照成功

> python
> import mxnet as mx

我安装的时候出现了三个错误
一是WindowError:126
二是ImportError: cannot import name libinfo
这两个错误比较多,
有个解决方案是

1st: python build & install success

2st: copy all dependence dlls(opencv,openblas etc.) to C:\Python27\Lib\site-packages\mxnet-0.5.0-py2.7.egg\mxnet\

3rd: before import mxnet add mxnet package path to PATH environment.
os.environ[‘PATH’]=r’C:\Python27\Lib\site-packages\mxnet-0.5.0-py2.7.egg\mxnet;’ + os.environ[‘PATH’]

简单的说就是把openCV 和 openBLAS的dll放入 %your_python_dir%\Lib\site-packages\mxnet-0.X.0-py2.7.egg\mxnet\文件夹下,并在系统的环境变量中加入该文件夹路径
还有个错误是提示dll的位数不对,这是由于第三方依赖库的位数没有统一,建议都使用64位


部分第三方依赖

其中 cuDNN 和openBLAS 比较难弄,我上传了用的库,点击下载

你可能感兴趣的:(MXnet)