windows 10下安装GPU版MXNet

上回说到编译CPU版的MXNet: http://cherishlc.iteye.com/blog/2299864
最近攒了个带GPU的本本,,终于可以整GPU版的啦~

过程和编译CPU版的差不多,但是却花了3天时间填坑,,具体过程本文不再详述,请先编译CPU版。
与编译CPU版不同之处在于:
  • win10下必须使用Cuda8RC(我的是965m的GPU),虽然Cuda7.5有win10版本,实测不兼容!!!结果下Cuda8总是不成功,花了一天
  • CMake需要指定编译64位平台的代码!!参见:http://cherishlc.iteye.com/blog/2302987
  • DLL代码要加到环境变量PATH里,上次说过了,这次居然又栽跟头了。。。


具体流程参加CPU版的,,本文只是对编译GPU版本踩过的坑进行记录
1、Cuda、cuDNN的安装
Cuda: https://developer.nvidia.com/cuda-toolkit
一路狂点即可,注意下载Cuda8RC版,,否则可能有兼容问题

cuDNN: https://developer.nvidia.com/cudnn
要用v3版本的(MXNet官网这么说的,不知道现在是否支持v4、v5)。
记得把cuDNN的DLL所在目录加到PATH里!(和CPU版的openBLAS类似)


2、OpenCV的编译
由于换了全新的本本,OpenCV我也重新编译了一下,结果栽了跟头!
  • 注意把VS的工程里的编译模式debug改为release!!!
  • DLL所在路径添加到PATH,,上次没有这一步,这次就栽了跟头。。。表现为运行时找不到模块,而且不会提示找不到什么模块。。。
  • 编译GPU版时间老长了,,没必要。。。


3、MXNet工程的生成
上次说到直接用CMake的CMake-gui工具配置,这次出了问题,,没生成x64平台的,只有win32平台。。。还是编译时发现一堆明明存在的lib却找不到时才发现的!!!
再次安利CMake编译x64平台代码的博文: http://cherishlc.iteye.com/blog/2302987

即使一切配置正确,,编译还是不通过,提示找不到 opencv_dep_cudart.lib,当时真是想重新编译一个CPU版的OpenCV!但是,当我将该lib从MXNet工程的输入中剔除后,编译通过了!!

只是运行时提示找不到库(还没告诉我找不到什么库。。。),后来才想起来OpenCV的DLL路径没添加到PATH

再遇到这种情况可以使用depends工具查看DLL依赖关系: http://www.dependencywalker.com/
其中,windows相关的组件找不到貌似没啥关系,,因为我添加了OpenCV路径后依然会说windows相关的组件找不到

4、安装python版的MXNet
和CPU版完全相同,,不再赘述


5、运行示例
安装好了就可以参照PHunter的博文跑一下 Neural art了: http://phunter.farbox.com/post/mxnet-tutorial2
只是需要注意,由于windows无法运行.sh文件,我们需要手动下载模型

windows下 nvidia-smi程序在: C:\Program Files\NVIDIA Corporation\NVSMI
官方文档: https://developer.nvidia.com/nvidia-system-management-interface

拿左图同时作为输入和style image的输出居然和他自己不一样。。。


猜你喜欢

转载自cherishlc.iteye.com/blog/2302981
今日推荐