• 售前

  • 售后

热门帖子
入门百科

Linux安装Pytorch1.8GPU(CUDA11.1)的实现

[复制链接]
阿豆学长长ov 显示全部楼层 发表于 2021-10-26 13:04:26 |阅读模式 打印 上一主题 下一主题
先说下本身之前的情况(都是Linux系统,差异不大):
      
  • Centos7.6  
  • NVIDIA Driver Version 440.33.01(等会需要更新驱动)  
  • CUDA10.1  
  • Pytorch1.6/1.7
提示,假如想要保留之前的PyTorch1.6或1.7的情况,请不要卸载CUDA情况,可以通过Anaconda管理差别的情况,互不影响。但是需要注意你的NVIDIA驱动版本是否匹配。

在这里可以或许看到官方给的对应CUDA版本所需使用驱动版本。

通过上表可以发现,假如要使用CUDA11.1,那么需要将显卡的驱动更新至455.23或以上(Linux x86_64情况)。由于我之前的驱动版本是440.33.01,那么肯定不满意,所以需要更新下显卡的驱动。通过以下指令可以检察你电脑上的驱动版本:
  1. nvidia-smi
复制代码
假如你的驱动版本是满意的,那么可以直接跳到创建Pytorch1.8假造情况章节。
更新驱动

卸载旧驱动

我之前安装的是NVIDIA-440的版本,找到之前下载的安装步伐,然后打开终端通过以下指令进行卸载:
  1. sh ./NVIDIA-Linux-x86_64-440.33.01.run --uninstall
复制代码
安装新驱动
1)下载驱动,直接去NVIDIA官网下载:https://www.nvidia.cn/Download/index.aspx?lang=cn

根据你的GPU型号以及利用信息选择对应的驱动,注意CUDA Toolkit11版的当前可选的只有11.0和11.2,而我们要装的是11.1所以选择11.2即可。
2)关闭Xserver服务 (假如没有安装桌面系统可以跳过)
我的桌面系统是gdm(GNOME Display Manager)范例的,通过
  1. systemctl
复制代码
可以看到:
  1. systemctl status gdm.service
复制代码
显示效果:
  1. ● gdm.service - GNOME Display Manager
  2. Loaded: loaded (/usr/lib/systemd/system/gdm.service; enabled; vendor preset: enabled)
  3. Active: active (running) since Fri 2021-01-22 09:27:06 CST; 1 months 22 days ago
  4. Process: 32347 ExecStartPost=/bin/bash -c TERM=linux /usr/bin/clear > /dev/tty1 (code=exited, status=0/SUCCESS)
  5. Main PID: 32344 (gdm)
  6. Tasks: 22
  7. CGroup: /system.slice/gdm.service
  8. ├─32344 /usr/sbin/gdm
  9. └─32357 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-mBzawN/databa...
  10. Jan 22 09:27:06 localhost.localdomain systemd[1]: Starting GNOME Display Manager...
  11. Jan 22 09:27:06 localhost.localdomain systemd[1]: Started GNOME Display Manager.
复制代码
关闭gdm服务:
  1. systemctl stop gdm.service
复制代码
注意,假如还开启了雷同VNC长途桌面的服务也要记得关闭。
3)安装新版本驱动
  1. sh ./NVIDIA-Linux-x86_64-460.32.03.run
复制代码
4)查抄nvidia服务
通过以下指令可以或许看到当前主机上的nvidia驱动版本以及全部可用GPU装备信息。
  1. nvidia-smi
复制代码
5)再次开启桌面服务、VNC等
假如不是gdm大概不使用桌面情况可以跳过此步调
  1. systemctl start gdm.service
复制代码
创建PyTorch1.8假造情况

为了差别版本之间的情况相互隔离,强烈发起使用Anaconda的假造情况。其实使用起来也非常简单:
创建假造情况,这里我创建了一个名为torch18的假造情况,而且创建python3.8的编译情况。
  1. conda create -n torch18 python=3.8
复制代码
安装完成后,激活假造情况
  1. conda activate torch18
复制代码
接着安装点常用的包,这里直接通过
  1. requirements.txt
复制代码
批量安装(不需要可以跳过)
  1. pip install -r requirements.txt
复制代码
  1. requirements.txt
复制代码
文件里可以是你常用的一些包,比方:
  1. numpy==1.17.0
  2. matplotlib==3.2.1
  3. lxml==4.6.2
  4. tqdm==4.42.1
复制代码
假如需要退出假造情况,实行以下指令即可:
  1. conda deactivate
复制代码
安装PyTorch1.8

在线安装

