2、环境搭建:Python环境配置、CUDA与cuDNN安装、PyTorch框架安装、依赖库管理

说实话,环境搭建是很多人入门AI绘画的第一道坎。我见过太多同学在群里问「为什么我的代码跑不起来」,最后发现是CUDA版本不对。嗯,今天我们就来把这套东西捋清楚。

2.1 Python环境配置

我个人习惯用Anaconda来管理Python环境。为什么?因为省心。你想想看,一个项目要PyTorch 1.13,另一个要2.0,用conda创建虚拟环境就能完美隔离。

核心要点:Python版本建议选3.8或3.10。3.9我踩过坑,有些老库兼容性不太好。

安装步骤很简单:

  1. 去Anaconda官网下载安装包(选Python 3.8版本)
  2. 安装时记得勾选「Add Anaconda to my PATH」
  3. 打开终端验证:python --version

创建虚拟环境的命令:

conda create -n ai_painting python=3.8
conda activate ai_painting

小技巧:我习惯把环境名起得短一点,比如「sd」代表Stable Diffusion,「pt」代表PyTorch。这样切换起来快。

2.2 CUDA与cuDNN安装

这是最容易出问题的一步。说白了,CUDA是NVIDIA的并行计算平台,cuDNN是它的深度学习加速库。没有它们,你的GPU就是个摆设。

先检查你的显卡:

nvidia-smi

这个命令会显示你的驱动版本和最高支持的CUDA版本。比如我自己的机器显示CUDA 11.8,那我就装对应版本的CUDA Toolkit。

注意:我曾经因为驱动版本太低,装了个CUDA 12.0,结果PyTorch死活不认GPU。后来才发现驱动只支持到11.8。所以一定要先看nvidia-smi的输出。

安装步骤:

  1. 去NVIDIA官网下载CUDA Toolkit(选你的系统版本)
  2. 安装时选「自定义安装」,只勾选CUDA组件
  3. 下载cuDNN(需要注册NVIDIA账号)
  4. 把cuDNN的bin、include、lib文件夹复制到CUDA安装目录

验证安装:

nvcc --version  # 查看CUDA版本
# 然后跑一个简单的PyTorch代码看GPU是否可用

2.3 PyTorch框架安装

PyTorch的安装其实是最简单的。去官网 pytorch.org,选你的配置,它会生成一条命令。

举个例子,CUDA 11.8的安装命令:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

重要:千万别用pip install torch不加参数。那样会装CPU版本,你的显卡就白买了。

验证PyTorch是否识别GPU:

import torch
print(torch.cuda.is_available())  # 应该返回True
print(torch.cuda.get_device_name(0))  # 显示你的显卡型号

我记得第一次跑这个代码时,看到「True」那个瞬间,心里踏实多了。嗯,这就是环境搭好的信号。

2.4 依赖库管理

AI绘画项目依赖的库很多。我建议用requirements.txt来管理,这样换机器时一键安装。

一个典型的AI绘画项目依赖:

库名 用途 推荐版本
diffusers 扩散模型推理 ≥0.21.0
transformers 文本编码器 ≥4.30.0
accelerate 多GPU加速 ≥0.25.0
safetensors 安全加载模型 ≥0.4.0
omegaconf 配置文件管理 ≥2.3.0

安装命令:

pip install diffusers transformers accelerate safetensors omegaconf

避坑指南:我曾经一次性装了所有依赖,结果版本冲突导致diffusers和transformers不兼容。后来我学乖了,先装核心库,跑通后再加其他库。这样排查问题快很多。

还有一个实用技巧:用pip freeze > requirements.txt导出当前环境的依赖列表。下次换机器时,直接pip install -r requirements.txt就行。

2.5 完整环境验证

最后,跑一个完整的验证脚本:

import torch
import diffusers
import transformers

print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")
print(f"GPU型号: {torch.cuda.get_device_name(0)}")
print(f"diffusers版本: {diffusers.__version__}")
print(f"transformers版本: {transformers.__version__}")

# 测试一个简单的推理
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained(
    "runwayml/stable-diffusion-v1-5",
    torch_dtype=torch.float16
)
pipe = pipe.to("cuda")
image = pipe("a cat wearing a hat").images[0]
image.save("test.png")
print("环境搭建成功!")

如果这个脚本能跑通,恭喜你,环境搭建完成了。如果报错,别慌。99%的问题都是CUDA版本或依赖版本不对。检查一下nvidia-smi的输出,再对照PyTorch官网的版本表,基本能解决。

最后提醒:Windows用户注意,CUDA安装后可能需要重启。Linux用户注意,记得把CUDA路径加到.bashrc里。Mac用户...嗯,建议用云GPU吧,M系列芯片跑AI绘画确实吃力。

好了,环境搭好了,下一章我们开始真正动手训练模型。