2. 安装PyTorch与Transformers库

任务目标

在本地Python环境中安装PyTorch(CPU版)与Hugging Face Transformers库,并验证两者可正常导入且版本兼容。本案例面向后续大模型本地部署与微调实战,因此不涉及GPU加速配置。

环境与依赖

  • 操作系统:Windows 10/11、Ubuntu 20.04+ 或 macOS 12+
  • Python版本:3.9~3.12(建议3.10或3.11)
  • 包管理器:pip(建议使用虚拟环境)

安装步骤

建议先创建独立虚拟环境,避免依赖冲突。以下命令在终端中执行:

# 创建并激活虚拟环境(Windows)
python -m venv llm_env
llm_env\Scripts\activate

# 创建并激活虚拟环境(Linux/macOS)
python3 -m venv llm_env
source llm_env/bin/activate

激活虚拟环境后,依次安装PyTorch CPU版与Transformers库:

# 安装PyTorch CPU版(官方CPU索引,约200MB)
pip install torch --index-url https://download.pytorch.org/whl/cpu

# 安装Transformers及相关依赖
pip install transformers

若网络受限,可去掉--index-url参数直接执行pip install torch,默认会安装包含CUDA支持的版本(体积更大,但CPU上仍可运行)。

完整验证代码

将以下代码保存为verify_install.py:

import torch
import transformers
import sys

print("Python 版本:", sys.version.split()[0])
print("PyTorch 版本:", torch.__version__)
print("Transformers 版本:", transformers.__version__)

# 验证PyTorch CPU张量计算可用
x = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
y = torch.matmul(x, x.T)
print("PyTorch 矩阵乘法结果:\n", y)

# 验证Transformers可加载BERT分词器(仅验证接口,不下载模型权重)
tokenizer = transformers.BertTokenizer.from_pretrained(
    "bert-base-uncased", local_files_only=False
)
tokens = tokenizer("Hello, local LLM!", return_tensors="pt")
print("分词器输出  数量:", tokens["input_ids"].shape[1])

# 验证CUDA不可用(CPU版预期输出False)
print("CUDA 可用:", torch.cuda.is_available())

运行与判定标准

在虚拟环境中执行:

python verify_install.py

满足以下全部条件即判定安装成功:

  • 程序无异常退出,打印出三个版本号且均为有效版本字符串
  • PyTorch矩阵乘法输出为4×4张量,数值与手动计算一致(第一行应为[5, 11])
  • 分词器成功输出数量(bert-base-uncased对应输入约产生6~7个)
  • CUDA 可用打印为False(CPU版预期结果)

注意:首次运行分词器需联网下载约420KB的vocab文件;若离线环境,可提前将bert-base-uncased的vocab.txt放置于本地缓存目录,或改用local_files_only=True并预先手动下载。

常见问题

  • pip安装超时:使用国内镜像源,如pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 版本不兼容:若Transformers导入报错,执行pip install --upgrade transformers huggingface-hub升级
  • 虚拟环境未激活:终端提示符前应显示(llm_env)前缀,否则python指向全局解释器