ubuntu 20.04 安装 cuda11.2 和cudnn8.2.1和pytorch1.10.0和tensorflow2.7.0(可能是最简单的安装方法,本人亲测成功)

根据TensorFlow 官网,我们选取CUDA11.2搭配cuDNN8.1安装,NVIDIA驱动版本尽量选460系列

Snipaste_2021-11-24_10-01-27

输入nvidia-smi查询自己显卡的版本和最高支持的CUDA版本,如下图我的显卡驱动版本是460.91.03,最高支持CUDA11.2

image-20211126172146071

一、安装cuda11.2

1.打开官网

CUDA Toolkit 11.2 Downloads | NVIDIA Developer

img

wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
sudo sh cuda_11.2.0_460.27.04_linux.run

到下面这个命令输入accept:

image-20211124171614698

这里一定要去掉选中的driver,driver建议单独安装,然后install:

image-20211124171004412

2.设置环境变量

 vim ~/.bashrc

复制下面内容到最后一行保存退出

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2
生效更改
source ~/.bashrc

到此安装完成,输入 nvcc -V 验证 显示:

二、安装cudnn8.1

1.打开官网

cuDNN Archive | NVIDIA Developer

uname -a #先查看下系统版本 我的是 20.04

下载这三个,根据cuda和服务器版本下载

image-20211124172018021

2.安装

#依次安装
sudo dpkg -i libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.1.33-1+cuda11.2_amd64.deb

3.验证cuDNN可用

#官方说法:To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v8 directory in the debian file.

# 将cuDNN例子复制到可写路径中
cp -r /usr/src/cudnn_samples_v8/ $HOME
​
# 转到可写路径
cd  ~/cudnn_samples_v8/mnistCUDNN
​
# 编译文件。
sudo make clean 
sudo make
​
# 运行样例程序。
sudo ./mnistCUDNN

如果成功运行,会显示下列信息:

bai@ubuntu:~/cudnn_samples_v8/mnistCUDNN$ sudo ./mnistCUDNN
Executing: mnistCUDNN
cudnnGetVersion() : 8101 , CUDNN_VERSION from cudnn.h : 8101 (8.1.1)
Host compiler version : GCC 9.3.0

There are 2 CUDA capable devices on your machine :
device 0 : sms 30  Capabilities 6.1, SmClock 1582.0 Mhz, MemSize (Mb) 12196, MemClock 5705.0 Mhz, Ecc=0, boardGroupID=0
device 1 : sms 30  Capabilities 6.1, SmClock 1582.0 Mhz, MemSize (Mb) 12192, MemClock 5705.0 Mhz, Ecc=0, boardGroupID=1
Using device 0

Testing single precision
Loading binary file data/conv1.bin
Loading binary file data/conv1.bias.bin
Loading binary file data/conv2.bin
Loading binary file data/conv2.bias.bin
Loading binary file data/ip1.bin
Loading binary file data/ip1.bias.bin
Loading binary file data/ip2.bin
Loading binary file data/ip2.bias.bin
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm_v7 ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: -1.000000 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: -1.000000 time requiring 178432 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: -1.000000 time requiring 2057744 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: -1.000000 time requiring 184784 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.014336 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.014336 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.044928 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.049088 time requiring 178432 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 0.086016 time requiring 2057744 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 0.488384 time requiring 184784 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnGetConvolutionForwardAlgorithm_v7 ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: -1.000000 time requiring 2450080 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: -1.000000 time requiring 1433120 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: -1.000000 time requiring 4656640 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: -1.000000 time requiring 2000 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: -1.000000 time requiring 128000 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.046080 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 0.057344 time requiring 2450080 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 0.069632 time requiring 1433120 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.097152 time requiring 4656640 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.110592 time requiring 128000 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.242336 time requiring 2000 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Resulting weights from Softmax:
0.0000000 0.9999399 0.0000000 0.0000000 0.0000561 0.0000000 0.0000012 0.0000017 0.0000010 0.0000000 
Loading image data/three_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm_v7 ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: -1.000000 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: -1.000000 time requiring 178432 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: -1.000000 time requiring 2057744 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: -1.000000 time requiring 184784 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.014304 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.014336 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.037664 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.041984 time requiring 178432 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 0.058368 time requiring 184784 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 0.067584 time requiring 2057744 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnGetConvolutionForwardAlgorithm_v7 ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: -1.000000 time requiring 2450080 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: -1.000000 time requiring 1433120 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: -1.000000 time requiring 4656640 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: -1.000000 time requiring 2000 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: -1.000000 time requiring 128000 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.046816 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 0.052192 time requiring 2450080 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.059392 time requiring 2000 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 0.069632 time requiring 1433120 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.096256 time requiring 4656640 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.109568 time requiring 128000 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 6: -1.000000 time requiring 0 memory
^^^^ CUDNN_STATUS_NOT_SUPPORTED for Algo 3: -1.000000 time requiring 0 memory
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 0.9999288 0.0000000 0.0000711 0.0000000 0.0000000 0.0000000 0.0000000 
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 0.9999820 0.0000154 0.0000000 0.0000012 0.0000006 

Result of classification: 1 3 5

Test passed!

#查看cudnn版本:

cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

三、安装pytorch1.10.0(conda环境下):

先在以下三个网站下载需要的安装包(根据自己的驱动选择):

Index of /anaconda/cloud/pytorch/linux-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror https://download.pytorch.org/whl/cu100/torch_stable.html https://download.pytorch.org/whl/torch_stable.html

这是我下载的:

在conda环境下安装:

conda activate pytorch1.10.0 # 进入conda环境,这个是我之前创建好的
cd Download
pip install torchaudio-0.8.0-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.8.0-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.9.0+cu111-cp36-cp36m-linux_x86_64.whl

