解决Could not load dynamic library 'libcudart.so.10.0'的问题

简介由于目前版本的Tensorflow还只能支持CUDA10.0,而英伟达的CUDA则是更新到了10.1,要解决这个问题,其实可以通过两个版本切换的方式来达到,要用哪个切换哪个。 下载CUDA10.0,我电脑上面已经配置了10.1版本了 wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux 添加可执行权限 sudo c

由于目前版本的Tensorflow还只能支持CUDA10.0,而英伟达的CUDA则是更新到了10.1,要解决这个问题,其实可以通过两个版本切换的方式来达到,要用哪个切换哪个。


下载CUDA10.0,我电脑上面已经配置了10.1版本了

wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux

添加可执行权限

sudo chmod +x cuda_10.0.130_410.48_linux

以sudo执行这个安装程序,记得这样选,只安装CUDA10.0但是不要安装驱动程序,选项可以参考我这边的截图

然后就会开始安装了,安装完成之后,sudo vim ~/.bashrc 修改环境变量,修改前如下

修改后,把这部分我们先前配置的删除,替换成如下,保存文件

  1. exportCUDA_HOME=/usr/local/cuda
  2. exportLD_LIBRARY_PATH=/usr/local/cuda/lib64:"$LD_LIBRARY_PATH:/usr/loacl/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
  3. exportPATH=/usr/local/cuda/bin:$PATH

使用 source ~/.bashrc 来应用环境配置,如果一切就绪,应该使用nvcc --version显示的就是CUDA 10.0版本了

  1. arenascat@TensorSystem:~$ nvcc --version
  2. nvcc: NVIDIA (R) Cuda compiler driver
  3. Copyright (c) 2005-2018 NVIDIA Corporation
  4. Built on Sat_Aug_25_21:08:01_CDT_2018
  5. Cuda compilation tools, release 10.0, V10.0.130

如果Pycharm那边再运行python还是没成功,就先把cuda目录文件删除,这个文件其实是一个软链接,之后,再重建一个链接就好了

  1. sudo rm -rf /usr/local/cuda
  2. sudo ln -s /usr/local/cuda-10.0/ /usr/local/cuda

再次运行调用了tensorflow-gpu的代码,可以看到已经成功的读取了库

如果要设置为CUDA 10.1的话,把上面的10.0改一改就行了


如果这个问题不能解决的话,再试试多设置一下环境变量,新建一个文件

sudo vi/etc/profile.d/cuda.sh

把以下内容复制进去并保存

  1. export PATH=$PATH:/usr/local/cuda/bin
  2. export CUDADIR=/usr/local/cuda

这一个位置也要新建一个文件,如果你装了10.1可能里面会已经有一个cuda10.1.conf不用管它

sudo vi /etc/ld.so.conf.d/cuda.conf

文件里面有这一句

/usr/local/cuda/lib64

应用设置

sudoldconfig
本文转自:https://blog.csdn.net/u012388993/article/details/102573117
新加评论 评论标题: