不同conda不同cuda环境变量

文章目录

  • 更改虚拟环境中的环境变量
  • 删除虚拟环境的环境变量
  • 其他问题,参考:https://blog.csdn.net/mifangdebaise/article/details/124428380

  1. 参考了博客
    conda虚拟环境内安装CUDA9.0
    conda虚拟环境中设置环境变量
  2. 关于 cuda 的详细安装参见: 记录自己 Ubuntu 20.04 安装 CUDA 及 Pytorch

(2). 因为用的是 清华的国内镜像, 所以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/ (因为此网页内容比较多, 所以加载很慢) 中查看是否有具体的 cuda 版本 (可以用 Ctrl F cuda 进行搜索), 也可以看到
在这里插入图片描述
(3). 查看 cudnn 的版本, 所以也就确定了与 cuda11.3 相应的 cudnn 版本为 8.2.1
在这里插入图片描述
确定好所需的各个版本之后就可以利用 conda 进行安装了

按照 ubuntu安装cuda,cudnn,pytorch 中的步骤安装, 但是要选择我们 上面所确定的各个版本 就行了.


如果通过上面的方法利用 conda 创建了 pytorch 的虚拟环境, 并参照 ubuntu安装cuda,cudnn,pytorch 安装了 cuda 和 Pytorch, 但是在用时, Pytorch 不能调用 cuda, 那么考虑让 pytorch 的虚拟环境调用系统的 cuda. 也就是接下来的所有内容了.


更改虚拟环境中的环境变量

使用 conda env config vars set my_var=value 设置当前虚拟环境中的自定义环境变量,这里使用以下命令更改 “所有虚拟环境” 内的 cuda 环境变量 (关于系统 cuda 的环境变量, 可以参考 记录自己 Ubuntu 20.04 安装 CUDA 及 Pytorch 中所列的. ):

conda env config vars set PATH=/mypath/cuda11.06/bin:$PATH
conda env config vars set LD_LIBRARY_PATH=/mypath/cuda11.06/lib64:$LD_LIBRARY_PATH
conda env config vars set CUDA_HOME=/mypath/cuda

如果只想改变 “某个虚拟环境” 的环境变量可通过 -n 参数

conda env config vars set PATH=/mypath/cuda11.06/bin:$PATH -n my_env
conda env config vars set LD_LIBRARY_PATH=/mypath/cuda11.06/lib64:$LD_LIBRARY_PATH -n my_env
conda env config vars set CUDA_HOME=/mypath/cuda -n my_env

这样, 只有进入 my_env 的环境时会默认使用 cuda11.06, 其余的虚拟环境不受影响.

然后重启虚拟环境 conda activate my_env

以及可以使用 conda env config vars list 来查看虚拟环境中的环境变量.

我自己的操作如下

dell@dell-Tower:~$ conda env config vars set PATH=/usr/local/cuda-11.6/bin:$PATH -n pytorch
dell@dell-Tower:~$ conda env config vars set LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH -n pytorch
dell@dell-Tower:~$ conda env config vars set CUDA_HOME=/usr/local/cuda -n pytorch
dell@dell-Tower:~$ conda activate pytorch
WARNING: overwriting environment variables set in the machine
overwriting variable PATH LD_LIBRARY_PATH CUDA_HOME
(pytorch) dell@dell-Tower:~$ conda env config vars list
PATH = /usr/local/cuda-11.6/bin:/usr/local/cuda-11.6/bin:/opt/texlive/2022/bin/x86_64-linux:/opt/anaconda3/condabin:/opt/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LD_LIBRARY_PATH = /usr/local/cuda-11.6/lib64:/usr/local/cuda-11.6/lib64:
CUDA_HOME = /usr/local/cuda

删除虚拟环境的环境变量

使用 conda env config vars unset my_var \-n my_env. -n 同样是指定去除那个虚拟环境中设置的自定义环境变量.

其他问题,参考:https://blog.csdn.net/mifangdebaise/article/details/124428380

你可能感兴趣的:(机器学习,conda,conda)