pytorch+win10+pip安装 for 2080TI GPU
入手2块2080TI GPU,开启安装之旅~
1.Pytorch安装
在https://pytorch.org/pytorch主页选择对应的torch及torchvision版本:
pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
这里选择的是cuda10.1对应的pytorch gpu版本。
1.1 torchvison和pytorch版本的对应关系
详见网站https://pypi.org/project/torchvision/。
1.2 下载对应版本的torch及torchvison wheel
可在官网下载https://download.pytorch.org/whl/torch_stable.html对应的版本,并cd到下载文件进行安装。
注:linux版可参考手把手教会你在Linux服务器上安装用户级别的CUDA或ubuntu下安装多版本cuda及版本切换教程
。
2.CUDA安装
这里的CUDA安装指的是cuda runtime版本的安装。
可以在NVIDIA官网查询驱动版本对应的cuda版本。
到nvidia 官方cuda-toolkit-archive下载对应的cuda版本,并安装。
cuda-10.1版本,也可以通过官网https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal下载。
不得不重复地说,下载速度很冻人~
CUDA安装时使用了推荐的精简模式,安装过程中倒是没有报啥错误~
注意CUDA driver
版本和runtime
版本的区别:
CUDA drive
r版本通过nvidia-smi
命令查看:
而runtime
版本通过nvcc --version
查看:
更多内容可参考图文并茂讲解CUDA, CUDA Toolkit, CUDA Driver, CUDA Runtime, nvcc之间的关系及其版本兼容性。
3.cudnn安装
在英伟达官网下载对应的cudnn版本:
然后将下载文件解压,并复制到对应文件夹。
CUDA默认安装位置:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
4.安装过程中可能遇到的bug
4.1 ImportError: numpy.core.multiarray failed to import
安装完成后,输入import torch
,若产生该错误,可能是由于numpy版本过高导致,可以将numpy卸载并安装较低版本,这里安装的是:
pip install numpy==1.15.0
5.基本使用
5.1 信息获取
- cuda版本
torch.version.cuda
- 可使用的GPU数目
torch.cuda.device_count()
- 是否有可用的GPU
torch.cuda.is_available()
5.2 查找并使用显存最大的GPU
# 获取每个 GPU 的剩余显存数,并存放到 tmp 文件中
os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp')
memory_gpu = [int(x.split()[2]) for x in open('tmp', 'r').readlines()]
os.environ['CUDA_VISIBLE_DEVICES']=str(np.argmax(memory_gpu))
#torch.cuda.set_device(np.argmax(memory_gpu))
os.system('rm tmp') # 删除临时生成的 tmp 文件
5.3 执行代码时指定GPU卡
如果有多张卡,指定使用某些卡,如第0,1张GPU,可以设置如下:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1"
注意,该代码应该放在import torch
之前。
5.4 清理僵尸进程
GPU明明已经不再使用,但缓存仍然被占用不少,该如何处理?
查询占用内存并清理:
fuser -v /dev/nvidia*
kill -9 1793
也可以一键清理所有进程:
sudo fuser -v /dev/nvidia0 |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
参考文献
[1] https://github.com/pytorch/pytorch
[2] https://pypi.org/project/torchvision/
[3] https://download.pytorch.org/whl/torch_stable.html
[4] 手把手教会你在Linux服务器上安装用户级别的CUDA
[5] ubuntu下安装多版本cuda及版本切换教程
[6] cuda-toolkit-archive
[7] 图文并茂讲解CUDA, CUDA Toolkit, CUDA Driver, CUDA Runtime, nvcc之间的关系及其版本兼容性
[8] 如何清理GPU的使用
[9] 清理指定GPU显卡中残留进程