news 2026/3/19 7:40:09

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/3/12 0:55:33

FaceFusion开源换脸工具使用全指南

FaceFusion开源换脸工具使用全指南 在AI视觉技术飞速发展的今天,人脸替换早已不再是科幻电影的专属特效。从虚拟主播到影视修复,从创意短视频到数字人生成,高保真人脸编辑工具正以前所未有的速度走向大众。而在这股浪潮中,FaceFu…

作者头像 李华
网站建设 2026/3/16 6:13:04

LobeChat能否生成二维码?实用小功能上线

LobeChat能否生成二维码?实用小功能上线 在智能助手越来越“能干”的今天,我们对AI的期待早已不再局限于回答问题。用户希望它能真正帮自己完成任务——比如发个链接时顺手生成一个二维码,扫码直达,省去复制粘贴的麻烦。这种看似微…

作者头像 李华
网站建设 2026/3/18 10:48:05

ECS机器上安装docker

1)先确认系统版本 cat /etc/os-release看输出里是 Ubuntu/Debian 还是 CentOS/RHEL/Alibaba Cloud Linux,然后走对应方案。 ⸻ 2)CentOS / RHEL / Alibaba Cloud Linux(含 CentOS 7/8、Alibaba Cloud Linux 2/3) A. 卸…

作者头像 李华
网站建设 2026/3/11 16:32:15

HTTP网络巩固知识基础题(5)

1. 简述 HTTP 协议的特点? HTTP 是无状态、无连接的应用层协议,基于请求/响应模型,支持多种请求方法和内容类型。 2. HTTP 1.0、1.1 和 2.0 的主要区别? HTTP/1.0 默认短连接;HTTP/1.1 引入持久连接、管道化等;HTTP/2.0 采用二进制分帧、多路复用、服务器推送等。 3.…

作者头像 李华
网站建设 2026/3/11 7:40:51

Vue中集成Excalidraw实现在线画板

Vue 3 中集成 Excalidraw 实现手绘风格在线白板 在团队协作日益依赖可视化表达的今天,一张能快速勾勒想法、支持自由创作的“数字草图本”变得不可或缺。无论是产品原型讨论、架构设计推演,还是教学演示场景,传统的规整图形工具往往显得过于僵…

作者头像 李华