就可以了,就这么简单。

四、安装tensorflow2.7.0-gpu(conda环境下)

conda activate tensorflow2.7.0 # 进入conda环境,这个是我之前创建好的
pip install tensorflow-gpu==2.7.0

然后会自动安装必要插件,等安装完成就可以了,就这么简单。

注:tensorflow、pytorch、cuda、cudnn的版本都是对应的,如未在官网文档查明对应版本关系切勿更改,另外ubuntu18.04系统版本应该也可用此套配置。

  • 11
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Ubuntu 20.04安装CUDA 11.2,您可以按照以下步骤操作: 1. 下载CUDA 11.2安装包,可以从NVIDIA官网下载。 2. 安装必要的依赖项,包括gcc、g++、make、cmake、libssl-dev和libffi-dev等。 3. 运行安装程序,按照提示进行安装。在安装过程中,您需要选择安装CUDA Toolkit、CUDA Samples和CUDA Driver等组件。 4. 安装完成后,您需要将CUDA的路径添加到系统环境变量中。可以在~/.bashrc文件中添加以下行: export PATH=/usr/local/cuda-11.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH 5. 最后,您可以验证CUDA是否正确安装。可以使用以下命令检查CUDA版本: nvcc --version 如果一切正常,您应该能够看到CUDA 11.2的版本信息。 希望这些步骤能够帮助您成功安装CUDA 11.2。 ### 回答2: Ubuntu 20.04是一款稳定的操作系统,由于其更新和优化的功能,很可能会使您在大多数GPU操作中体验到更多的性能。为了使您的Ubuntu系统支持CUDA编程,您需要安装NVIDIA CUDA软件套件。在本文中,我们将介绍如何安装Ubuntu 20.04上的CUDA 11.2。 1.检查您的GPU和CUDA是否匹配 在继续之前,需要检查CUDA 11.2软件是否适用于您的GPU。请首先检查GPU是否支持CUDA,然后再检查CUDA 11.2与您的GPU是否兼容。 2.卸载旧版本的CUDA 在开始安装新版本的CUDA之前,请先卸载旧版本的CUDA。如果您在Ubuntu上已经安装CUDA,请使用以下命令卸载: sudo apt-get purge cuda* sudo apt-get autoremove sudo apt-get autoclean sudo rm -rf /usr/local/cuda-* 上述命令将卸载所有CUDA软件,并从计算机中删除所有相关文件。 3.下载CUDA 11.2 在您的Ubuntu安装CUDA之前,需要先下载CUDA 11.2软件包。您可以从NVIDIA官网下载CUDA 11.2软件包,并将其保存在您喜欢的位置。请注意,这个文件有1.6 GB的大小。 4.禁用Nouveau驱动 在安装CUDA之前,需要禁用Nouveau驱动程序。请在终端中运行以下命令以禁用Nouveau: sudo nano /etc/modprobe.d/blacklist-nouveau.conf 在打开的文件中,添加以下行: blacklist nouveau options nouveau modeset=0 保存并关闭文件。运行以下命令以使更改生效: sudo update-initramfs -u 5.安装NVIDIA显卡驱动程序 在Ubuntu 20.04安装CUDA 11.2需要安装适当的NVIDIA驱动程序;这可以通过添加PPA存储库并更新包列表来完成: sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update 然后使用以下命令安装最新的NVIDIA驱动程序: sudo apt-get install nvidia-driver-460 重启您的系统以应用更改,以及确保NVIDIA驱动程序已正确安装和配置。 6.安装CUDA 11.2 在下载CUDA 11.2安装NVIDIA驱动程序之后,您可以安装版本 11.2。进入下载文件的目录并使用以下命令安装CUDA: sudo sh cuda_11.2.0_460.27.04_linux.run 请按照向导中的指示进行安装。这个过程大约需要20-30分钟,取决于您的计算机的速度。完成后,请确认CUDA正确安装并设置: nvcc --version 如果输出CUDA版本号,那么恭喜您已经成功地在Ubuntu 20.04安装CUDA 11.2。现在您可以愉快地使用CUDA进行编程了! ### 回答3: Ubuntu20.04是目前Ubuntu操作系统的最新版本,而CUDA是一种并行计算平台和编程模型,它可以用于GPU加速的计算。本篇文章将介绍如何在Ubuntu20.04系统中安装CUDA11.2。以下是安装步骤: 第一步:在安装前检查你的系统和硬件 在安装CUDA前,需要检查你的系统是否满足要求,以确保安装过程将顺利进行。此外,还需要检查你的GPU是否兼容CUDA11.2。 第二步:下载CUDA11.2 CUDA11.2可以从NVIDIA的官方网站上下载。下载完成后,需要查看你下载的文件是否有安装提示。 第三步:安装CUDA11.2 首先,在下载的文件中运行以下命令,以解压缩文件: sudo sh cuda_[版本号]_[操作系统版本].run --override 然后按照安装程序的指示进行安装。 第四步:设置环境变量 安装完成后,需要将CUDA11.2添加到系统的PATH中。可以通过编辑~/.bashrc文件来完成这一步。具体点,添加下面几行代码即可: export PATH=/usr/local/cuda-[版本号]/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-[版本号]/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 第五步:测试CUDA11.2是否正确安装 打开一个新的终端窗口,并输入以下命令: nvcc -V 如果系统正确安装CUDA11.2,则会显示CUDA版本等信息。 以上就是在Ubuntu20.04安装CUDA11.2的全部过程。在安装过程中遇到任何问题请及时咨询相关技术人员。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值