给虚拟环境指定cuda

这个问题其实在zhihu看到过,但是现在没找到,就把按自己代码中的过程放在这里做个笔记

原因:

因为一些github代码比较老,导致torch版本比较老,只能支持cuda10.0,但由于自己电脑是10.1,所以有了在conda虚拟环境中配置cuda的想法(Tip:一般cuda版本向下兼容,如果自己电脑支持最高10.1,那么比10.1低的版本按道理都可以,兼容问题可查看我另外一篇文章link

操作:

执行两个步骤(下面注意修改为自己的路径):

  • 增加启动文件:
#建立退出环境下的文件夹
mkdir -p /home/你自己的用户名/anaconda3/envs/你自己的环境名字/etc/conda/activate.d
#写入脚本
vi /home/你自己的用户名/anaconda3/envs/你自己的环境名字/etc/conda/activate.d/activate.sh

写入以下内容,我需要的是10.0

ORIGINAL_CUDA_HOME=$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
  • 增加退出文件
#建立退出环境下的文件夹
mkdir -p /home/你自己的用户名/anaconda3/envs/你自己的环境名字/etc/conda/deactivate.d
#写入脚本
vi /home/你自己的用户名/anaconda3/envs/你自己的环境名字/etc/conda/deactivate.d/deactivate.sh

写入以下内容

export CUDA_HOME=$ORIGINAL_CUDA_HOME
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
unset ORIGINAL_CUDA_HOME
unset ORIGINAL_LD_LIBRARY_PATH
  • 测试

首先先在本机查看环境变量 CUDA_HOME

echo $CUDA_HOME

输出为空,表示回到自己机器环境

激活环境后

echo $CUDA_HOME

结果为/usr/local/cuda-10.0
大功告成。

posted @ 2021-07-04 20:57  小Aer  阅读(78)  评论(0编辑  收藏  举报  来源