构建Pytorch虚拟环境

查看显卡状态(Linux、Windows)

nvidia-smi

在这里插入图片描述
在这里可以看到已装显卡型号、显存占用、哪些进程在占用显存、驱动版本、驱动可支持最高cuda版本

发现显存不足时可杀掉目前占用显存的非关键进程(如带python的进程)

kill -9 (PID编号)

如果nvidia-smi命令下显示显存被占用但没有显示占用进程,可输入下面命令进一步查看:

fuser -v /dev/nvidia*

若查看显卡状态指令无效,需给nvidia显卡装上对应的驱动。

创建虚拟环境

Linux安装Anaconda

Anaconda官网找到Liunx版本的Anaconda,cd到安装包根目录下,安装(尽量不要在root下装):

bash Anaconda3-2020.11-Linux-x86_64.sh

安装完成后修改全局环境变量文件(也可以修改~/.bashrc,但修改该文件只能对当前用户有效,其他用户也得自行修改):

sudo nano /etc/profile

在文件内加入语句:

export PATH=$PATH:/home/xx/anaconda3/bin

这里我写入的时Anaconda默认的安装目录。
然后激活文件:

source /etc/profile

输入指令,若能看到conda版本即配置完成:

conda -V

输入下面指令可看到conda的各种配置(如虚拟环境目录env_dirs):

conda config --show

另外,为了使用Anaconda带的pip而非系统原本的pip,可修改~/.bashrc文件:

sudo nano ~/.bashrc
alias pip=/home/xx/anaconda3/bin/pip
source ~/.bashrc

输入pip -V查看是否修改成功

使用虚拟环境中pip安装包到当前虚拟环境:

python -m pip install (包)

开始配置

可使用命令行的方式创建(windows、Linux):

conda create -n (虚拟环境名称) python=(你的python版本,如3.7)

对于Windows,也可以打开Anaconda Navigator使用图形界面安装:
在这里插入图片描述
使用命令行可查看已经建立的虚拟环境:

conda info -e

在这里插入图片描述

使用命令行进入到你已经建立好的pytorch使用的虚拟环境:

conda activate (虚拟环境名称)

在这里插入图片描述
使用命令行可删除某一虚拟环境:

conda remove -n (虚拟环境名称) --all

对于VScode,若想使用Jupyter Notebook,也就是跑ipynb文件,还需装下面两个包

conda install nb_conda
conda install ipykernel

新建一个ipynb文件,选择对应的虚拟环境对代码进行解析,代码能跑而不卡死即可
在这里插入图片描述
若卡死,可更新这两个包

pip install --upgrade ipykernel

安装Cuda和Cudnn

nvidia官网下载对应版本的cuda toolkit
在这里插入图片描述
选择自己需要的版本,对于下面的wget命令可直接复制到浏览器上通过浏览器下载
在这里插入图片描述
安装成功:
在这里插入图片描述
加入环境变量中:

sudo nano ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda-11.1/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
source ~/.bashrc

输入命令验证:

nvcc -V

在这里插入图片描述
继续到nvidia官网下载cudnn,这里需要先注册一个nvidia账号
在这里插入图片描述
解压文件:

tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz

将得到的文件放入指定位置:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

安装pytorch

方法一

pytorch官网找到自己对应的pytorch版本:(这里cuda版本能向下兼容,也就是说11.1的cuda能运行cuda10.2的torch)
在这里插入图片描述
激活虚拟环境后若直接在Anaconda Prompt(Linux直接在Terminal)输入命令行(下到某个包因网络问题失败时重新输入指令可继续下载):

conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

可能会因为网络问题安装失败,可以采用添加镜像源的方法,进入清华镜像源官网,找到pypiconda对应的镜像地址,Anaconda添加方式如下:

conda config --add channels (镜像源地址)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

并且设置下载某个包时显示这个包的下载源

conda config --set show_channel_urls yes

使用conda config --show找到channels这一块可查看是否成功添加该镜像源
在这里插入图片描述

最后记得不要直接使用官网提供的命令行,因为这依然会从官网下载pytorch;应使用:(记得要在自己建立好的虚拟环境内安装)

conda install pytorch torchvision cudatoolkit=10.2

方法二

输入官方指令后在控制台中会出现即将要安装的包,不要点确认下载,退出在这里插入图片描述
然后上到Anaconda Cloud,搜索找到对应版本的pytorch、cudatoolkit、torchvision、torchaudio,放到Anaconda安装目录下的pkgs文件夹下
在这里插入图片描述
执行命令行后耐心等待其提取成功:

conda install --use-local pytorch-1.7.1-py3.8_cuda110_cudnn8_0.tar.bz2

方法三

也可尝试pip安装,若直接使用官网给的指令下得很慢,可选择换个时间段再下(很玄学,有的时候下得特别快),也可指定镜像源(但镜像源里面的pytorch可能不支持最新版本的显卡,本人就遇到下下来后报3080无法使用的问题),如果中途下载失败可重复几次:

pip install torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple

最后在Jupyter中新建一个文本或直接命令行写入并运行代码,查看是否安装成功:

import torch
print(torch.__version__)
x = torch.tensor([1]).cuda()
print(x)

pip更换清华镜像源

在新建.pip文件夹:

mkdir ~/.pip

在该文件夹下新建pip.conf文件:

cd ~/.pip
touch pip.conf

在该文件内写入:

sudo nano pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

阿里云似乎更稳
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

Conda配置修改

conda config --add (某个配置项) (添加的值)
conda config --remove (某个配置项) (删除的值)
conda config --remove-key (某个配置项) 能够将配置项还原为默认设置
如添加虚拟环境路径:conda config --add envs_dirs /home/dell/anaconda3/envs/
如删除某个镜像源:conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

多版本cuda切换

有的github代码支持的是低版本torch,而低版本torch一般不支持太高版本的cuda,这时候就需要切换到低版本cuda(这里以cuda11.1切换到cuda10.0为例),同样的到nvidia官网下载10.0的cuda-toolkit,安装

sudo sh cuda_10.0.130_410.48_linux.run

发现新版本的gcc-9不支持10.0的cuda-toolkit编译
在这里插入图片描述
重新下载低版本的gcc-7

sudo apt install gcc-7

删除原来的gcc软链接并将链接指向gcc-7

sudo rm -rf /usr/bin/gcc
sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc

重新安装cuda-toolkit10.0,安装过程中有直接修改软链接的选项:
在这里插入图片描述
后面需要切换时同样可以先删除后重链接

sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

查看是否链接成功:

stat cuda
在这里插入图片描述

再修改环境变量即可

sudo nano ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda-10.0/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
source ~/.bashrc

输入nvcc -V验证是否成功
在这里插入图片描述

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值