NO IMAGE

過程和編譯CPU版的差不多,但是卻花了3天時間填坑,,具體過程本文不再詳述,請先編譯CPU版。 
與編譯CPU版不同之處在於: 

  • win10下必須使用Cuda8RC(我的是965m的GPU),雖然Cuda7.5有win10版本,實測不相容!!!結果下Cuda8總是不成功,花了一天
  • 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的輸出居然和他自己不一樣。。。