Ubuntu20.04.4LTS安装CUDA11.6,cuDNN,TensorRT,PyCUDA,PyTorch

2023-11-15

前言:这个CUDA是否选择最新版本和你是否用pytorch有关,你先去Pytorch查一下它最高支持的cuda版本是啥,不是一般都不是最新版

0.cuda卸载

卸载cuda

sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \
 "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" 
sudo apt-get autoremove

卸载tensorrt

sudo apt-get purge "libnvinfer*"
sudo apt-get purge "nv-tensorrt-repo*"
sudo apt-get purge graphsurgeon-tf onnx-graphsurgeon
pip3 uninstall tensorrt
pip3 uninstall uff
pip3 uninstall graphsurgeon
pip3 uninstall onnx-graphsurgeon
python3 -m pip uninstall nvidia-tensorrt

这里有个坑,就是如果你安装了anaconda,你sudo pip是下到了系统默认的python3.8里面了。而不加sudo是下到了conda下面的python3.9里面。

卸载cuDNN

sudo apt-get purge libcudnn8=8.3.3.*-1+cuda11.5
sudo apt-get purge libcudnn8-dev=8.3.3.*-1+cuda11.5

卸载Pytorch

pip3 uninstall torch torchvision torchaudio

卸载torch2tr

pip3 uninstall torch torchvision torchaudio

1.cuda最新版本安装

(1).检查所需版本

所需版本通过

nvidia-smi

查看,
在右上角就是最适合你的cuda版本,CUDA Version: 11.6

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.60.02    Driver Version: 510.60.02    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| 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:01:00.0 Off |                  N/A |
| N/A   38C    P8    12W /  N/A |    615MiB /  8192MiB |      9%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      3327      G   /usr/lib/xorg/Xorg                 77MiB |
|    0   N/A  N/A      5799      G   /usr/lib/xorg/Xorg                280MiB |
|    0   N/A  N/A      5994      G   /usr/bin/gnome-shell               67MiB |
|    0   N/A  N/A      8639      G   /usr/lib/firefox/firefox          156MiB |
|    0   N/A  N/A      8849      G   /usr/lib/firefox/firefox            2MiB |
|    0   N/A  N/A     12892      G   /usr/lib/firefox/firefox            2MiB |
|    0   N/A  N/A     15710      G   /usr/lib/firefox/firefox            2MiB |
|    0   N/A  N/A     20200      G   /usr/lib/firefox/firefox            2MiB |
|    0   N/A  N/A     22707      G   /usr/lib/firefox/firefox            2MiB |
|    0   N/A  N/A     24121      G   /usr/lib/firefox/firefox            2MiB |
+-----------------------------------------------------------------------------+

显卡安装请参见我另一篇文章

(2).具体操作

具体操作手册网址

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_network

CUDA11.6,具体参考官方网址如上,在上面选择deb(网络)即可
以下是具体操作代码

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda

(3).验证结果

ncvv -V

如果显示没有这个命令,参加文尾错误,是环境变量路径里面没把cuda添加进去。

2.cuda指定版本安装

(1).检查所需版本

这里以我在pytorch官网上看到它只更新到11.1,而我显卡驱动最适合的cuda版本是11.6为例
首先看一下pytorch支持的最新版本的cuda,你显卡能不能用,你显卡能用哪个版本的。

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-developer-tools-new-features

(2).具体操作

这里有个坑,就是你用deb安装,一般都是给你默认安装的最新版,所以我们这次用run文件安装
看见版本号了吧,如果和我版本不一样,从这个里面选一下,选runfile那项。

https://developer.nvidia.com/cuda-toolkit-archive

和我版本一样的,11.1用以下代码

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

注意:run文件里的叉叉表示excute的意思那个前面有叉就说明要下载哪个文件,所以下面表示不安装驱动。
在这里插入图片描述这图摘自

https://blog.csdn.net/kuweicai/article/details/109314381?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-1-109314381.pc_agg_new_rank&utm_term=cuda+installer&spm=1000.2123.3001.4430

3.cuDNN安装

(1).检查所需版本

版本号查询(寻找和你cuda相对应的cuDNN)

https://docs.nvidia.com/deeplearning/cudnn/release-notes/rel_8.html#rel-833

(2).具体操作

具体操作手册

https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#package-manager-ubuntu-install

