• 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迫在眉睫

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

    1. source activate tf2 # tf2为虚拟环境名称
    2. 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

    1. cd $CONDA_PREFIX
    2. mkdir -p ./etc/conda/activate.d
    3. mkdir -p ./etc/conda/deactivate.d
    4. touch ./etc/conda/activate.d/env_vars.sh
    5. touch ./etc/conda/deactivate.d/env_vars.sh

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

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

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

    1. export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}
    2. unset OLD_LD_LIBRARY_PATH

    5. 退出环境

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

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

    1. source activate tf2
    2. echo $LD_LIBRARY_PATH

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

  • 相关阅读:
    Python使用Beautiful Soup及解析html获取元素并提取内容值
    大数据智能化-长视频领域
    性能指标详解
    SpringBoot启动流程大揭秘
    Redis 持久化
    Clock uncertainty的通俗解释
    Compose 动画艺术探索之 AnimationVector
    【视觉SLAM入门】7.2. 从卡尔曼滤波到扩展卡尔曼滤波,引入、代码、原理、实战,C++实现以及全部源码
    2022年了有哪些值得推荐的.NET ORM框架?
    if,case,for,while
  • 原文地址:https://blog.csdn.net/weixin_38739735/article/details/125540658