前言:这个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).验证结果

nvcc -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显存

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