ubuntu22 pycharm,cuda,cudnn,tensorrt的安装

目录

一.pycharm的安装

二.minconda的安装

三.Nvdia显卡的安装

四:CUDA的安装

CUDA下载

配置cuda环境

CUDA的测试

四.CUDANN的安装

CUDANN下载

CUDNN依赖

五.Tensortrt的安装

1.下载

2. 测试样例


(写这篇博客的意义在于之后方便之后重装不用再重新看一大堆博客了)

我的电脑配置为y9000p(2022),12i7,3060的显卡 pycharm版本为2022.2,cuda版本为11.6.2

cudnn版本为8.4.1,tensorrt版本为8.4.1

一.pycharm的安装

官方的安装连接:Download PyCharm: Python IDE for Professional Developers by JetBrains

下载下来后先不着急可以先把pycharm固定到收藏夹上

cd ~/.local/share/applications/
sudo gedit Pycharm.desktop

之后将下方文字复制进去(注意注释!)

[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Pycharm
Exec=/opt/pycharm/bin/pycharm.sh
# 注意:Exec表示安装软件的**启动快捷方式**文件路径
# 注意:Icon表示安装软件的图标路径
Icon=/opt/pycharm/bin/pycharm.png
NoDisplay=false
StartupWMClass=

之后就可以把pycharm固定到收藏夹上

二.minconda的安装

miniconda安装的时候如果采用sudo则以后使用conda命令需要加sudo

这里选择的是miniconda因为我服务器上面之前配置的也是miniconda为了向服务器看齐,这里的话如果安装的是anconda的话window环境下anconda的env拷贝进来好像是可以直接用的,这个我还没有尝试过。

miniconda的地址:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

anconda的地址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 

minconda和anconda的差别就是anconda的base环境包括了conda管理器、Pyhon编译器、常用的包和Spyder IDE等,而miniconda的base环境选择只包括conda管理器和Python编译器

然后选择你下载下来的sh进行安装

sudo bash Miniconda3-py39_4.9.2-Linux-x86_64.sh

三.Nvdia显卡的安装

首先是关于显卡的卸载,我们可以进入附加驱动中选择x.org选项就相当于把本来的显卡驱动删除了,如果你有两个显示屏的话安装完显卡驱动后副屏才可以用因为副屏是挂载在你的独显上

 显卡安装不建议用附加驱动,因为很慢,所以可以换源后直接用命令行安装

ubuntu-drivers devices

这是可用的显卡

 在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令lsmod | grep nouveau查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau(这里我没有图所以找了一张网上的)

 电脑有有输出,表示nouveau启动了,下面进行nouveau的禁用

sudo gedit /etc/modprobe.d/blacklist.conf

在blacklist.conf文件末尾加上这两行,并保存:

blacklist nouveau
options nouveau modeset=0

然后在终端中输入:

sudo update-initramfs -u  #应用更改

选择合适的显卡进行下载(可以进入官网查看cuda和显卡的对应版本:Release Notes :: CUDA Toolkit Documentation

sudo apt install nvidia-driver-510 # 根据自己的n卡可选驱动下载显卡驱动

重启电脑后

nvidia-smi 

查看是否安装完成

(这里有一点需要特别注意:右上角的CUDA Version的意思是你的装的显卡驱动最大支持11.6的cuda) 

四:CUDA的安装

CUDA下载

我们进入CUDA Toolkit Archive | NVIDIA Developer选择我们适合的cuda这里我选择11.6.2版本的

 安装的命令如下

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run

细节的地方来了,你的tmp空间可能不够你可以在你的home文件夹下建立一个tmp然后

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run --tmpdir=这里填写你的新建立的tmp位置

使用完以后删掉这个tmp即可因为tmp文件夹重启后里面的文件默认不保存

等待一会这个时间可能会有点长

选择continue

 输入accept

 因为刚开始我们已经安装完驱动所以这里可以不用选择(之前安装的时候出现了一个小问题就是我当初重装显卡驱动的时候把显卡驱动删了想着能不能用run里面自带的但是我是没有成功,之后用下面这个方法也同样成功运行)

配置cuda环境

sudo gedit ~/.bashrc

添加以下到末尾

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

然后

source ~/.bashrc

在终端输入

nvcc -V

显示以下则为成功(记得V要大写)

如果不成功,重新source ~/.bashrc然后输入nvcc -V成功的话,细节的地方来了!!!!!

首先,我们需要搞明白Linux启动时读取配置文件的顺序。在刚登录Linux时,首先启动/etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile~/.bash_login或 ~/.profile文件中的其中一个,
执行的顺序为:~/.bash_profile~/.bash_login、 ~/.profile

所以如果行不同我们可以:

sudo gedit /etc/profile

然后输入

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

最后

source /etc/profile

之后应该就能显示了

CUDA的测试

下载测试文件:GitHub - NVIDIA/cuda-samples: Samples for CUDA Developers which demonstrates features in CUDA Toolkit

下载解压后make一下

 

 

出现这个结果就是成功了

  

四.CUDANN的安装

CUDANN下载

下载连接:https://developer.nvidia.com/rdp/cudnn-download

这里我下在的是cudann8.4.1

 下载Linux x86-64(tar)

进入解压后的界面,然后

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.6/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.6/lib64 
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda-11.6/lib64/libcudnn*
#下面这个是方便后面opencv配置cuda
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

之后查看CUDNN版本

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

CUDNN依赖

依赖网站:Index of /compute/cuda/repos/ubuntu2004/x86_64

找到对应的依赖(一个带dev一个不带)

或者使用命令行进行下载

wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/libcudnn8_8.4.1.50-1+cuda11.6_amd64.deb

wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/libcudnn8-dev_8.4.1.50-1+cuda11.6_amd64.deb

安装依赖

sudo dpkg -i libcudnn8_8.4.1.50-1+cuda11.6_amd64.deb 
sudo dpkg -i libcudnn8-dev_8.4.1.50-1+cuda11.6_amd64.deb 

五.Tensortrt的安装

1.下载

这里是tensorrt的下载连接:https://developer.nvidia.com/nvidia-tensorrt-8x-download

下载tar包解压后的到的连接 

修改环境变量:

sudo gedit ~/.bashrc

在文件末尾加入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/stand/Software/TensorRT-8.4.1.5/lib

然后

source ~/.bashrc

2. 测试样例

cd TensorRT-8.4.1.5/samples/sampleMNIST
make -j16
cd ../../bin/
./sample_mnist

这样就成功了

3.python部分的安装

用miniconda创建完环境之后 

直接pip目录中的uff,python(注意选择和你conda创建python的版本相对应) ,graphsurgeon下的whl就可以了

我这里是一次就成功了可能出现问题的话可以参考这位大佬:Ubuntu22.04 下安装驱动、CUDA、cudnn以及TensorRT_lilin020401的博客-CSDN博客

ubuntu22.04的pycharm中: taskset -c 0,1,2,3 python src/synthesize.py --lot_size 100 --sgd_sigma 2.1 --sgd_epoch 15 --pca_sigma 10 --db credit --alg p3gm --n_iter 20 2025-03-28 20:52:46.026681: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. 2025-03-28 20:52:46.437269: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered 2025-03-28 20:52:46.437987: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered 2025-03-28 20:52:46.501582: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered 2025-03-28 20:52:46.614687: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations. To enable the following instructions: AVX2 AVX_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags. 2025-03-28 20:52:47.488836: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT Traceback (most recent call last): File "/home/s/PycharmProjects/PythonProject1/P3GM/src/synthesize.py", line 8, in <module> from p3gm import P3GM File "/home/s/PycharmProjects/PythonProject1/P3GM/src/p3gm.py", line 8, in <module> from tensorflow_privacy.privacy.analysis.rdp_accountant import compute_rdp, get_privacy_spent File "/home/s/PycharmProjects/PythonProject1/P3GM/privacy/tensorflow_privacy/__init__.py", line 56, in <module> from tens
最新发布
03-29
<think>好的,我现在需要解决用户在Ubuntu 22.04和PyCharm中遇到的TensorFlow与cuDNN插件冲突以及模块加载错误的问题。首先,我需要回顾用户的问题描述,确保理解准确。用户提到的是“TensorFlow cudnn plugin conflict error and module loading issue”,可能是在运行TensorFlow时出现了与cuDNN版本不兼容的问题,导致模块无法正确加载。 接下来,我需要考虑可能的原因。首先,TensorFlow的不同版本对CUDAcuDNN的版本有特定要求。如果用户安装CUDAcuDNN版本与当前TensorFlow版本不兼容,就会导致这类错误。例如,TensorFlow 2.10及以上版本可能要求CUDA 11.8和cuDNN 8.6,而旧版可能要求CUDA 11.2和cuDNN 8.1。用户可能在系统中安装了多个版本的CUDA,或者cuDNN的路径配置不正确,导致TensorFlow加载了错误的库。 另外,环境变量也是一个可能的原因。例如,LD_LIBRARY_PATH如果没有正确指向CUDAcuDNN的库目录,可能导致动态链接库加载失败。用户可能在安装CUDA时没有正确设置这些变量,或者在PyCharm中运行时,环境变量未被正确继承。 再者,PyCharm的配置问题也不能忽视。用户可能在PyCharm中使用了不同的Python解释器环境,或者项目设置中的环境变量没有包含CUDAcuDNN的路径,导致TensorFlow在运行时找不到必要的库。此外,虚拟环境中的包冲突也可能引发问题,比如同时安装了不同版本的TensorFlow或CUDA工具包。 接下来,我需要制定解决步骤。首先,检查TensorFlow、CUDAcuDNN的版本兼容性。用户需要确认自己安装的TensorFlow版本对应的CUDAcuDNN版本是否匹配。官方文档通常有明确的版本对应表,可以参考。例如,TensorFlow 2.10可能需要CUDA 11.2和cuDNN 8.1,而TensorFlow 2.15可能要求CUDA 12和cuDNN 8.9。 其次,验证CUDAcuDNN安装是否正确。用户可以通过命令行运行nvcc --version检查CUDA版本,以及查看cuDNN安装路径和版本。例如,检查/usr/local/cuda/include/cudnn_version.h文件中的版本信息。如果版本不匹配,需要重新安装正确的版本,并确保动态链接库路径正确。 然后,检查环境变量设置。用户需要确认LD_LIBRARY_PATH是否包含CUDAcuDNN的库目录,例如export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH。在PyCharm中,用户可能需要通过运行配置设置环境变量,或者在终端中预先设置这些变量再启动PyCharm。 此外,清理和重新安装TensorFlow也是一个有效的方法。有时候,残留的旧版本文件可能导致冲突,使用pip卸载后重新安装指定版本的TensorFlow可能会解决问题。同时,确保虚拟环境独立,避免多个环境之间的干扰。 如果问题仍然存在,用户可能需要检查系统日志或TensorFlow的错误信息,寻找更具体的线索。例如,错误信息可能指出某个特定的cuDNN函数无法加载,或者某个库的版本不兼容。根据这些信息,可以进一步调整安装的版本或配置。 最后,考虑PyCharm特定的配置问题。用户应确认PyCharm中使用的Python解释器路径是否正确,是否指向了包含正确TensorFlow和CUDA环境的虚拟环境。同时,检查PyCharm的运行/调试配置中的环境变量是否包含了必要的CUDAcuDNN路径。 在整理回答时,需要按照逻辑步骤逐步引导用户排查问题,从版本检查到环境配置,再到具体的解决方法,确保用户能够一步步解决问题。同时,引用相关的参考资料,如官方文档或社区解决方案,以增强回答的可信度。</think>### TensorFlow与cuDNN插件冲突及模块加载问题解决方案 #### 1. **确认版本兼容性** TensorFlow版本必须与CUDAcuDNN版本严格匹配。以下是常见版本的对应关系: - **TensorFlow 2.10+**:CUDA 11.2,cuDNN 8.1[^1] - **TensorFlow 2.15+**:CUDA 12.3,cuDNN 8.9[^1] 通过以下命令检查已安装版本: ```bash # 检查TensorFlow版本 python -c "import tensorflow as tf; print(tf.__version__)" # 检查CUDA版本 nvcc --version # 检查cuDNN版本(需查看头文件) cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` #### 2. **重新安装匹配的CUDA/cuDNN** 若版本不匹配,需重新安装: - **CUDA安装**:从[NVIDIA官网](https://developer.nvidia.com/cuda-toolkit-archive)下载指定版本,例如: ```bash 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 ``` - **cuDNN安装**:解压后复制文件到CUDA目录: ```bash tar -xzvf cudnn-11.2-linux-x64-v8.1.1.33.tgz sudo cp cuda/include/* /usr/local/cuda-11.2/include/ sudo cp cuda/lib64/* /usr/local/cuda-11.2/lib64/ ``` #### 3. **配置环境变量** 在`~/.bashrc`中添加以下路径并激活: ```bash export PATH=/usr/local/cuda-11.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH ``` 执行`source ~/.bashrc`使配置生效。 #### 4. **PyCharm环境配置** 1. **设置Python解释器路径**:确保PyCharm使用的解释器指向已安装TensorFlow的虚拟环境。 2. **添加环境变量**:在PyCharm的`Run/Debug Configurations`中,添加: ``` LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64 ``` #### 5. **清理并重装TensorFlow** ```bash # 卸载原有版本 pip uninstall tensorflow tensorflow-gpu # 安装指定版本 pip install tensorflow==2.10.0 ``` #### 6. **验证安装** 运行以下Python脚本检查是否加载成功: ```python import tensorflow as tf print(tf.config.list_physical_devices('GPU')) # 应输出GPU信息 ``` #### 常见错误处理 - **错误`Could not load dynamic library 'libcudnn.so.8'`**:表示cuDNN未正确安装或路径未配置。 - **错误`cuDNN version mismatch`**:需严格检查版本对应关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值