mcnet win10安装与编译

 机器环境:Win10-64bit,已装了WinPython-64bit-3.4.3.2、CUDA8.0、VS2013 update5

一、获取MXNet:

    git clone --recursive https://github.com/dmlc/mxnet

二、安装其他依赖:

    需要OpenCV、OpenBLAS、CuDNN、CUDA

    1. OpenCV3:

        官网下载(http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download),链接: http://pan.baidu.com/s/1c0YkB8 密码: mnu6

    2. OpenBLAS:

        官网下载(https://sourceforge.net/projects/openblas/),目标是生成openblas.lib,自己弄比较麻烦

    3. CuDNN:

        官网下载(https://developer.nvidia.com/cudnn),下载需要注册英伟达开发者账号

    4. CUDA7.5

        官网下载(https://developer.nvidia.com/cuda-downloads)并安装。链接: http://pan.baidu.com/s/1c2Bd4Gg 密码: fpm2

     5. 打包版:

        为了方便大家,不用自己去生成openblas.lib,我打包了OpenCV3、OpenBLAS、CuDNN,大家可以直接下载解压到mxnet目录下,  链接: http://pan.baidu.com/s/1c1VLZAK 密码: ntrj

 

三、增强VS2013:

    因为MXNet用到了许多C++ 11的新特性,所以需要增强VS2013使其支持,下载 Visual C++ Compiler Nov 2013 CTP(https://www.microsoft.com/en-us/download/details.aspx?id=41151)并安装,然后把 C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP\ 文件夹内所有拷贝至你的VS2013目录,如:拷贝至 D:\Microsoft Visual Studio 12.0\VC\ 目录下覆盖。

    链接: http://pan.baidu.com/s/1bEVi5C 密码: p6s3

 

四、修改配置文件(可以不修改):

    打开 mxnet\make\config.mk,更改以下几处:

    第49行:USE_CUDNN = 1

    第69行:USE_BLAS = openblas

    另外搜索mxnet目录下其他config.mk文件,相应的,都把USE_BLAS后的值改成openblas。

五、CMake编译:

   下载安装了最新版的Cmake,链接: http://pan.baidu.com/s/1kU7RkGJ 密码: suwe

    然后按照我下面这样设置,Configure,Generate,没报错就OK了

    

六、生成libmxnet.dll:

    VS2013打开mxnet_build目录下的mxnet.sln,模式切换为Release,编译一下,全部OK之后,在mxnet_build\Release目录下生成了libmxnet.dll文件。

 问题:1、下载源码导致的找不到相应代码问题,解决方法: 是递归下载全部或者手动下载全部代码,下载不到的代码特征是有@字符命名。

   2、../src/operator/tensor/Release/cuda_compile_generate_indexing_op.cu.obj生成错误,解决方法: 更新cuda版本到最新。

   3、fatal error: an internal error has occured in the compiler, 解决方法:更新vs版本。

   4、与vs2013 CTP对应的文件是vc2013 redistributable, 编译时将其删除,然后安装新的增强版。

七、安装Python的MXNet库:

    把第六步生成的dll文件拷贝至D:\mxnet\mxnet\python\mxnet目录内,切换至该目录,执行python setup.py build; python setup.py install

 

八、解决问题:

    这时候安装完毕后,import mxnet 是会报错的,而且两次import报的错还不同,一次是找不到dll,第二次是找不到libinfo.py,就是这个问题github上很多人问,但是并没有完整的解决方案,我自己摸索的解决方法是:把我上传的打包版压缩包里的9个dll文件复制到python.exe目录下,然后就行啦!

 

九、跑个例子试试:

    跑例子也是蛮头疼的,示例代码里相关配置都是Linux下的,dataset也要自己下载。。在D:\mxnet\mxnet\example\image-classification目录内新建文件夹:mnist

    下载dataset:链接: http://pan.baidu.com/s/1gfHIXt5 密码: u33x  

    4个文件分别解压到mnist目录下,把文件名中的'.'全改成'-',即让四个文件没有后缀名。(或者你可以直接更改train_mnist.py里的代码)

    官方例子见这里:http://mxnet.readthedocs.io/en/latest/get_started/#python

你可能感兴趣的:(C++,DL,mxnet)