选择通过包管理器安装,代码如下,官网如上
CUDNN

sudo apt-get install zlib1g
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
sudo apt-get install libcudnn8=8.3.3.*-1+cuda11.5
sudo apt-get install libcudnn8-dev=8.3.3.*-1+cuda11.5

4.tensorrt安装

(1).检查所需版本

根据cuda的版本,选取tensorrt下载,下载网址如下

https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#downloading

(2).具体操作

参考官方网址操作手册的Debian安装章目,用以下代码进行安装,注意tensorrt只有离线版本安装,即必须将其下载到本地再安装

https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-840-ea/install-guide/index.html

根据cuda的版本,选取tensorrt下载

sudo dpkg -i nv-tensorrt-repo-ubuntu2004-cuda11.6-trt8.4.0.6-ea-20220212_1-1_amd64*
cd /
cd ./var
cd ./nv*
sudo apt-key add 7fa2af80.pub
# 或者
# sudo apt-key add 7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
python3 -m pip install numpy
sudo apt-get install python3-libnvinfer-dev
python3 -m pip install protobuf
sudo apt-get install uff-converter-tf
python3 -m pip install numpy onnx
sudo apt-get install onnx-graphsurgeon
# 验证安装
dpkg -l | grep TensorRT

(3).验证结果

验证后的结果是这样的就说明你成功了

#显示
ii  graphsurgeon-tf                                             8.4.0-1+cuda11.6                    amd64        GraphSurgeon for TensorRT package
ii  libnvinfer-bin                                              8.4.0-1+cuda11.6                    amd64        TensorRT binaries
ii  libnvinfer-dev                                              8.4.0-1+cuda11.6                    amd64        TensorRT development libraries and headers
ii  libnvinfer-doc                                              8.4.0-1+cuda11.6                    all          TensorRT documentation
ii  libnvinfer-plugin-dev                                       8.4.0-1+cuda11.6                    amd64        TensorRT plugin libraries
ii  libnvinfer-plugin8                                          8.4.0-1+cuda11.6                    amd64        TensorRT plugin libraries
ii  libnvinfer-samples                                          8.4.0-1+cuda11.6                    all          TensorRT samples
ii  libnvinfer8                                                 8.4.0-1+cuda11.6                    amd64        TensorRT runtime libraries
ii  libnvonnxparsers-dev                                        8.4.0-1+cuda11.6                    amd64        TensorRT ONNX libraries
ii  libnvonnxparsers8                                           8.4.0-1+cuda11.6                    amd64        TensorRT ONNX libraries
ii  libnvparsers-dev                                            8.4.0-1+cuda11.6                    amd64        TensorRT parsers libraries
ii  libnvparsers8                                               8.4.0-1+cuda11.6                    amd64        TensorRT parsers libraries
ii  onnx-graphsurgeon                                           8.4.0-1+cuda11.6                    amd64        ONNX GraphSurgeon for TensorRT package
ii  python3-libnvinfer                                          8.4.0-1+cuda11.6                    amd64        Python 3 bindings for TensorRT
ii  python3-libnvinfer-dev                                      8.4.0-1+cuda11.6                    amd64        Python 3 development package for TensorRT
ii  tensorrt                                                    8.4.0.6-1+cuda11.6                  amd64        Meta package of TensorRT
ii  uff-converter-tf                                            8.4.0-1+cuda11.6                    amd64        UFF converter for TensorRT package

(4).安装wheel使python3能调用tensorrt库

