一、一开始看到各种安装方法,简单的,用pip安装mxnet的python CPU版本和GPU版本。
windows还是linux,python2还是python3,安装命令都一样
用pip安装mxnet的python CPU版本:pip install mxnet
用pip安装mxnet的python GPU版本:pip install mxnet-cu80 mxnet-cu80中cu80的意思是cuda8.0
安装python GPU版本的时候总出错,看到:又快又稳地安装mxnet-cu8.0
按照教程安装gpu的gluon到99%时会出错,使用豆瓣镜像安装可以又快又稳地安装,地址如下
pip install --pre mxnet-cu80 -i https://pypi.douban.com/simple # CUDA 8.0
如果你的可以,恭喜你,安装成功。我的出错了,试了很多次,感觉已经不能用了,下面带你从头配置安装mxnet.
二、cpu版本的,推荐使用编译好的版本,gpu版本的推荐自己编译。我的是Windows10 64位系统,这里以win10为例,你安装时注意自己的系统。
一定要检查你的显卡是否能用cuda, 如果不能,是用不了mxnet的 GPU版的,请安装CPU版,我的可以,先安装对应版本的英伟达驱动。
1 安装VS2013或者VS2015
我一开始安装了VS2015,cmake的时候总出错,建议安装VS2013,安装参考:https://jingyan.baidu.com/article/495ba841edca2f38b30ede3d.html
如果安装的是vs2013,则需要增强vs对c++11的支持,下载 Visual C++ Compiler Nov 2013 CTP并安装:
- 卸载”Microsoft Visual C++ 2013 Redistributable (x64)”, 否则安装CTP时会出现0x80070666错误
- 安装CTP
- 拷贝C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP内的文件到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC (注意:如果VS的安装目录不是默认目录,则上述目录依然存在,但应该拷贝到对应的安装目录下!)
2 安装CUDA、cuDNN
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit
直接按next安装就可以,win10系统下最好使用8.0
cuDNN:https://developer.nvidia.com/cudnn
下载最新的v7.2版本
解压后把cudnn目录下的bin目录加到PATH环境变量里
下载后得到Cudnn文件夹(名字也叫cuda), 分别将里面的cuda/include、cuda/lib、cuda/bin三个目录中的内容拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0对应的include、lib、bin目录下即可
验证是否装好命令:nvcc -V
3 安装opencv3.0
下载地址:http://opencv.org/
下载并解压,然后创建环境变量OpenCV_DIR,把opencv/build目录添加进去
把\opencv\build\x64\vc12\bin和\opencv\build\x86\vc12\bin添加到PATH路径
具体安装配置参考:https://jingyan.baidu.com/article/64d05a0245aa70de55f73b12.html
记得要配置文件属性使所有项目都适用。
配置文件属性使所有项目都适用可以参考:https://www.zhihu.com/question/24400428,比较详细
4 安装openBLAS
openBLAS(解压就行):https://sourceforge.net/projects/openblas/files/v0.2.14/
注意:需要下载mingw64_dll.zip和OpenBLAS-v0.2.14-Win64-int32.zip两个文件!
创建环境变量 OpenBLAS_HOME,把openBLAS根目录加进去
把DLL所在目录需要添加到环境变量path中
5 安装Anaconda
其实就是安装python,如果那样的话还得安装很多包,这里安装anaconda比较方便。
python3之前安装有问题,这里建议安装anaconda2,里面集成了python2。安装前建议清理所有的python版本
下载地址Anaconda , 下载2.7,直接next安装,把安装路径添加到PATH里去,安装目录不要有空格
安装python编辑器的话建议安装pycharm,具体不在这里赘述。
6 安装mxnet
下载地址:https://github.com/dmlc/mxnet
工程里面包含有引用信息,记得把引用的文件也下载下来
解压并在根目录新建build目录
下载CMake:https://cmake.org/
打开CMake,指定好目录后按下Configure,选择相应版本的vs win64工程
如果出现找不到cudnn,手动设置cudnn位置在点击Configure,直到警告全部消失
最后点击generate生成Visual Studio工程。
7 编译mxnet
打开mxnet.sln,注意编译选项改成release,x64模式,编译ALL BUILD,最后会在build/release文件夹下生成libmxnet.lib和libmxnet.dll,把这个目录加入PATH中
8 配置python
运行cmd
cd进入到mxnet/python目录下,输入python setup.py install
安装完后重新打开cmd
运行python命令,输入import mxnet as mx
a = mx.nd.ones(1)
b = mx.nd.ones(1,mx.gpu())
a.asnumpy()
b.asnumpy()
表示配置成功。
如果gpu变量显示为0,说明编译有问题,具体看网站https://github.com/dmlc/mxnet/issues/1228
三 、如果上述编译出错,不能点击generate生成Visual Studio工程
我们不使用DMLC在github上发布的那一套MXNet,早已经不更新了。
日更新版本:https://github.com/yajiedesign/mxnet/releases
新版的MXNet里有一些参数在vc12编译出的库里没有,所以推荐使用vc14版本,也就是VS2015。可以安装C++11支持
接下来按着步骤二进行操作就可以了
四、安装常见错误
一是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位
注意:我之前都是用笔记本安装或者服务器,这次用台式机,大坑,安装好了显示找不到显卡,检查显卡驱动是好的,但是检测不到显卡,检查后发现连接的是AMD显卡,英伟达显卡没有连接,换连接英伟达显卡,可以用mxnet gpu版本,整个安装成功。