前言:
准备在实验室的一个服务器上用GPU的,但是这个服务器好久没有人用了,cuda还是10.0版本,需要重装cuda,嫌麻烦,然后发现Nvidia官网居然有anaconda安装CUDA的教程,所以考虑使用anaconda来做。
我是在Linux上安装的,但是理论上Windows和Linux用anaconda的部分是没有什么区别的。
安装好Anaconda和驱动的朋友可以直接跳到 安装cuda 的部分。
目录:
安装Anaconda:
安装Nvidia驱动:
安装cuda:
有一块GPU
检查Linux
有gcc compiler and toolchain
conda安装
验证CUDA安装是否成功
安装PyTorch
验证GPU是否能用
选修:
安装PyTorch-Lightning
安装TensorFlow
如果你的Anaconda、CUDA、Nvidia驱动全都安装好了,可以直接复制下面命令。没有的话,或者不确定的、或者想了解一下的可以往下看看
conda create -n python3.9 python=3.9 -y
conda activate python3.9
conda install cuda -c nvidia/label/cuda-11.3.0 -c nvidia/label/cuda-11.3.1 -y
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -ypython
import torch
print("cuda" if torch.cuda.is_available() else "cpu")
安装Anaconda:
这个教程太多啦,我就跳过了
安装之前还是建议新建一个虚拟环境,免得把base环境搞崩了,麻烦的要死。血和泪的教训啊!
安装Nvidia驱动:
我研究了半天为什么pytorch一直调用cuda失败,查了很多资料。我是万万没有想到,服务器上都有了cuda10.0了,居然还没有英伟达驱动。他们之前的人是没发现自己使用GPU失败了吗。。。
这个Windows上很简单啦,就自己解决一下
Linux上我是纯文本界面,参看的是这个:CentOS7服务器安装GPU显卡驱动和CUDA简单方法_Galaxy的博客-CSDN博客_centos安装gpu
不用手动编译什么的,还是挺简单的:
# 导入源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpmyum install nvidia-detect
nvidia-detect
# 我的是kmod-nvidia# 安装
yum install $(nvidia-detect)# 重启
reboot#验证
nvidia-smi# 如下就是成功啦
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.94 Driver Version: 470.94 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:02:00.0 Off | N/A |
| 34% 36C P8 7W / 257W | 18MiB / 11016MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1753 G /usr/bin/X 9MiB |
| 0 N/A N/A 2329 G /usr/bin/gnome-shell 6MiB |
+-----------------------------------------------------------------------------+
安装cuda:
详情可以看看英伟达的官网
具体步骤如下:
有一块GPU
lspci | grep -i nvidia
有输出基本上就ok啦,也可以去官网自己查一下自己的gpu支不支持。我的是一块2080Ti,就直接跳过了。
检查Linux
uname -m && cat /etc/*release
输出如下就ok
# 输出如下
x86_64
CentOS Linux release 7.9.2009 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"CentOS Linux release 7.9.2009 (Core)
CentOS Linux release 7.9.2009 (Core)
有gcc compiler and toolchain
gcc --version
输出如下就ok
# 输出如下
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright ? 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
没有的话(CentOS):
yum install gcc gcc-c++ kernel-devel
conda安装
以下的步骤建议还是创建一个虚拟环境然后再来弄,免得搞崩base。
conda create -p /home/CV python=3.9 -y
conda activate /home/CV
直接conda install就ok了,但是下载的很慢。根据我的经验,要是你是在Windows上的话建议用cmd来弄,我总感觉anaconda prompt下载时间长了总是会自己结束了。我是服务器上面的,直接挂着就是了。
conda install cuda -c nvidia
指定版本:
conda install cuda -c nvidia/label/cuda-11.3.0
conda install cuda -c nvidia/label/cuda-11.3.0 -c nvidia/label/cuda-11.3.1
上面两个都是安装11.3版本,截至2021.12.16,CUDA最新版本已经到了11.5了,但是我看PyTorch只有 cudatoolkit 11.3的文件,所以保守起见我安装的是11.3。你也可以直接自己尝试一下11.5
验证CUDA安装是否成功
经过特别漫长的等待,测试一下安装是否成功
nvcc -V
我的输出如下:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Mar_21_19:15:46_PDT_2021
Cuda compilation tools, release 11.3, V11.3.58
Build cuda_11.3.r11.3/compiler.29745058_0
主要是看release后面是否正确啊,我安装的就是11.3版本。
安装PyTorch
官网
我是Linux CUDA=11.3 conda安装,都选好,指令如下:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
注意如果是安装1.10版本的PyTorch的话建议不要把 -c pytorch取消了,我之前翻清华源是没有1.10版本的,现在不确定了,你可以自己检查一下
验证GPU是否能用
# !/usr/bin/env pythonimport torch
print("cuda" if torch.cuda.is_available() else "cpu")
输出cuda,或者你直接
# !/usr/bin/env pythonimport torch
print(torch.cuda.is_available())
输出True
选修:
安装PyTorch-Lightning
最近发现Torch写了个高级API——pytorch-lightning,决定安装上学习一下
conda install -c conda-forge pytorch-lightning
我建议可以一起装上,万一就是下一个keras了呢
安装TensorFlow
conda install -c conda-forge tensorflow
然后就结束啦!可以从用CPU炼金到用GPU更快地炼金啦!