(1.安装 TensorRT Python 轮。

python3 -m pip install --upgrade nvidia-tensorrt

以上pip命令将拉入所有必需的 CUDA Python 轮格式的库和 cuDNN,因为它们是 TensorRT Python 轮。 而且还会升级 英伟达张量 到最新版本,如果你有 安装了以前的版本。

(2.验证安装结果

python3
>>> import tensorrt
>>> print(tensorrt.__version__)
>>> assert tensorrt.Builder(tensorrt.Logger())
导入 tensorrt Python 模块。
确认正确版本的 TensorRT 安装。
创建一个 builder 验证您的 CUDA 安装工作正常。

参见网址

https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-840-ea/quick-start-guide/index.html#installing-pip

pip轮文件安装

5.安装PyCUDA

(1).具体操作

https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-840-ea/install-guide/index.html#installing-pycuda

上面网址的手册往下翻找,就能找到pycuda安装,请注意,pycuda不会随着cuda更新而更新,如果你更新了你的cuda,则需要卸载pycuda,然后更新cuda后在下载。

python3 -m pip install 'pycuda<2021.1'

(2).常见错误

 src/cpp/cuda.hpp:14:10: fatal error: cuda.h: No such file or directory
         14 | #include <cuda.h>
            |          ^~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

(1.检查系统环境变量

echo  $PATH

检查输出里是否有cuda

/home/zhangqi/anaconda3/bin:/opt/ros/noetic/bin:/home/zhangqi/anaconda3/bin:/home/zhangqi/anaconda3/bin:/home/zhangqi/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

如图所示,是没有的

(2.具体操作

cd ~
gedit gedit ./.bashrc

在文件的最后一行加上该语句,注意,我这里写的是11.6,不同的版本要稍改一下。

export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}

然后让改完的路径生效

source ./.bashrc

(3.验证

echo  $PATH
/usr/local/cuda-11.6/bin:/home/zhangqi/anaconda3/bin:/opt/ros/noetic/bin:/usr/local/cuda-10.2/bin:/home/zhangqi/anaconda3/bin:/home/zhangqi/anaconda3/bin:/home/zhangqi/anaconda3/bin:/home/zhangqi/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

有了诶,此时再执行install命令即可

6.安装PyTorch

在官网选择和你cuda相同的版本
在这里插入图片描述然后加源

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu111 -i https://pypi.tuna.tsinghua.edu.cn/simple

如果加源还不快,则降低版本

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu110 -i https://pypi.tuna.tsinghua.edu.cn/simple

降为110,因为这个111版本可能清华源没有,只能从官网下

这里有个坑,就是如果你安装了anaconda,你sudo pip是下到了系统默认的python3.8里面了。而不加sudo是下到了conda下面的python3.9里面。

没有sudo的pip和pip3都指向ananconda的python

cuda不要安的过高,要和pytorch的最高版本耦合,比如我现在用的11.6,而pytorch才出到11.3

7.安装torch2tr

torch2tr这个小插件不要直接从github下master文件,git clone即可,前者缺点东西

sudo python是系统原装的python3.8,python是anaconda的python3.9

set up 工作空间里的32是1GB显存

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu20.04.4LTS安装CUDA11.6,cuDNN,TensorRT,PyCUDA,PyTorch 的相关文章

随机推荐

  • 如何用cublas计算逆矩阵?

    cublas的文档中提供了一个用LU分解求逆矩阵的方法 需要用到两个函数 cublas
  • yum Error downloading packages: xxx [Errno 256] No more mirrors to try.

    问题 解决 yum clean all执行后再执行yum makecache 清除缓存以及重新下载相关包信息缓存到本地
  • C语言之自定义函数的实现

    自定义函数的作用 方便管理代码 编写程序时思路清晰 代码复用 同一段代码可以在不同位置多次执行 函数声明 使用 返回值类型 函数名 类型 变量名 类型 变量名 例如 int sum int num1 int num2 实际上 在函数声明时
  • 【Leetcode】154. 寻找旋转排序数组中的最小值 II

    题目描述 已知一个长度为 n 的数组 预先按照升序排列 经由 1 到 n 次 旋转 后 得到输入数组 例如 原数组 nums 0 1 4 4 5 6 7 在变化后可能得到 若旋转 4 次 则可以得到 4 5 6 7 0 1 4 若旋转 7
  • php脚本中利用mail函数发送邮件及问题归纳

    最近在学php脚本语言 书中有一个实例 服务器端将浏览器发送的信息通过php脚本 利用mail函数发送到一个邮箱 自己讲书中实例代码上传至服务器 在浏览器上填写表单 并提交后 邮箱迟迟收不到邮件 1 php中mail函数发送邮件失败问题 邮
  • 2021-10-19,Oracle VM VirtualBox中安装增强功能失败

    问题 Oracle VM VirtualBox中安装增强功能失败 根据给出的信息提示进行解决 This system is currently not set up to build kernel modules Please instal
  • 静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML

    在谷歌搜索的功能速度 实验性 中推荐使用工具PageSpeed Insights查看我的网页访问速度情况 PageSpeed Insights 分数很低 只有33分 优化建议的第一条是移除阻塞渲染的资源 里面列出了非异步加载的css和js文
  • 公告

    作为一个稳定 高效 安全的区块链底层平台 FISCO BCOS一方面致力于保障系统稳定性 兼容性 鲁棒性 易用性 另一方面专注于提升区块链底层平台的性能 可扩展性 自FISCO BCOS v3 0开始 社区更是秉着开源 开放 联合共建的原则
  • 最长公共子序列算法_解决最长公共子序列问题的算法和过程

    最长公共子序列算法 最长的公共子序列 Longest common Subsequence Let X and Y be two subsequences and by LCS algorithm we can find a maximum
  • 机器学习笔记——概率生成模型

    假设有两类数据 每一类都有若干个样本 概率生成模型认为每一类数据都服从某一种分布 如高斯分布 从两类训练数据中得到两个高斯分布的密度函数 具体的是获得均值和方差两个参数 测试样本输入到其中一个高斯分布函数 得到的概率值若大于0 5 则说明该
  • nestjs:判断字符串是否是邮箱格式

    问题 如标题 参考 js判断邮箱格式是否正确 掘金 解决 function checkIsMail mail string const regex a zA Z0 9 a zA Z0 9 a zA Z0 9 2 4 return regex
  • c++之全局变量

    全局变量需要我们在头文件声明 在cpp文件定义 请记住尽量这么做 保持操作的规范性 全局变量的使用 一般为两种 一种是不包含头文件 一种是包含了头文件 1 不包含头文件 例如我在test02 h中声明了全局变量 接下来在cpp中定义 如果想
  • 九十六、kettle版本8.2连接数据库的中文乱码问题

    在学习使用kettle 从Excel导数据到MySQL数据库的过程中踩了不少坑 总结一下以做前车之鉴 希望能给大家提供一点帮助 关于中文乱码目前找到了两种也可以叫三种方法 因为版本不同而方法可能不同 目前我使用第一种防范解决了中文乱码问题
  • React:状态提升案例-烧开水

    1 定义Boilingverdict组件 function Boilingverdict props if props celsius gt 100 return h1 水烧开了 h1 else return h1 水凉凉 h1 expor
  • ffmpeg基础一:解封装

    参考 零声学院 1 解封装流程 2 打开文件或媒体 获取文件或媒体的媒体信息AVFormatContext AVFormatContext是描述一个媒体文件或媒体流的构成和基本信息的结构体 AVFormatContext ifmt ctx
  • python绘制动态变化的图_用Jupyter Noteb中的matplotlib绘制动态变化图形

    我一直在寻找一个很好的解决方案 其中一个线程正在泵送数据 我们希望Jupyter笔记本不断更新图形 而不阻止任何事情 在查阅了十几个相关答案后 以下是一些发现 小心 如果你想要一个实时的图表 不要使用下面的魔术 如果笔记本使用以下内容 则图
  • 一个在PDO数据绑定上踩的坑

    不经常用PDO 一直不知道数据绑定的时候的一个细节 不可使用同一个变量名为不同的符号进行数据绑定 因为这样的话会导致在执行execute 时 不同符号都绑定了同一个值 最后一个赋予这个变量名的值 比如 letters array a b c
  • mysql商品实现多退少补_(转)mysql处理高并发,防止库存超卖

    原文链接 http blog csdn net caomiao2006 article details 38568825 今天王总又给我们上了一课 其实mysql处理高并发 防止库存超卖的问题 在去年的时候 王总已经提过 但是很可惜 即使当
  • JS逆向教程第一发

    JS逆向教程第一发 项目简介 本文适合爬虫新手初步接触js逆向时进行阅读 初步接触JS逆向 并不是很熟悉逆向操作的 可以以本文为参考 初步入门 如果有大佬 也欢迎批评指正 本文以企名科技这个网站为例 初步介绍JS逆向的基本操作 环境准备 此
  • Ubuntu20.04.4LTS安装CUDA11.6,cuDNN,TensorRT,PyCUDA,PyTorch

    从0到1的cuda安装 前言 这个CUDA是否选择最新版本和你是否用pytorch有关 你先去Pytorch查一下它最高支持的cuda版本是啥 不是一般都不是最新版 0 cuda卸载 1 cuda最新版本安装 1 检查所需版本 2 具体操作