Could not load dynamic library ‘libcudart.so.11.0‘; dlerror: libcudart.so.11.0:

根据文章  Ubuntu16.04 部署 TensorFlow2-GPU版本(虚拟环境)部署完之后,就开始了我的训练之旅,训练了一天发现!!为什么我的训练过程这么慢!!

于是,我使用下面命令查看了一下:

nvidia-smi

发现我的GPU并没有被占用....

于是我查看了一下训练日志,满屏幕的:

Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No sudch file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.0/lib64:

但是我明明已经使用conda install 命令安装了cuda 和cudnn

可是这个的提示是我该目录找不到对应安装文件,也没有问题。

于是!在虚拟环境中添加临时环境变量LD_LIBRARY_PATH迫在眉睫

为了确认一下是不是这个问题,运行下面命令:

source activate tf2    # tf2为虚拟环境名称
echo $LD_LIBRARY_PATH    # 查看当前环境的环境变量

运行结果的确是:

/usr/local/cuda-10.0/lib64

所以,我们可以通过在激活虚拟环境时,顺便更改变量LD_LIBRARY_PATH,步骤如下:

1. 查看虚拟环境路径:

echo $CONDA_PREFIX

2. 在该路径下新建下列文件,目的是为了我们在使用 activate/deactivate 命令激活/退出虚拟环境时,可以自动运行activate.d/env_vars.sh或deactivate.d/env_vars.sh

cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

3. 编辑文件 activate.d/env_vars.sh

export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=anaconda3/envs/tf2/lib64    # 此处tf2为虚拟环境名称
                                                   # anaconda3/envs/..为虚拟环境的路径

4. 编辑文件 dectivate.d/env_vars.sh

export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
unset OLD_LD_LIBRARY_PATH

5. 退出环境

source deactivate tf2    # tf2为虚拟环境名称

6. 重新进入环境,检查是否正确

source activate tf2
echo $LD_LIBRARY_PATH

此时结果已经变成了我们在步骤3中设置的环境变量路径,设置完毕.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值