Ubuntu24.04|LXD用户|在Conda虚拟环境搭建tensorflow2.x并使用GPU(查看/安装/卸载cuda、cudnn)
对于使用 Ubuntu 系统的 LXD 用户,NVIDIA 驱动程序在初始设置时已自动安装完毕。在使用 Conda 配置 TensorFlow-GPU 虚拟环境时,无需在本地安装任何额外的驱动程序、CUDA 或 cuDNN。
安装Anaconda
- wget下载
wget -c 'https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh' -P /home/[username]/downloads
- 用bash命令安装Anaconda
bash /home/[username]/downloads/Anaconda3-2024.02-1-Linux-x86_64.sh
详细过程参考:KRISNAT,超详细Ubuntu安装Anaconda步骤+Anconda常用命令
这里提一下因为可能关系到conda库里到底有没有版本的问题
我安装的是Anaconda3-2024.02-1-Linux-x86_64.sh
由于在后面conda install比较有限,先安装一下conda-forge
。
conda install -c conda-forge conda-pack
初始环境检查
查看gpu和驱动信息
cat /proc/driver/nvidia/version
- nvidia-driver: 550.54.15
nvidia-smi
能显示说明初始拿到系统的时候驱动已经装好了。
nvidia-smi -L
若报错:Failed to initialize NVML: Driver/library version mismatch NVML library version:xxx
如nvidia-smi报错Failed to initialize NVML: Driver/library version mismatch NVML library version:xxx, 说明要检查自己系统安装的驱动版本可能超过了系统可安装的最高版本驱动。此时需要卸载nvidia-driver的相关文件。参考:鳗小鱼,【已解决】Failed to initialize NVML: Driver/library version mismatch NVML library version: 535.161
sudo dpkg --list | grep nvidia
grep出来没东西
查看本地cuda和cudnn安装情况
# 用 ls [path] | grep [target] 有显示本地已有的cuda toolkit
ls /usr/local/ | grep cuda
nvcc -V
啥也没有
在conda虚拟环境中自动安装Tensorflow-gpu✅
指定cuda版本【较有限】
经过多次尝试,能够在创建环境时直接自动安装的最高应该只能到cuda10(针对我安装的anaconda版本)
conda create -n tf-cu10 tensorflow-gpu cudatoolkit=10.0
不指定cuda版本【最丝滑】
- 自动安装gpu版本tensorflow:
conda create -n tf-gpu-auto tensorflow-gpu
-
装好没报错这个虚拟环境就可用了。
-
安装的时候就可以看到conda自动安装的版本是什么。也可以装好之后用
conda list | grep cuda
列出当前 Conda 环境中与 cuda 相关的所有已安装包
-
后面会发现尝试手动安装费时费力不如直接这么做
在conda虚拟环境中手动安装(未解决)
安装之后可以使用tensorflowgpu但是tf.config.experimental.list_physical_devices(‘GPU’)返回空列表。有可能是安装了依赖但是缺失了关键文件。
检查是否存在对应版本
参考官网(语言切换成English)GPU
我安装的是tensorflow2.4.0 + python 3.8.18 + cudatoolkit11.0.221 + cudnn 8.0.5.39
- cuda=11.0.221
- cudnn=8.0.5.39
- bazel=3.1.0
- tensorflow=2.4.0
5. 检查gcc版本是否符合条件(不需要检查gcc,只要python版本对应即可)
开始安装
conda安装cudatoolkit
conda install cudatoolkit=11.0.221
conda安装cudnn
conda install cudnn=8.0.5.39
conda安装bazel
conda install bazel=3.1.0
conda安装tensorflow
conda install tensorflow=2.4.0 -c conda-forge
弹出一些升级和降级的提示。感觉这些包问题不大,选y继续安装
手动安装的问题
测试tensorflow显示没有gpu
之前在另外一台服务器上按同样版本手动安装的没有问题,但这里不行
参考https://blog.csdn.net/xiaxinkai/article/details/138261203修改了环境变量,但是没用。
其他问题
- 直接sudo apt install nvidia-driver-xxx (xxx为ubuntu-drivers devices 提供的推荐版本)就很容易出现装太高的问题(比如550.90)
参考
anaconda
超详细Ubuntu安装Anaconda步骤+Anconda常用命令
tensorflow gpu
Linux conda中Tensorflow GPU安装配置全面梳理(包含cuda、cudnn)
Ubuntu22.04 下使用 Conda 安装 tensorflow-gpu 版本
Install TensorFlow
Anaconda虚拟环境中安装CUDA
tensorflow-gpu2.x无法检测到GPU设备
【已解决】Failed to initialize NVML: Driver/library version mismatch NVML library version: 535.161
卸载、安装本地cuda和cudnn
Ubuntu下完全移除cuda和nvidia驱动并重新安装新版本cuda