2017-10-11 75 views
0

我花了整整一天的時間嘗試弄清楚如何在R上運行mxnet GPU。軟件包安裝好的,但在庫(mxnet)我得到一個錯誤:無法在Windows上成功運行Rx中的mxnet

錯誤:包或命名空間加載失敗「mxnet」: .onLoad在loadNamespace失敗()爲「mxnet」,細節: 電話: inDL(x,as.logical(local),as.logical(now),...) 錯誤:無法加載共享對象'C:/Users/Po/Documents/R/win-library/3.4/mxnet/ libs/x64/libmxnet.dll': LoadLibrary失敗:找不到指定的模塊。

真的被帶上了所有'幫助'的話題。這似乎是一個常見問題,但不是廣泛適用的解決方案。我已經下載並更新:CUDA,CUDAnn,NVIDIA驅動程序,OpenBLAS,cmake,opencv,MS visual studio,git,mlbench,mingw,MS visual cpp社區....不勝枚舉。

一些解決方案認爲構建和編譯是一種解決方法,但坦白地說,構建和編譯遠遠超出了範圍,我不得不下載半打的程序,只留下說明「使用CMake創建Visual Studio解決方案in ./build「。那有什麼意思。

我檢查了目錄,並且確定存在libmxnet.dll。我覺得我失去了一些明顯的東西。

回答

1

我會幫你解決這個問題。

I have checked the directory and am sure libmxnet.dll exists. I feel like I am missing something obvious.

如果libmxnet.dll存在,但我們得到的缺失模塊錯誤,這意味着在其libmxnet.dll取決於缺少一個或多個DLL。

您可以從「https://live.sysinternals.com/Procmon.exe」下載Process Monitor並捕獲文件系統活動。

的指令

  1. 下載 「https://live.sysinternals.com/Procmon.exe
  2. 開始 「Procmon.exe」
  3. 點擊按Ctrl +大號帶來過濾UI
  4. 選擇 「路徑」,「以「,」.dll「結尾,然後」包含「來自 的過濾器」顯示符合這些條件的條目「
  5. 點擊確定。我們配置了Procmon來監視DLL活動
  6. 現在嘗試重現導致缺少模塊錯誤的問題
  7. 從進程監視器中,選擇「文件」|「保存選項(或按下Ctrl + S)
  8. 確保「機進程監視器格式(PML)」被選擇使用當前的濾波器被選擇
    生成PML文件
  9. 確保事件顯示。
  10. 郵件的PML文件,我在[email protected]
+0

@ Thomas Fritsch,非常感謝上面格式化我的文章。我很感激。 – Eftiquar

+0

你好,你想共享進程監控日誌來進一步分析這個嗎?我會很高興爲你分析這個。 – Eftiquar

0

構建和安裝MXNet自己,你需要下面的依賴關係。安裝所需的依賴項:

  1. 如果[Microsoft Visual Studio 2017(https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15)尚未安裝,請下載並安裝它。您可以下載並安裝免費社區版。
  2. 如果尚未安裝,請下載並安裝CMake GUI version
  3. 下載並安裝OpenCV
  4. 解壓縮OpenCV軟件包。
  5. 將環境變量「OpenCV_DIR」設置爲值「OpenCV build directory」。
  6. 如果您沒有安裝英特爾數學核心函數庫(MKL),請下載並安裝OpenBlas
  7. 將環境變量「OpenBLAS_HOME」設置爲指向包含「include」和「lib」目錄的「OpenBLAS」目錄。通常,您可以在「C:\ Program files(x86)\ OpenBLAS \」中找到該目錄。
  8. 下載並安裝CuDNN。要訪問下載鏈接,請註冊爲NVIDIA社區用戶。

你已經安裝了所有必需的依賴關係後,建立MXNet源代碼:

  1. GitHub下載MXNet源代碼。
  2. 打開本機工具命令提示符的Visual Studio 2017年(選擇64位或x86要求本地)
  3. 啓動CMake的GUI工具之前安裝的,從這個命令提示符
  4. 在CMake的工具UI,「瀏覽源代碼」按鈕中並導航到下載MXNet源的文件夾。例如 - 「/ GitHub上/孵化器 - mxnet」
  5. 下創建「/ GitHub上/孵化器 - mxnet」的文件夾,說releasex64
  6. 單擊「瀏覽構建..」,選擇以上
  7. 點擊創建的文件夾「配置「按鈕,對話框提示出現選擇發電機
  8. 選擇合適的發電機,例如Visual Studio的2017年Win64中,如果建設64
  9. 保留‘使用默認本地編譯器’選項
  10. 單擊Finish
  11. 點擊」打開項目「打開ge在Visual Studio IDE nerated項目
  12. 選擇「ALL_BUILD」,並建立要建立
  13. 在例如上述步驟5中創建的文件夾下libmxnet.dll找到配置「\ GitHub的\孵化器mxnet \ releasex64 \調試\ libmxnet.dll「