当前位置: 代码迷 >> 综合 >> 安装Nvidia驱动并使用Anaconda搭建GPU环境(安装CUDA)+ PyTorch + TensorFlow + PyTorch Lightning
  详细解决方案

安装Nvidia驱动并使用Anaconda搭建GPU环境(安装CUDA)+ PyTorch + TensorFlow + PyTorch Lightning

热度:97   发布时间:2023-11-29 10:38:13.0

前言:

准备在实验室的一个服务器上用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更快地炼金啦!