news 2026/5/25 20:59:04

Ubuntu20.04安装TensorFlow-GPU与PyTorch全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu20.04安装TensorFlow-GPU与PyTorch全流程

Ubuntu 20.04 搭建 TensorFlow-GPU 与 PyTorch 开发环境全记录

在深度学习项目中,选择合适的开发环境往往决定了后续训练效率和调试体验。尤其是在本地部署 AI 模型时,能否顺利启用 GPU 加速,直接关系到实验迭代的速度。对于使用 NVIDIA 显卡的开发者来说,在 Ubuntu 20.04 上配置一个既能跑通 TensorFlow 又能运行 PyTorch 的 GPU 环境,是迈向高效研发的第一步。

本文基于实操经验整理了一套完整流程,涵盖从 Anaconda 虚拟环境搭建、NVIDIA 驱动安装,到 CUDA 和 cuDNN 配置,最终实现TensorFlow 2.12PyTorch 2.0+(CUDA 11.8)共存且均可调用 GPU 的目标。整个过程经过多轮验证,适用于主流 NVIDIA 显卡(如 RTX 3060/3070/3080 等),尤其适合刚接触 Linux 下深度学习环境搭建的新手或科研人员。


为什么先装 Anaconda?

Python 包依赖管理向来是个“坑”,特别是当你要同时维护多个项目、不同框架版本共存时。Anaconda 提供了强大的虚拟环境机制,不仅能隔离 Python 解释器和库版本,还能简化包安装流程。

安装 Anaconda

前往 Anaconda 官网 下载 Linux 版本的安装脚本。以Anaconda3-2023.03-Linux-x86_64.sh为例:

wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh bash Anaconda3-2023.03-Linux-x86_64.sh

安装过程中会提示阅读许可协议,按回车浏览后输入yes接受条款。路径保持默认即可,初始化 conda 也建议选yes

完成后执行:

source ~/.bashrc

此时终端前缀应出现(base),表示 Conda 已生效。

创建专用虚拟环境

为避免 TensorFlow 和 PyTorch 的依赖冲突,推荐创建独立环境:

conda create --name tf_pytorch python=3.9 conda activate tf_pytorch

激活成功后,所有后续操作都将在该环境中进行,确保干净整洁。

小技巧:可以为常用命令设置别名,比如在~/.bashrc中添加:

bash alias tpip="/home/your_username/anaconda3/envs/tf_pytorch/bin/pip" alias tpython="/home/your_username/anaconda3/envs/tf_pytorch/bin/python"

刷新配置:source ~/.bashrc,之后就可以用tpip install xxx快速安装包。


如何正确安装 NVIDIA 显卡驱动?

这是最容易出错的一环——显卡驱动没装好,后面再怎么折腾 CUDA 都白搭。

Ubuntu 提供了两种方式:图形化工具和命令行。如果你是在桌面系统上操作,推荐使用“附加驱动”;如果是服务器或远程 SSH 登录,则更适合用命令行。

方法一:“附加驱动”一键安装(适合新手)

打开Software & Updates → Additional Drivers,系统会自动检测可用驱动。通常推荐选择标记为“proprietary, tested”的版本。

点击 Apply Changes 开始安装,完成后重启机器。

方法二:命令行全自动安装(适合远程部署)

sudo apt update ubuntu-drivers devices # 查看推荐驱动 sudo ubuntu-drivers autoinstall sudo reboot

这种方式特别适合没有 GUI 的场景,省去了手动下载.run文件的麻烦。

验证驱动是否正常

重启后运行:

nvidia-smi

如果看到类似输出:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 NVIDIA GeForce RTX 3060 On | 00000000:01:00.0 On | N/A | | 30% 45C P8 15W / 170W | 1024MiB / 12288MiB | 5% Default | +-------------------------------+----------------------+----------------------+

恭喜!你的 GPU 已经被识别,并且驱动工作正常。

注意:这里的 “CUDA Version: 12.0” 表示当前驱动支持最高 CUDA 12.0,但并不代表你已经安装了 CUDA Toolkit。我们仍需手动安装指定版本。


安装 CUDA Toolkit:选哪个版本最稳妥?

TensorFlow 和 PyTorch 对 CUDA 版本有明确要求。为了兼顾兼容性与稳定性,我们选择CUDA 11.8——它被 TensorFlow 2.12 和 PyTorch 2.0+ 同时支持,是目前较为理想的中间版本。

