最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下:
本人主要参考这2篇博文:
https://my.oschina.net/qinhui99/blog/845249
http://blog.csdn.net/u010414386/article/details/53304177
1.安装vs2013或vs2015
如果安装的是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
下载最新的v5.1版本,解压后把cudnn目录下的bin目录加到PATH环境变量里
3.安装opencv3.2
下载地址:http://opencv.org/
下载并解压,然后创建环境变量OpenCV_DIR,把OpenCV/build目录添加进去
把\opencv\build\x64\vc14\bin=添加到PATH路径
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
一路next搞定:https://www.continuum.io/downloads
把安装路径添加到PATH里去
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()
如果结果如图片所示,表示配置成功。
9.配置R
1)首先需要先安装RTools,到这里下载https://cran.r-project.org/bin/windows/Rtools/
2)到https://github.com/yajiedesign/mxnet/releases下载最新的prebuildbase_win10_x64_vc14.7z和20170524_mxnet_x64_vc14_gpu.7z
3)在D:\MXNet\R-package新建如下2个文件夹
D:\MXNet\R-package\inst\include
D:\MXNet\R-package\inst\libs\x64
4)将这4个文件夹dmlc、mshadow、mxnet、nnvm拷贝到D:\MXNet\R-package\inst\include
5)将所有相关的dll文件都拷贝到D:\MXNet\R-package\inst\libs\x64,如下图:
6)通过命令行工具进入D:\MXNet,必须确保你的R.exe在环境变量path里
7)然后运行如下2个命令生成NAMESPACE
Rscript -e "require(devtools); install_version(\"roxygen2\", version = \"5.0.1\", repos = \"https://cloud.r-project.org/\", quiet = TRUE)"
Rscript -e "require(roxygen2); roxygen2::roxygenise(\"R-package\")"
8)最后输入
R CMD INSTALL --build --no-multiarch R-package
在R里测试一把
great!