news 2026/2/10 13:35:23

Ubuntu 18.04配置TensorFlow-GPU与PyTorch-GPU完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 18.04配置TensorFlow-GPU与PyTorch-GPU完整指南

Ubuntu 18.04配置TensorFlow-GPU与PyTorch-GPU完整指南

在深度学习项目中,本地训练环境的搭建往往是第一步,也可能是最让人头疼的一步。尤其是当你面对一块RTX 2080 Ti显卡、却始终无法让PyTorch或TensorFlow识别出GPU时,那种挫败感简直难以言喻。

本文基于Ubuntu 18.04.5 LTS + NVIDIA RTX 2080 Ti的真实环境,手把手带你从零开始构建一个稳定、高效的双框架(TensorFlow-GPU 和 PyTorch-GPU)开发平台。整个过程覆盖驱动安装、CUDA/cuDNN配置、Anaconda环境管理以及离线安装策略,并特别针对国内网络优化了下载方式,确保每一步都可复现、少踩坑。


更换APT源为阿里云镜像

Ubuntu默认的软件源位于国外,更新和安装速度极慢。建议第一时间切换为国内镜像以提升效率。

使用以下命令编辑软件源列表:

sudo gedit /etc/apt/sources.list

将原文件内容全部注释(在每行deb前加#),然后粘贴如下阿里云源(适用于Bionic即18.04版本):

# Aliyun APT Source for Ubuntu 18.04 (bionic) deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

保存后执行更新:

sudo apt-get update sudo apt-get upgrade

若遇到锁文件冲突问题,可清除相关锁:

sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/cache/apt/archives/lock

顺带安装Vim以便后续编辑配置文件:

sudo apt-get install vim

安装NVIDIA显卡驱动

禁用开源驱动nouveau

Ubuntu默认启用开源驱动nouveau,它会与NVIDIA官方驱动冲突,必须提前禁用。

编辑黑名单文件:

sudo chmod 666 /etc/modprobe.d/blacklist.conf sudo gedit /etc/modprobe.d/blacklist.conf

在末尾添加以下内容:

blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb

保存后更新initramfs并重启:

sudo update-initramfs -u sudo reboot

重启后验证是否已禁用:

lsmod | grep nouveau

✅ 若无输出,则说明禁用成功。


安装编译工具链

NVIDIA驱动安装过程中需要编译内核模块,因此需先安装必要的构建工具:

sudo apt-get install build-essential

检查GCC版本:

gcc --version g++ --version

如有提示make未安装,补上:

sudo apt-get install make

下载并安装NVIDIA驱动

前往 NVIDIA驱动官网,选择你的显卡型号(如GeForce RTX 2080 Ti)、操作系统Linux 64位,下载.run格式驱动包。

假设文件名为NVIDIA-Linux-x86_64-470.141.03.run,存放在/home/xxx/Downloads/

进入目录并赋予执行权限:

cd /home/xxx/Downloads/ sudo chmod +x NVIDIA-Linux-x86_64-470.141.03.run

关闭图形界面,切换到TTY终端:

Ctrl + Alt + F3

登录后停止显示管理器:

sudo service lightdm stop

开始安装,避免常见冲突:

sudo ./NVIDIA-Linux-x86_64-470.141.03.run \ --no-x-check \ --no-nouveau-check \ --no-opengl-files

参数说明:
---no-x-check:跳过X服务检查
---no-nouveau-check:不再检测nouveau(我们已经禁用了)
---no-opengl-files:不安装OpenGL组件,防止与系统图形库冲突

安装完成后启动图形界面:

sudo service lightdm start Ctrl + Alt + F7 # 切回桌面(部分系统为F1)

验证驱动是否生效:

nvidia-smi

✅ 成功显示显卡信息、驱动版本及CUDA版本即表示安装完成。


使用Anaconda管理Python环境

安装Anaconda

访问 Anaconda官网 下载Linux版安装脚本。

运行安装程序:

bash Anaconda3-2023.03-Linux-x86_64.sh

按提示操作:
- 回车查看许可协议 → 输入yes
- 接受默认路径 → 回车
- 初始化conda?→输入no

❗ 强烈建议不要自动初始化,便于手动控制环境变量加载时机。


区分系统Python与Anaconda Python

Ubuntu自带Python 3.6,而Anaconda使用独立解释器。为避免混淆,可通过别名机制明确区分。

编辑用户环境变量:

vim ~/.bashrc

在文件末尾添加:

# 明确指定系统python3路径 alias python3="/usr/bin/python3.6" # 将Anaconda加入PATH(注意替换xxx为实际用户名) export PATH="/home/xxx/anaconda3/bin:$PATH"

保存退出(Esc →:wq!),使配置生效:

source ~/.bashrc

测试效果:

python --version # 应输出Anaconda的Python版本(如3.9) python3 --version # 应输出系统的3.6

创建独立虚拟环境

推荐分别为PyTorch和TensorFlow创建隔离环境,避免依赖冲突。

创建PyTorch环境:
conda create -n pytorch python=3.8 conda activate pytorch
创建TensorFlow环境:
conda create -n tensorflow python=3.8 conda activate tensorflow

查看所有环境:

conda env list

退出当前环境:

conda deactivate

💡 后续安装任何框架前,请务必激活对应环境!


安装CUDA Toolkit(推荐11.8)

CUDA是NVIDIA提供的并行计算平台,几乎所有GPU加速的深度学习框架都依赖它。

前往 CUDA Toolkit Archive,选择CUDA 11.8 Update 1(兼容性强,支持主流框架)。

设置选项如下:
- OS: Linux
- Architecture: x86_64
- Distribution: Ubuntu
- Version: 18.04
- Installer Type: runfile (local)

复制并执行安装命令,例如:

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

安装界面出现后:
- 按Enter接受EULA
- 移动光标到Driver项,按空格取消勾选 ✅(已有驱动)
- 其余保持默认(均有✅)
- 选择Install

等待几分钟完成安装。


配置CUDA环境变量

继续编辑.bashrc文件:

vim ~/.bashrc

添加以下内容(根据实际安装版本调整路径):

export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH export CUDA_HOME=/usr/local/cuda-11.8

保存并重新加载:

source ~/.bashrc

验证安装结果:

nvcc --version

✅ 输出CUDA编译器版本即表示成功。


安装cuDNN(深度神经网络加速库)

cuDNN是NVIDIA专为深度学习优化的核心库,必须与CUDA版本严格匹配。

前往 cuDNN下载页面(需注册账号),选择cuDNN v8.7 for CUDA 11.x

下载完成后解压:

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

复制文件至CUDA目录:

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

✅ 至此,底层GPU支持栈(Driver + CUDA + cuDNN)已全部部署完毕。


安装PyTorch-GPU(推荐离线安装)

虽然可以通过pip或conda在线安装,但受限于网络和镜像同步延迟,经常导致无法正确识别GPU支持。

推荐方案:使用清华镜像离线安装

访问:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/

搜索并下载以下三个包(注意CUDA版本一致):
-pytorch-1.13.1-py3.8_cuda11.8_0.tar.bz2
-torchvision-0.14.1-py38_cu118.tar.bz2
-torchaudio-0.13.1-py38_cu118.tar.bz2

安装步骤(进入pytorch环境):

conda activate pytorch conda install --offline /home/xxx/Downloads/pytorch-1.13.1-py3.8_cuda11.8_0.tar.bz2 conda install --offline /home/xxx/Downloads/torchvision-0.14.1-py38_cu118.tar.bz2 conda install --offline /home/xxx/Downloads/torchaudio-0.13.1-py38_cu118.tar.bz2

验证PyTorch-GPU可用性:

import torch print(torch.__version__) print(torch.cuda.is_available()) # 应输出 True print(torch.cuda.get_device_name(0)) # 应显示显卡名称,如 "RTX 2080 Ti"

✅ 若返回True且能识别显卡,说明PyTorch-GPU配置成功。


安装TensorFlow-GPU(推荐pip离线安装)

自TensorFlow 2.1起,官方不再提供独立的tensorflow-gpu包,统一为tensorflow,自动检测GPU支持。

但由于PyPI源不稳定,仍建议采用离线安装方式。

使用清华PyPI镜像下载whl包

访问:https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow/

查找与CUDA 11.8兼容的版本,例如:

tensorflow-2.12.0-cp38-cp38-linux_x86_64.whl

✅ 注意cp38表示Python 3.8,必须与你的conda环境匹配。

安装步骤:

conda activate tensorflow pip install /home/xxx/Downloads/tensorflow-2.12.0-cp38-cp38-linux_x86_64.whl

验证TensorFlow-GPU支持:

import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices('GPU')) # 应列出GPU设备 print(tf.test.is_built_with_cuda()) # 应返回 True

