2、环境搭建与工具链:Anaconda、PyTorch、Transformers库安装、GPU环境配置与验证

说实话,每次开新课,我最怕的就是环境搭建这一块。很多同学兴致勃勃地来学深度学习,结果卡在装软件这一步,一卡就是一整天。我自己当年也踩过不少坑,所以这一章我尽量把那些容易出问题的地方都给你点出来。

咱们的目标很明确:把 Anaconda、PyTorch、Transformers 库装好,再把 GPU 环境配通。整个过程大概 30 分钟到 1 小时,看你的网络状况。

2.1 Anaconda:Python 的「瑞士军刀」

Anaconda 是什么?说白了就是一个 Python 发行版,帮你把 Python 解释器、常用的科学计算库、包管理器都打包好了。你不需要自己一个个去装 numpy、pandas、matplotlib 这些,Anaconda 一次性搞定。

我个人习惯用 Miniconda,它是 Anaconda 的轻量版,只保留核心功能。如果你硬盘空间够,直接上 Anaconda 也行,省心。

安装步骤

  1. 去官网下载对应系统的安装包(Windows / macOS / Linux)
  2. 双击安装,一路默认选项就行
  3. 安装完成后,打开终端(Windows 用 Anaconda Prompt)
  4. 输入 conda --version,看到版本号就说明装好了
小提示:安装时有个选项问「是否把 conda 添加到 PATH」,我建议勾上。虽然安装程序会提醒你可能有冲突,但实际用起来方便很多。

创建虚拟环境

这是 Anaconda 最实用的功能。每个项目用独立的环境,互不干扰。我在项目中遇到过好几次因为依赖冲突导致代码跑不起来的情况,后来养成了每个项目建一个新环境的习惯。

# 创建一个名为 dl_course 的环境,Python 版本 3.9
conda create -n dl_course python=3.9

# 激活环境
conda activate dl_course

# 退出环境
conda deactivate

嗯,这里要注意:激活环境后,终端前面会出现 (dl_course) 这样的提示,说明你已经在虚拟环境里了。后面所有的安装操作,都要在这个环境下进行。

2.2 PyTorch:深度学习框架的选择

PyTorch 现在几乎是学术界和工业界的标配了。为什么选它?两个原因:一是动态计算图,调试起来特别方便;二是社区活跃,遇到问题基本都能搜到答案。

安装 PyTorch 之前,先确认一件事:你的电脑有没有 NVIDIA 显卡?

  • 有 NVIDIA 显卡:装 CUDA 版本的 PyTorch,训练速度快 10 倍以上
  • 没有显卡 / 是 AMD 显卡:装 CPU 版本,也能跑,就是慢点

安装命令

去 PyTorch 官网(pytorch.org),选择你的配置,它会自动生成安装命令。我直接给你最常用的两个版本:

# CPU 版本(通用)
pip install torch torchvision torchaudio

# CUDA 11.8 版本(推荐,需要 NVIDIA 显卡)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
注意:千万不要用 conda 安装 PyTorch!conda 源里的 PyTorch 版本往往滞后,而且容易和 pip 安装的包冲突。我建议统一用 pip。

验证安装

装完之后,跑一下这段代码:

import torch
print(torch.__version__)  # 查看版本
print(torch.cuda.is_available())  # 检查 CUDA 是否可用

如果 torch.cuda.is_available() 返回 True,恭喜你,GPU 环境配好了。返回 False 也别慌,后面我会讲怎么排查。

2.3 Transformers 库:拥抱 Hugging Face

Hugging Face 的 Transformers 库,可以说是 NLP 领域的「乐高积木」。你想用 BERT、GPT、T5 这些模型?一行代码就能加载。我自己做项目时,80% 的时间都在用这个库,省去了重复造轮子的功夫。

安装

pip install transformers datasets accelerate

这三个包各司其职:

  • transformers:模型和 tokenizer 的核心库
  • datasets:方便加载和处理数据集
  • accelerate:多 GPU 训练和混合精度训练的加速工具

快速测试

from transformers import pipeline

# 加载情感分析模型
classifier = pipeline("sentiment-analysis")
result = classifier("I love this course!")
print(result)
# 输出:[{'label': 'POSITIVE', 'score': 0.9998}]

