tensorflow/pytorch臨時指定CUDA版本,解決版本適配問題

經典的深度學習引擎,如tensorflow和pytorch,其自身版本與CUDA版本有着嚴格的對應關係,一點點的不符都會使得程序無法運行。

例如,我目前的默認CUDA==10.2,現在需要跑tensorflow-gpu==1.13.1的代碼(要求CUDA==10.0),就會報出這樣的錯誤:

ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

由於復現實驗時,原始代碼的tensorflow/pytorch版本往往五花八門,只靠一個版本的CUDA來一招鮮喫遍天是不現實的,必然要安裝多版本CUDA。

然而,指定CUDA版本也很繁瑣,常規方法是開多個conda虛擬環境, 爲每個環境指定一個CUDA版本,但不免繁瑣。

其實,一個簡單的方法就能夠臨時切換使用的CUDA版本,就是在執行代碼前指定環境變量LD_LIBRARY_PATH爲你想使用的特定版本的CUDA的路徑。

例如,爲run.py指定使用CUDA=10.0

LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64 python run.py

其他版本,把cuda-10.0改成對應版本即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章