解決 Python3裡 libcudart.so.10.0: cannot open shared object file: No such file or directory

因為有些tensorflow版本無法對應到CUDA10.1版 (我用的顯卡是GTX 2080TI)

加上一些程式需要跑比較舊的tensorflow版本 (想對應tensorflow==1.14.0)

所以需要將cuda切換成10.0版來對應,安裝完CUDA後會顯示

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

找到的解決方案如下:

安裝完CUDA10.0後下指令
sudo gedit ~/.bashrc

找到
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-10.0

把CUDA10.1改成CUDA10.0

後重開機下指令nvcc -V 會顯示
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

此時CUDA已經切成10.0了 (我的本來是顯示10.1)

然後我們需要重新建立/usr/local/cuda的軟連接

先刪除目前的軟連接
sudo rm -rf /usr/local/cuda

重新接上新的軟連接10.0版
sudo ln -s /usr/local/cuda-10.0/ /usr/local/cuda

新接上新的軟連接10.0版

然後新建一個新的文件
sudo gedit /etc/profile.d/cuda.sh
複製以下內容貼上並儲存
export PATH=$PATH:/usr/local/cuda/bin
  1. export CUDADIR=/usr/local/cuda


另一個位置也要邁立一個文件,如果本來有裝10.1可能裡面已經有一個cuda10.1.conf不用管它
sudo gedit /etc/ld.so.conf.d/cuda.conf
複製以下內容貼上並儲存
/usr/local/cuda/lib64

最後設定以上的應用
sudo ldconfig

參考 reference:

https://blog.csdn.net/u012388993/article/details/102573117

https://blog.csdn.net/chenjiyou363753068/article/details/84374661

留言

熱門文章