问题描述
配置好tensorflow环境后,输入
python -c "import tensorflow as tf; print(tf.test.is_built_with_cuda()); print(tf.test.is_gpu_available())"
提示
Could not load dynamic library 'libcudart.so.11.0';
....
Skipping registering GPU devices...
False
原因
系统查找动态库的默认路径是:
/lib、/usr/lib(系统默认路径)/etc/ld.so.conf配置的路径- 环境变量
LD_LIBRARY_PATH中的路径
而用 conda install cudatoolkit cudnn 时:
- 它们并不会安装到
/usr/local/cuda(系统路径) - 而是安装在:
$CONDA_PREFIX/lib/
例如:
/root/miniconda3/envs/自定义环境/lib/
但这个路径默认不在系统的搜索路径列表里 ❌
解决办法:手动导入
通过这条命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/
查询当前库路径:
echo $LD_LIBRARY_PATH
永久解决办法
编辑 ~/.bashrc 或 ~/.bash_profile:
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib' >> ~/.bashrc
然后:
source ~/.bashrc
这样以后每次激活环境时,路径会自动生效

被折叠的 条评论
为什么被折叠?



