系统信息
描述问题
安装了cuda 11.2和cudnn 8.1.0.77。当我运行train.py时遇到以下问题
无法加载动态库“libcupti.so.11.0”; dlerror:libcupti.so.11.0:无法打开共享对象文件
问题解决了
列出
/usr/local/cuda-11.2/extras/CUPTI/lib64/lib*
上的 lib 文件
$ ls /usr/local/cuda-11.2/extras/CUPTI/lib64/lib*
我找不到
libcupti.so.11.0
。其他文件应该存在,例如 libcupti.so
、libcupti.so.11.2
、...
使用命令“sudo ln -s”管理
libcupti.so.11.2
和 libcupti.so.11.0 之间的链接
$ sudo ln -s /usr/local/cuda-11.2/extras/CUPTI/lib64/libcupti.so.11.2 /usr/local/cuda-11.2/extras/CUPTI/lib64/libcupti.so.11.0
列出 /usr/lib/x86_64-linux-gnu/libcup* 上的 lib 文件*
ls /usr/lib/x86_64-linux-gnu/libcup*
我找不到
libcupti.so.11.0
。其他文件应该在那里
那个libcupti.so
,libcupti.so,2
,libcupti.so.10.1
,...
使用命令管理
libcupti.so.11.2
和 libcupti.so.11.0
之间的链接 sudo ln -s
$ sudo ln -s /usr/local/cuda-11.2/extras/CUPTI/lib64/libcupti.so.11.2 /usr/lib/x86_64-linux-gnu/libcupti.so.11.0
这解决了我的问题
你可以运行:
pip install transformers[torch]
或将 torch 降级至 2.0.0。这对我来说是工作。
对于 Cuda-11.3,lib64 文件夹已从 /usr/local/cuda-11.2/extras/CUPTI/ 中删除。所有lib文件都移动到ls /usr/local/cuda/lib64/或ls /usr/local/cuda-11.3/lib64/。
列出 /usr/local/cuda/lib64/ 上的 lib 文件
$ ls /usr/local/cuda/lib64/libcupti*
我找不到libcupti.so.11.0。其他文件应该在那里,例如 libcupti.so、libcupti.so.11.3、...
使用命令“sudo ln -s”管理 libcupti.so.11.3 和 libcupti.so.11.0 之间的链接
$ sudo ln -s /usr/local/cuda-11.3/lib64/libcupti.so.11.3 /usr/local/cuda-11.3/lib64/libcupti.so.11.0
就是这样。享受
您需要配置二进制文件和库的路径。在 Ubuntu 20.04 LTS 上,我按照以下步骤操作。首先,使用
find
命令,搜索 nvcc
和 libcublas.so.*
的路径:
sudo find / -name 'nvcc' # Path to binaries
sudo find / -name 'libcublas.so.*' # Path to libraries
然后,根据上面找到的路径在文件末尾添加下一行
~/.profile
(或仅导出环境变量)。在我的系统中,Cuda 安装在 /usr/local/cuda-11.4
。
if [ -d "/usr/local/cuda-11.4" ]; then
export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/targets/x86_64-linux/lib/${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi
重新启动计算机并重试。
此错误通常源于 Python 和 PyTorch 或 TensorFlow 版本之间的不兼容。在我的例子中,将 Python 从 3.8 升级到 3.9 解决了这个问题。或者,考虑通过升级或降级来调整 PyTorch / TensorFlow 版本以匹配您的 Python 环境。