看到这个输出,说明 Transformers 库已经能正常工作了。第一次运行时会自动下载模型,大概几百 MB,耐心等一会儿。

避坑指南:我曾经因为网络问题,模型下载到一半失败了。建议你提前设置好镜像源:export HF_ENDPOINT=https://hf-mirror.com(Linux/Mac)或者设置环境变量 HF_ENDPOINT=https://hf-mirror.com(Windows)。

2.4 GPU 环境配置与验证

GPU 是深度学习的「发动机」。没有 GPU,训练一个 BERT 模型可能要几天;有了 GPU,几小时就搞定。但 GPU 环境的配置也是最容易出问题的环节。

第一步:检查显卡驱动

在终端输入:

nvidia-smi

如果能看到显卡信息、驱动版本、CUDA 版本,说明驱动没问题。如果提示「命令未找到」,你需要去 NVIDIA 官网下载驱动。

重要:nvidia-smi 显示的 CUDA 版本是驱动支持的「最高版本」,不代表你实际安装的 CUDA。PyTorch 安装时自带了 CUDA 运行时,所以你不需要单独装 CUDA Toolkit。

第二步:验证 PyTorch 的 GPU 支持

import torch

# 检查 CUDA 是否可用
print(torch.cuda.is_available())  # True

# 查看 GPU 数量
print(torch.cuda.device_count())  # 1

# 查看 GPU 名称
print(torch.cuda.get_device_name(0))  # NVIDIA GeForce RTX 3060

第三步:跑一个简单的 GPU 计算测试

import torch
import time

# 创建一个大型张量
size = 10000
a = torch.randn(size, size)
b = torch.randn(size, size)

# CPU 计算
start = time.time()
c = a @ b
print(f"CPU 耗时: {time.time() - start:.2f} 秒")

# GPU 计算
a_gpu = a.cuda()
b_gpu = b.cuda()
start = time.time()
c_gpu = a_gpu @ b_gpu
print(f"GPU 耗时: {time.time() - start:.2f} 秒")

你想想看,同样的矩阵乘法,GPU 比 CPU 快几十倍甚至上百倍。我第一次看到这个差距时,真的被震撼到了。

常见问题排查

问题 原因 解决方法
torch.cuda.is_available() 返回 False PyTorch 版本与 CUDA 驱动不匹配 卸载 PyTorch,重新安装对应 CUDA 版本的 PyTorch
nvidia-smi 找不到 显卡驱动未安装 去 NVIDIA 官网下载并安装驱动
显存不足 模型太大或 batch size 太大 减小 batch size,或使用梯度累积
安装速度慢 默认源在国外 使用国内镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
特别提醒:如果你用的是 Windows 系统,PyTorch 的 CUDA 版本只支持 CUDA 11.x 和 12.x。别去装什么 CUDA 10.x,PyTorch 早就不支持了。我曾经帮一个同学排查了半天,结果发现他装的是 CUDA 10.2 版本的 PyTorch,而他的显卡驱动只支持 CUDA 12.x。

2.5 完整环境验证脚本

最后,我给你一个完整的验证脚本。把它保存为 check_env.py,跑一遍就能知道你的环境是否配好了。

import sys
import torch
import transformers

print(f"Python 版本: {sys.version}")
print(f"PyTorch 版本: {torch.__version__}")
print(f"Transformers 版本: {transformers.__version__}")
print(f"CUDA 是否可用: {torch.cuda.is_available()}")

if torch.cuda.is_available():
    print(f"GPU 数量: {torch.cuda.device_count()}")
    print(f"当前 GPU: {torch.cuda.get_device_name(0)}")
    print(f"CUDA 版本: {torch.version.cuda}")
else:
    print("注意:当前使用 CPU 模式,训练速度会较慢")

print("\n环境检查完成!")

如果所有信息都正确显示,恭喜你,环境搭建成功了!接下来我们就可以正式开始文本分类与情感分析的实战了。

我的建议:把上面这个脚本保存好。以后每次换电脑或者重装系统,跑一遍就能快速确认环境是否正常。我自己就是这么干的,省了不少排查时间。