当前位置: 首页 > news >正文

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),仅供参考

http://www.cnnetsun.cn/news/85509.html

相关文章:

  • Linux系统下TensorFlow-GPU环境搭建全指南
  • Jupyter Notebook与cpolar的深度协作——解锁远程开发新体验
  • SMDJ48A单向 TVS瞬态抑制二极管:48V单向瞬态防护核心
  • 基于springboot乡镇医院挂号预约系统
  • PHP大数据处理与人工智能集成实战:构建高并发智能系统-1
  • 4.3POSIXskin的不兼容性
  • 40、Perl与操作系统:Windows环境下的应用与操作
  • 盘点!国内几款特色AI大模型
  • 44、Perl引用的使用与深入探究
  • GPT-SoVITS语音合成与音色克隆实战指南
  • GPT-OSS-20B与Qwen3-14B九维全面对比
  • Docker与本地配置PaddleOCR实战指南
  • 从入门到精通:Agent任务分解终极指南,一篇彻底讲透技术栈与实战!
  • AutoGPT入门指南:安装、使用与案例全解析
  • 27、文本编辑器的复杂性与设计权衡
  • 基于java + vue校园快递物流管理系统(源码+数据库+文档)
  • AI时代工作模式革命:揭秘’人+智能体+机器人’新范式,重构未来职业与教育方向!
  • TOB企业获客软件选型指南:技术架构、核心能力与可信赖度深度剖析
  • 突破Seed-Coder-8B上下文限制的三大策略
  • Gfast 快速开发框架 V3.3.10 版发布
  • 稀土网络指标(2018-2024)
  • vue基于Spring Boot框架自然灾害应急救援捐赠平台_jwwh8v3n
  • 基于springboot和vue的陶瓷销售商城平台的设计与实现_87274i2a(java毕业设计项目源码)
  • 基于springboot和vue的高校晒衣服交流系统 物品收纳空间管理系统_76216q80(java毕业设计项目源码)
  • 巴菲特的投资方法与成功要素
  • 零基础学朴素贝叶斯:从数学原理到Python实现
  • 电商网站解决MIME类型警告的完整方案
  • AI一键搞定SQL Server安装:快马智能配置助手
  • 零基础学会用WebUI构建第一个网页应用
  • 1小时搞定!用WinStep.NTE快速验证Windows应用创意