下载并安装 CUDA 11.8

进入 NVIDIA CUDA Archive,选择 Linux → x86_64 → Ubuntu → 20.04 → deb(network) 或 runfile。

这里使用 runfile 方式安装:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run

⚠️ 关键提醒:不要勾选安装 NVIDIA Driver!因为我们已经通过系统安装了更高版本的驱动,重复安装可能导致冲突。

在交互界面中取消 Driver 安装选项,仅保留:
- [x] CUDA Toolkit 11.8
- [x] CUDA Samples
- [x] CUDA Documentation

设置环境变量

编辑~/.bashrc添加路径:

echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export CUDA_HOME=/usr/local/cuda-11.8' >> ~/.bashrc source ~/.bashrc

验证 CUDA 是否安装成功

进入 samples 目录编译测试程序:

cd /usr/local/cuda-11.8/samples/1_Utilities/deviceQuery sudo make ./deviceQuery

若输出包含:

Result = PASS Detected 1 device(s) Device 0: "NVIDIA GeForce RTX 3060" ...

说明 CUDA 安装无误,GPU 可被调用。


安装 cuDNN:深度学习性能加速的关键

cuDNN 是 NVIDIA 针对深度神经网络核心操作(如卷积、池化、归一化等)高度优化的库,几乎所有现代框架都会调用它来提升计算效率。

获取 cuDNN

需要注册 NVIDIA 开发者账号,访问 cuDNN 下载页,下载与 CUDA 11.8 对应的版本:

示例文件名:cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz

上传至服务器后解压:

tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz

复制文件到 CUDA 目录

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include/ sudo cp cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

更新动态链接缓存:

sudo ldconfig

至此,底层三大组件(Driver + CUDA + cuDNN)全部就绪,接下来就可以安装深度学习框架了。


配置 TensorFlow-GPU 环境

TensorFlow 以其强大的生产部署能力著称,尤其是 TensorBoard、SavedModel、TF Serving 等生态工具,在企业级应用中表现优异。

安装 TensorFlow 2.12

确保已激活 conda 环境:

conda activate tf_pytorch pip install tensorflow==2.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

使用清华镜像可显著加快下载速度,尤其在国内网络环境下非常实用。

验证 GPU 支持

启动 Python 测试:

import tensorflow as tf print("TensorFlow Version:", tf.__version__) print("GPU Available:", tf.config.list_physical_devices('GPU')) for device in tf.config.list_physical_devices(): print(device)

预期输出:

TensorFlow Version: 2.12.0 GPU Available: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

只要返回中有'GPU'设备,就说明 TensorFlow 成功调用了 GPU。

常见问题排查:
- 若提示Could not load dynamic library 'libcudart.so.11.0',请检查 CUDA 路径是否正确。
- 若显示no supported gpu devices found,可能是 cuDNN 版本不匹配或未正确复制文件。


安装 PyTorch(GPU 版本)

PyTorch 因其动态图机制和直观的 API 设计,在学术界广受欢迎,尤其适合快速原型开发和模型调试。

使用官方命令安装

访问 pytorch.org/get-started/locally,选择对应配置,获取安装命令:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

这条命令会自动拉取适配 CUDA 11.8 的预编译包,无需手动编译,极大简化安装流程。

验证 PyTorch 是否启用 GPU

import torch print("PyTorch Version:", torch.__version__) print("CUDA Available:", torch.cuda.is_available()) print("GPU Count:", torch.cuda.device_count()) if torch.cuda.is_available(): print("Current GPU:", torch.cuda.get_device_name(0))

理想输出:

PyTorch Version: 2.0.1+cu118 CUDA Available: True GPU Count: 1 Current GPU: NVIDIA GeForce RTX 3060

一旦torch.cuda.is_available()返回True,说明 PyTorch 已准备就绪。


推荐开发工具:PyCharm 配置指南

虽然 Jupyter Notebook 很适合做探索性分析,但在构建复杂项目时,还是需要专业的 IDE 来提升编码效率。PyCharm(尤其是专业版)提供了出色的代码补全、调试、版本控制集成等功能。

下载与安装

wget https://download.jetbrains.com/python/pycharm-community-2023.1.tar.gz tar -xzf pycharm-community-2023.1.tar.gz sudo mv pycharm-community-2023.1 /opt/

