Ubuntu20.04 已经安装 Pytorch 但 Import 报错 - 解决记录
01 问题描述
笔者使用的是 Ubuntu 20.04.3 LTS,在使用 PyTorch 训练模型的时候,torch
模块引用失败,报错信息是:
OSError: /home/wang/.local/lib/python3.8/site-packages/torch/lib/…/…/nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11
使用的 Python 版本是 3.8.10
,torch 版本是 1.3.0
02 分析问题
从报错信息中可以提取出几个关键信息:
OSError
/nvidia/cublas/lib/libcublas.so.11
cublasLtGetStatusString
不查不知道,一查这些关键词都是描述CUDA
相关的内容:什么是 libcublas.so,Using the cuBLASLt API
在使用 pytorch 训练模型的时候,如果要使用 GPU 训练,需要在程序中显式调用,即使训练的物理机上有 GPU 也不会自动使用 GPU,需要在程序中调用。
但使用 CUDA 调用 GPU 和引用 Pytorch 出错有什么关系呢?
原来 Python 和 Pytorch,Pytorch 和 CUDA 都存在版本匹配问题,当然如果使用 anaconda 安装应该可以避免这也的问题,笔者使用 pip 安装所以出现了这种问题,通过查阅网上资源搞清楚了版本依赖关系
Pytorch 和 Python 之间版本匹配:
Pytorch 和 CUDA 之间版本匹配:
前面说到我们使用的 Python 版本是 3.8.10
,torch 版本是 1.3.0
,根据上面那个表这已经不配了,我又看了一下 CUDA 的版本结果是 11.7
结合报错信息中的 cublasLtGetStatusString
,CUDA 10.1
开始就用 cuBLASLt 轻量级库了。到这里,我们已经大概知道问题是出在 Pytorch 和 CUDA 版本匹配上了。
03 解决问题
知道了 Pytorch 和 CUDA 版本匹配有问题,cuda与torch的安装匹配 提供两个角度去修改版本问题。
笔者这里直接通过修改 Pytorch 版本完成对 Python 3.8 和 CUDA 11 的兼容问题,一举两得(指做一件事,同时收获两方面的好处)(指做一件事,同时收获两方面的好处)。
卸载当前版 torch,然后对照版本匹配表安装 1.8.0
的 torch 就好了。
pip3 uninstall torch
python3 -m pip install torch==1.8.0
最后,检验是否解决了问题
参考资料
如果文章对你有帮助,别忘了一键三连呀 👍 💬 ⭐️ 。您的支持是我坚持输出的最大动力 🐮🐴🐮🐴 。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghakif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13