news 2026/6/5 6:47:27

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/30 15:15:43

基于小波变换的跳频信号参数估计方法

一、跳频信号参数估计的关键参数 跳频信号(FHSS)的核心参数包括: 跳频速率(Hop Rate):单位时间内的频率跳变次数(Hz/s)跳变时刻(Hop Instant):频率…

作者头像 李华
网站建设 2026/6/4 16:31:14

LobeChat安全机制与权限管理实战解析

LobeChat 安全机制与权限管理实战解析 在企业级 AI 应用日益普及的今天,一个看似简单的“聊天界面”背后,往往承载着敏感数据流转、多角色协作与合规性要求。LobeChat 作为一款现代化开源 AI 聊天框架,早已超越了“个人助手”的范畴&#xff…

作者头像 李华
网站建设 2026/5/28 19:16:46

在VSCode中高效绘制示意图的利器Excalidraw

在 VSCode 中高效绘制示意图的利器 Excalidraw 在技术团队的日常协作中,一张草图往往胜过千言万语。无论是架构评审会上快速勾勒的服务拓扑,还是文档中用于解释系统流程的手绘风格图表,视觉表达始终是沟通复杂概念最直接的方式。然而&#x…

作者头像 李华
网站建设 2026/6/3 3:29:31

LobeChat的错误提示友好吗?新手引导做得怎么样?

LobeChat的错误提示友好吗?新手引导做得怎么样? 在如今大语言模型(LLM)如火如荼发展的背景下,越来越多开发者希望将AI能力快速集成到自己的产品中。但直接调用OpenAI、Ollama这类API,并非人人都能轻松驾驭—…

作者头像 李华
网站建设 2026/6/4 2:10:02

49、基于 Web 的待办事项列表应用:todolist.pl 详解

基于 Web 的待办事项列表应用:todolist.pl 详解 1. 应用概述 基于 Web 的待办事项列表应用 todolist.pl 允许用户添加、删除和更改列表项,还能按日期、优先级或描述对列表进行排序,同时可以标记事项为已完成。该应用由一个包含待办事项的大表格组成,每个事项都有一个复…

作者头像 李华
网站建设 2026/6/3 0:36:54

Gots认证适用的产品

GOTS,全称Global Organic TextileStandard,即全球有机纺织品标准。适用于所有涉及有机纺织品生产的企业,包括纺纱、织造、印染、后整理和成品制造等企业。此外,Gots认证还可以适用于与纺织品相关的企业,如生产有机棉花…

作者头像 李华