进入PyTorch官网:https://pytorch.org/

我们通过选择本身的系统范例、安装方式以及CUDA的版本可以得到对应的安装指令。官方默认会顺带安装torchvision和torchaudio但我只需要torchvision所以通过以下指令安装 (注意,要进入对应的假造情况安装,比方上面的torch18情况)
  1. pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html
复制代码
安装完成后就可以使用了,不需要在单独安装CUDA,而且不会影响之前安装的CUDA版本。
下面进行简单的测试:
首先在终端输入
  1. python
复制代码
进入python情况:
  1. pyhton
复制代码
然后导入
  1. torch
复制代码
包,检察cuda是否可用:
  1. import torch
  2. torch.cuda.is_available()
复制代码
假如打印的是
  1. True
复制代码
表现成功

离线安装

有些时间,大概你的装备无法毗连外网,此时需要提前准备好需要安装的whl文件,那么我们这里就以
  1. torch
复制代码
  1. torchvision
复制代码
为例(注意安装torch前需要提前安装好numpy包)。刚刚我们在线安装时发现安装指令末了有个网址,https://download.pytorch.org/whl/torch_stable.html,没错就是官方存放全部的安装包,所以我们可以直接去那里下载。

我们在这里可以找到我们需要的
  1. torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl
复制代码
以及
  1. torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl
复制代码
两个文件即可。注意,
  1. cu111
复制代码
代表CUDA11.1,
  1. cp38
复制代码
表现python3.8的编译情况,
  1. linux_x86_64
复制代码
表现x86的平台64位利用系统。下载完成后,我们将这两个文件传入你的离线主机(服务器)中。接着在生存这两个文件夹的目录下打开终端:
进入对应假造情况
  1. conda activate torch18
复制代码
安装torch
  1. pip install torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl
复制代码
安装torchvison
  1. pip install torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl
复制代码
安装完成后进行简单的测试:
首先在终端输入
  1. python
复制代码
进入python情况:
  1. pyhton
复制代码
然后导入
  1. torch
复制代码
包,检察cuda是否可用:
  1. import torch
  2. torch.cuda.is_available()
复制代码
假如打印的是
  1. True
复制代码
表现成功

通过docker安装

在有些情况下是需要使用docker来跑深度学习情况的(现在很多大公司都是使用paas平台来部署的)。那么我们就需要使用pytorch官方的docker镜像了。我们可以在docker hub上去搜刮相关镜像,https://registry.hub.docker.com/。下图是我搜刮的pytorch字段的效果(点击Tags后)。


我们可以看到当前最新的docker 镜像有
  1. pytorch/pytorch:1.8.0-cuda11.1-cudnn8-devel
复制代码
  1. pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
复制代码
,对于普通开发者下载
  1. pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
复制代码
就行了。关于安装docker的过程这里不赘述。

1)我们直接通过以下指令就能pull这个镜像了
  1. docker pull pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
复制代码
2)注意,在启动镜像前需要确保已安装
  1. NVIDIA Container Toolkit
复制代码
,否则会报错(若已安装可直接跳过此步调):
  1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
  2.   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
复制代码
安装
  1. NVIDIA Container Toolkit
复制代码
,参考官方文档:https://github.com/NVIDIA/nvidia-docker
这里以Centos7为例:
首先根据你的系统范例以及版本下载对应
  1. .repo
复制代码
文件到
  1. /etc/yum.repos.d
复制代码
  1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
  2.   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
复制代码
清空yum的过期缓存数据(假如不是root用户需要加sudo)
  1. yum clean expire-cache
复制代码
安装
  1. NVIDIA Container Toolkit
复制代码
(假如不是root用户需要加sudo)
  1. yum install -y nvidia-docker2
复制代码
重启docker服务(假如不是root用户需要加sudo)
  1. systemctl restart docker
复制代码
3)通过docker启动pytorch1.8.0容器
  1. docker run --gpus all --rm -it --ipc=host pytorch/pytorch:1.8.0-cuda11.1-cudnn8-runtime
复制代码
4)进入容器后可以通过
  1. nvidia-smi
复制代码
看到全部的GPU装备信息

5)接着进入python情况简单测试下pytorch可否正常调用GPU(打印True为成功)
  1. import torch
  2. torch.cuda.is_available()
复制代码

到此这篇关于Linux安装Pytorch1.8GPU(CUDA11.1)的实现的文章就先容到这了,更多相关Linux安装Pytorch GPU 内容请搜刮草根技能分享以前的文章或继续欣赏下面的相关文章盼望大家以后多多支持草根技能分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作