启动:

cd /opt/pycharm-community-2023.1/bin ./pycharm.sh

首次运行时可以选择创建桌面快捷方式,方便后续启动。

配置解释器路径

打开 PyCharm 后:

  1. File → Settings → Project → Python Interpreter
  2. 点击齿轮图标 → Add…
  3. 选择Conda Environment→ Existing environment
  4. 输入路径:/home/your_username/anaconda3/envs/tf_pytorch/bin/python

保存后,IDE 即可识别你在 conda 中安装的所有包,包括 TensorFlow 和 PyTorch。


这套环境配置下来,你已经拥有了一个功能完备、双框架共存的专业级 AI 开发平台。无论是做图像分类、自然语言处理,还是训练生成对抗网络,都能获得稳定的 GPU 加速支持。

关键点总结如下:

  • 使用CUDA 11.8 + cuDNN 8.7组合,完美兼容 TensorFlow 2.12 与 PyTorch 2.0+
  • 采用Conda 虚拟环境实现依赖隔离,避免版本混乱
  • 优先使用国内镜像源加速 pip 安装
  • 所有组件遵循自底向上的安装顺序:驱动 → CUDA → cuDNN → 框架
  • 强烈建议在物理机双系统上操作,虚拟机几乎无法实现 GPU 直通

下一步,你可以结合 Jupyter Lab 进行交互式开发,或接入 TensorBoard 实现训练可视化,进一步提升工程效率。

希望这份实战指南能帮你少踩几个坑,快速进入深度学习的核心战场。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 7:18:47

11、Linux 系统写作与编辑的语法和参考工具使用指南

Linux 系统写作与编辑的语法和参考工具使用指南 在 Linux 系统中进行写作和编辑时,拼写检查器、字典和参考文件等工具和资源能极大地提升效率和准确性。下面将详细介绍这些工具的使用方法。 1. 拼写检查 在 Linux 系统中,有多种方式可以对文本和文件进行拼写检查。系统字典…

作者头像 李华
网站建设 2026/5/26 7:17:33

Wan2.2-T2V-A14B服务雪崩?反脆弱LLM运维指南

Wan2.2-T2V-A14B服务雪崩?反脆弱LLM运维指南从一次崩溃说起:当视频生成卡在第8秒 凌晨两点,系统监控突然报警。你揉着发酸的眼睛点开告警详情——Wan2.2-T2V-A14B 的 GPU 内存使用率冲上 99%,请求队列堆积超过 300,P99…

作者头像 李华
网站建设 2026/5/26 7:18:13

Qwen-Image可商用吗?是否需要署名?

Qwen-Image可商用吗?是否需要署名? 在广告公司通宵赶制新年海报时,设计师突然发现客户要求的“汉服少女外滩夜景赛博朋克”组合,竟被AI一键生成——画面连霓虹灯牌上的中英双语文字都精准呈现,破损墙面自动修复&#x…

作者头像 李华
网站建设 2026/5/26 7:17:10

FLUX.1-dev显存优化实战:低配GPU高效生成

FLUX.1-dev显存优化实战:低配GPU高效生成在RTX 3060、RX 6700 XT甚至移动版笔记本显卡成为主流创作工具的今天,一个现实问题摆在面前:为什么我们手握“旗舰级”硬件,却依然无法流畅运行FLUX.1-dev? 官方宣称的18GB显存…

作者头像 李华
网站建设 2026/5/26 7:20:11

Jetson Nano配置PaddlePaddle并实现OCR测试

Jetson Nano 上从零部署 PaddlePaddle 与中文 OCR 实践 在嵌入式 AI 应用日益普及的今天,如何在资源受限的边缘设备上实现高效、稳定的深度学习推理,成为开发者面临的核心挑战之一。NVIDIA Jetson Nano 凭借其小巧体积、低功耗和 GPU 加速能力&#xff…

作者头像 李华
网站建设 2026/5/25 10:56:09

42、Perl引用的使用与嵌套数据结构构建

Perl引用的使用与嵌套数据结构构建 1. 引用基础与子程序参数传递 在Perl中,引用是一个强大的工具。当修改 @array2 时,它不会影响 @array1 ,因为它们是内容独立的不同数组。而 $arrayref 中对 @array1 的引用,会和 @array1 的当前内容相同,因为引用指向的是和 …

作者头像 李华