Could not load dynamic library ‘cublas64_10.dll‘; dlerror: cublas64_10.dll not found或者缺少DLL問題
專案場景:
tensorflow對GPU的支援,尤其是對英偉達GPU的支援,不只是下個tensorflow-gpu就完事了,還需要一系列顯示卡相關的軟體的版本匹配,比如最常見的就是那個cuda的版本匹配問題。當然匹配後也不可避免的有很多奇怪的問題,接下來我要講的就是其中一個
Could not load dynamic library ‘cublas64_10.dll’; dlerror: cublas64_10.dll not found
Could not load dynamic library ‘cufft64_10.dll’; dlerror: cufft64_10.dll not found
Could not load dynamic library ‘curand64_10.dll’; dlerror: curand64_10.dll not found
Could not load dynamic library ‘cusolver64_10.dll’; dlerror: cusolver64_10.dll not found
Could not load dynamic library ‘cusparse64_10.dll’; dlerror: cusparse64_10.dll not found
問題。
(不過如果有同學提示的是沒有cuDNN的dll檔案,那就看一下附錄!,這邊的報錯是針對版本配好的)
問題描述:
很多同學根據網上的提示都配好了CUDA的環境,但發現執行還是會有一大堆奇怪的提示,但是訓練似乎沒受影響很多同學可能就沒多想,畢竟一大堆專業名詞,沒報錯就等於沒錯好了。
但我們仔細看就發現問題了:
Skipping registering GPU devices…,
翻譯一下,跳過GPU,好傢伙,人家壓根就沒用你的GPU,沒報錯也就是因為你還有個CPU,所以全然不知,就算訓練速度慢了,也沒個概念,感覺估計就這個速度算快了吧。
但我們不可能搞個那麼值錢的GPU為了深度學習,結果還不用,那也太浪費了,接下來就是分析一下怎麼除錯吧。
原因分析:
我們可以看到上面的一些提示
那種什麼successfully的肯定是沒問題,但那些could not load的肯定是有問題了,可是我們明明對了版本為什麼還是會說打不開呢?
Could not load dynamic library 'cublas64_10.dll'; dlerror: cublas64_10.dll not found
Could not load dynamic library 'cufft64_10.dll'; dlerror: cufft64_10.dll not found
Could not load dynamic library 'curand64_10.dll'; dlerror: curand64_10.dll not found
Could not load dynamic library 'cusolver64_10.dll'; dlerror: cusolver64_10.dll not found
Could not load dynamic library 'cusparse64_10.dll'; dlerror: cusparse64_10.dll not found
解決方案:
其實解決辦法很簡單,去到我們的CUDA按照路徑,一般都是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
我們會在裡面找到這些所謂的could not load的檔案,說明我們都是有的
但為什麼打不開呢?看仔細點,人家字尾是10,我們的字尾都是100
所以我們嘗試一下,把字尾名改成10看看
再放回去那個資料夾
再重新啟動我們的程式
而且我們可以看到那個Skipping registering GPU devices…也沒了,那就是說明他啟動成功了,但最直觀的證明在哪呢?你的訓練速度現在應該是幾何倍數的提升了,像之前我的示例簡單的一個手寫數字識別,原來啟動失敗訓練10輪的時間的5分20秒,啟動獨顯後訓練時間是53秒。這就是你那塊那麼值錢的顯示卡的厲害之處。
附錄:
有些同學可能是連CUDA都沒更新好,那用這個辦法肯定是不行的,我這邊就簡單附上一個tensorflow-gpu版本和CUDA版本的對應圖
以及對應的cuDNN的版本:
相關文章
- 解決:Could not load dynamic library ‘cudart64_101.dll‘; dlerror: cudart64_101.dll not foundDartError
- tensorflow2.x 報錯 Could not load dynamic library 'cudart64_101.dll'Dart
- ORA-15180: could not open dynamic library ASM LibraryASM
- 關於開啟軟體提示各種缺少dll問題
- Qt5打包後缺少dll,啟動失敗問題QT
- 排查qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.QTPluginPlatform
- caffe Check failed: cv_img.data Could not load問題排查記錄AI
- 解決 php安裝時提示缺少 msvcr110.dll 的問題PHP
- Unreal: Dynamic load map from Pak fileUnreal
- MySQL server PID file could not be found!MySqlServer
- crontab執行jar包時,Could not find or load main class(找不到或者載入不到主類)JARAI
- SpringBoot學習——@Autowired自動注入報:could not be found問題的理解和解決方案Spring Boot
- 解決 allure.dynamic.parameter 不生效問題 或者 allure 報告中因為引數導致排版的問題
- Hadoop問題解決:Unable to load native-hadoop library for your platform...HadoopPlatform
- because it is a JDK dynamic proxy that implements 問題JDK
- windows下mysql安裝缺少某個dllWindowsMySql
- PL/SQL Developer啟動時報錯,Initialization error could not load xxxx\oci.dllSQLDeveloperError
- Linux有問必答:如何修復“sshd error: could not load host key”LinuxError
- LIBRARY CACHE LOCK WAITS AND NO BLOCKER FOUNDAIBloC
- 解決Qt編譯動態連結庫could not find or load the Qt platform plugin "windows" in.問題QT編譯PlatformPluginWindows
- 啟動 Eclipse 彈出“Failed to load the JNI shared library jvm.dll”錯誤的解決方法!EclipseAIJVM
- IDEA 報錯Failed to load JVM DLLIdeaAIJVM
- Can't load IA 32-bit .dll on a
- TCP/UDP的埠Dynamic Port Range問題TCPUDP
- 不是缺少人才,而是面試過程有問題面試
- kattle Driver class 'oracle.jdbc.driver.OracleDriver' could not be foundOracleJDBC
- 【轉】啟動 Eclipse 彈出“Failed to load the JNI shared library jvm.dll”錯誤的解決方法!...EclipseAIJVM
- ORA-600 [unable to load XDB library] in AIXAI
- 如何處理 No DMARC Record Found 問題
- ORACLE SELECT INTO NO_DATA_FOUND問題Oracle
- load d3dcompiler_46.dll failed3DCompileAI
- xcode10 library not found for -lstdc++.6.0.9XCodeC++
- Could not find jar tool executable問題解決JAR
- Dynamic Parameters造成的linked server效能問題Server
- Fotify掃描問題Dynamic Code Evaluation:Code Injection
- JS中缺少分號可能引發的問題JS
- Mysql啟動錯誤-server PID file could not be foundMySqlServer
- go tool compile 報錯 could not import sync (file not found)GoCompileImport