不同conda环境切换不同的CUDA版本
创作时间:
作者:
@小白创作中心
不同conda环境切换不同的CUDA版本
引用
CSDN
1.
https://blog.csdn.net/weixin_42999968/article/details/139326838
在深度学习和AI开发中,经常需要在不同的项目中使用不同版本的CUDA。本文将介绍如何在没有root权限的情况下,通过创建env_vars.sh文件来实现不同conda环境使用不同CUDA版本的需求。需要注意的是,由于CUDA和conda的版本可能会更新,因此在实际操作时需要根据自己的具体环境进行调整。
原因
由于服务器中安装了两个版本的CUDA(CUDA10.1和CUDA11.1),不同项目可能需要应用不同的CUDA版本,但是自己又没有root权限或者只想在使用指定conda环境时改为用指定的CUDA版本。总结起来有三种方法:
- 修改软链接指向,但是这样会使得所有环境以及所有账户的CUDA版本都改变,会影响其他人(强烈不推荐)
- 修改
~/.bashrc文件(修改方法见“不同Linux账户切换不同的CUDA版本”),这样不会改变其他账户的CUDA版本,但是自己账户下的所有conda环境都会改变CUDA版本,有时候不同conda环境安装的torch版本不一样,用到的CUDA版本也可能不一样。(不太推荐) - 增加
env_vars.sh文件 (修改方法见“不同conda环境切换不同的CUDA版本”)。这样修改则是不同的conda环境使用的CUDA版本不一样(强烈推荐)。
下面介绍方法3的修改
修改步骤
1. 查看默认的CUDA版本
一般而言,默认会在 /usr/local/ 下面创建一个软链接,指向某个CUDA版本。
cd /usr/local
ls -al
这将显示当前的CUDA版本软链接。例如,如果输出显示CUDA指向的是10.1版本,那么默认CUDA版本就是10.1。
我们来验证一下是不是所有的项目都默认采用CUDA10.1编译器。
- SAM环境中为CUDA,(即指向CUDA10.1)
- YOLOv5环境中为CUDA,(即指向CUDA10.1)
2. 创建 activate.d 目录和 env_vars.sh 文件
用下面命令创建 activate.d 目录,注意 activate.d 是文件夹,不是文件。$CONDA_PREFIX 表示获取当前conda环境路径。
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
vim $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
在 env_vars.sh 文件中添加以下代码,并保存。这里以将默认的CUDA软链接路径改为CUDA11.1为例,根据你自己的CUDA版本自行修改:
#!/bin/bash
export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
确认是否创建好了 env_vars.sh 文件。
3. 验证是否切换成功
创建好了 env_vars.sh 文件后,必须重置环境才能生效。可以通过以下方式之一来实现:
source ~/.bashrc- 切换到其他环境,再切换回来
验证切换结果:
- YOLOv5环境的CUDA版本切换成功。
- SAM环境的CUDA版本保持不变。
大功告成
4. 顺便提一句(torch编译时的CUDA版本和运行时的CUDA版本)
上面的 torch.utils.cpp_extension.CUDA_HOME 是运行时用到的CUDA版本
torch.version 显示的是编译时用到的CUDA版本
热门推荐
取消“就业报到证”后就业工作衔接问题及对策
蒙古人名都是什么意思你知道吗?
种植牙+核磁共振+CT检查=冲突?看完这篇你就懂了!
衡量两个函数(曲线)外观相似度的算法
八字五行如何才命好
纪念嵇康诞辰1800周年:国图邀读者“听广陵绝响 品千古风流”
对鼻炎最好的运动
面试前如何快速了解应聘公司的企业文化并在面试中体现契合度
糖耐量试验有必要做吗?
独家盘点!青岛行政区划历史变迁揭秘,那些你闻所未闻的青岛故事
如何识别与处理蜱虫叮咬:一份实用的健康指南
走进玫瑰的世界:品种、养护与选购全攻略
耐高温电缆的耐温等级,型号,分类,性能及适用范围
外贸管理中的物流与供应链优化策略
竣工验收全解析:作用、类型、步骤及板栗看板工具的应用
山东青岛各区市名称由来:从自然景观到历史变迁
魏晋名士的趣味解读(图)
嫦娥六号“31马赫让全世界更加文明了”?嫦娥五号就已实现
筏竿钓鱼技巧及注意事项:8个步骤为你正确解读,清晰图解
新发现!刷酶的原理是什么?唤醒体内酶促代谢!细品功效作用及优劣!
汽车行业是超疏水纳米涂层下游主要应用市场
明朝宗室人那么多,皇帝们是怎么解决的?
深入解析:句子的核心成分——表语从句
筏钓是微铅好还是重铅好?专业解析及铅坠种类详解
利率债2025年投资策略:辨材需待,顺时而动
延迟退休下,医院“老”护士的出路
什么是时尚风格?个人风格与历史风格指南
浅谈多并联SiC MOSFETs不均流问题
周朝是靠什么维系天下?
AI前沿—那些电影里的AI换脸技术