✅ 若输出GPU设备列表且CUDA标志为True,则安装成功。


常见问题与避坑指南

torch.cuda.is_available()返回 False?

这几乎是新手最常见的问题,可能原因包括:

  • CUDA/cuDNN版本不匹配
  • 安装包来自非官方渠道(如conda-forge)
  • 环境变量未正确设置
  • 实际使用的Python解释器并非预期的那个

✅ 解决方法:
- 运行nvidia-smi查看当前驱动支持的最高CUDA版本
- 参考PyTorch官网文档确认版本对应关系(如PyTorch 1.13支持CUDA 11.7/11.8)
-优先使用离线安装包,避免因镜像不同步导致安装错误版本
- 在Python中打印sys.executable确认正在使用的解释器路径


安装后找不到模块?

有时即使安装成功,也无法导入模块,常见于环境未刷新的情况。

尝试以下操作:

conda deactivate && conda activate your_env

或者直接重启系统 —— 很多环境变量变更需要重启才能完全生效。


报错ImportError: libcudart.so.11.0: cannot open shared object file

这是典型的CUDA版本不一致问题。系统期望的是11.0,但你安装的是11.8。

检查系统中实际存在的CUDA动态库:

find /usr -name "libcudart.so*" 2>/dev/null

如果发现/usr/local/cuda-11.8存在,但软链接/usr/local/cuda指向旧版本,修复如下:

sudo ln -sf /usr/local/cuda-11.8 /usr/local/cuda

⚠️ 使用-sf参数强制覆盖已有链接。


总结与建议

这套配置已在多台RTX 2080 Ti机器上验证通过,核心组件版本推荐如下:

组件推荐版本说明
操作系统Ubuntu 18.04.5 LTS长期支持,稳定性强
GPU驱动≥470.xx支持CUDA 11.x系列
CUDA11.8当前最稳定的生产级版本
cuDNNv8.7官方推荐用于深度学习
PyTorch1.13.1+cu118支持CUDA 11.8
TensorFlow2.12.0自动检测GPU,无需单独安装gpu包

关键经验总结:
-坚持使用离线安装包:无论是conda还是pip,国内网络环境下强烈推荐从清华镜像下载后本地安装。
-环境隔离不可省:不同项目对框架版本要求各异,用conda创建独立环境是最稳妥的做法。
-版本匹配是成败关键:驱动 → CUDA → cuDNN → 框架,每个环节都要严格对应,不能混搭。
-善用nvidia-sminvcc --version做交叉验证:它们分别代表驱动层和开发工具链的状态,两者一致才可靠。


🎉 至此,你已经在 Ubuntu 18.04 上成功搭建了一个功能完整、稳定可靠的TensorFlow-GPU 与 PyTorch-GPU 开发环境

无论你是从事学术研究、模型调优,还是企业级部署,这套组合都能为你提供坚实的底层支撑。

最后提醒:完成全部安装后,建议重启一次系统,再全面验证一遍各组件状态。祝你一路绿灯,训练飞快!🚀

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

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

LangFlow支持多种编程语言节点混合编排实战

LangFlow 多语言节点混合编排实战:打破技术栈壁垒的AI流程构建 在企业级AI系统开发中,一个常见的困境是:算法团队用Python写模型,后端服务由Java支撑,前端又有大量JavaScript文本处理逻辑。当我们要构建一个完整的智能…

作者头像 李华
网站建设 2026/2/9 22:15:01

基于springboot + vue高校宿舍管理系统

高校宿舍管理 目录 基于springboot vue高校宿舍管理系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue高校宿舍管理系统 一、前言…

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

Golang中解析SQL语句为JSON格式常用的库介绍

在Go中解析SQL语句为JSON格式,常用的库有以下几种: 1. sqlparser(最常用) GitHub: https://github.com/xwb1989/sqlparser import ("github.com/xwb1989/sqlparser""encoding/json" )func parseSQLToJSON(sql…

作者头像 李华
网站建设 2026/1/29 10:35:02

基于Android的固定资产借用管理平台系统(源码+lw+部署文档+讲解等)

课题介绍本课题聚焦企事业单位、高校固定资产借用流程繁琐、归还提醒缺失、资产追踪困难的痛点,设计实现基于 Android 的固定资产借用管理平台。系统以 Java 为核心开发语言,基于 Android 原生框架搭建移动端应用,搭配轻量后端服务架构&#…

作者头像 李华
网站建设 2026/2/9 10:06:40

AI智能体落地实战指南:揭秘七大核心陷阱与解决方案,程序员小白必备的避坑宝典!

简介 本文揭示企业AI智能体落地的七大陷阱及解决方案:从业务场景切入而非为AI而AI、构建数据基础、采用成熟技术、确保安全可控、重塑人机协作、建立持续运维机制和规划能力中台。成功落地不仅是技术采购,更是运营模式和组织能力的重构,需以业…

作者头像 李华
网站建设 2026/1/29 13:20:41

Windows下深度学习环境配置全指南

Windows下深度学习环境配置全指南 在尝试跑通第一个中文文本分类模型时,你是否曾因为“CUDA not available”而反复重装驱动?或者在安装PaddleOCR时被复杂的依赖关系搞得焦头烂额?对于大多数刚进入深度学习领域的开发者来说,真正…

作者头像 李华