Linux修改Pytorch的CUDA版本
原理
详细原理参见https://www.cnblogs.com/yhjoker/p/10972795.html
简单原理就是通过修改$PATH
环境变量,pytorch会以最前面的CUDA版本为准
例如,你可能装过2个版本的cuda
/usr/local/cuda-11.1
/usr/local/cuda-11.0
查看以下两个环境变量
echo $PATH
echo $LD_LIBRARY_PATH
可以看到我的此shell下,cuda11.0在cuda11.1前面,那么pytorch实际运行的就是11.0版本的cuda
修改方法
永久修改当前用户下的环境变量
- 修改
~/.bashrc
文件
vim ~/.bashrc
- 添加
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.0/bin:$PATH
- 在当前shell下重新运行
~/.bashrc
文件
source ~/.bashrc
这样每次打开新shell的时候会自动运行~/.bashrc
文件,以达到永久性修改。(不过最新的chrome ssh安全外壳有毒,需要手动运行一下。。)
不用担心来回修改版本,source了太多次~/.bashrc
文件添加了很多环境变量,你新开一个shell就是了
临时修改
不多说了,直接运行加的那两行代码即可
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.0/bin:$PATH
检验效果
老方法,使用pytorch的方法查看
torch.version.cuda
你突然发现,纳尼,怎么还是老版本cuda没变?
假如你头铁继续运行代码,突然会产生如下的报错——
NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation
最可能的情况:你的pytorch和cudatoolkit分别用pip和conda安装的。
详情见这里
例如:你的pytorch用pip安装的,但是cudatoolkit用conda安装的,pytorch会检索pip使用的cudatoolkit版本,而不会查看conda里面的cudatoolkit
解决方法:重装,去官网要么都用conda、要么都用pip重装
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理