Stable Diffusion(CompVis版)正确安装与运行步骤
目标:使用 CompVis 官方仓库脚本
scripts/txt2img.py
在 CUDA 11.8 + PyTorch 2.3.1 环境下直接生成图片。
0) 前置环境
- 已安装 Conda(或 Mamba)
- 驱动支持 CUDA 11.8(
nvidia-smi
正常)
1) 克隆仓库
bash
git clone https://github.com/CompVis/stable-diffusion.git
cd stable-diffusion
2) 创建并激活环境(自定义路径示例)
你习惯的路径:
/home/featurize/work/1/AMAC/envs/amac
bash
# 创建空环境(Python 3.8/3.9/3.10 均可,和你现有 3.8 一致就行)
conda create -y -p /home/featurize/work/1/AMAC/envs/amac python=3.8
conda activate /home/featurize/work/1/AMAC/envs/amac
3) 安装 PyTorch(CUDA 11.8)
bash
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 \
--index-url https://download.pytorch.org/whl/cu118
4) 安装项目所需的核心依赖
bash
# 关键组件
pip install omegaconf einops
pip install transformers==4.28.0
pip install diffusers==0.30
# watermark:用 invisible-watermark,避免 imwatermark 系列冲突
pip uninstall -y imWatermark imwatermark || true
pip install invisible-watermark
# 视觉/图像处理(可选但常用)
pip install opencv-python==4.7.0.72
pip install kornia
为避免历史残留导致冲突,如之前装过
imWatermark/imwatermark
,建议清理旧目录(可选):
bash
rm -rf /home/featurize/work/1/AMAC/envs/amac/lib/python3.8/site-packages/imWatermark* \
/home/featurize/work/1/AMAC/envs/amac/lib/python3.8/site-packages/imwatermark* || true
5) 安装/注册 Jupyter 内核(可选)
bash
pip install ipykernel
python -m ipykernel install --user --name amac --display-name "amac-jupyter"
6) 可编辑方式安装本地包(让仓库内 ldm
等模块能被 import)
CompVis 仓库本身不强依赖
taming-transformers
,但很多扩展/复现实验会用到。按你的做法,一并装上更省心。
bash
# stable-diffusion 本体(可编辑安装)
pip install -e .
# taming-transformers(可选;部分脚本/模型会用到)
cd /home/featurize/work/1/AMAC
git clone https://github.com/CompVis/taming-transformers.git
cd taming-transformers
pip install -e .
# 回到 stable-diffusion 目录
cd - # 或者 cd /path/to/stable-diffusion
7)(可选)安装 OpenAI CLIP(有些脚本/功能会用到)
bash
pip install git+https://github.com/openai/CLIP.git
8) 准备权重
将 SD v1.x 的 model.ckpt
放到仓库要求路径(或软链接):
bash
mkdir -p models/ldm/stable-diffusion-v1
ln -s /path/to/your/sd-v1-4.ckpt models/ldm/stable-diffusion-v1/model.ckpt
9) 运行文本生图(txt2img)
bash
# 经典示例
python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms
# 如需指定显卡/分辨率等,请加参数:
# --n_samples 1 --n_iter 1 --H 512 --W 512 --scale 7.5 --ddim_steps 50
# 多 GPU 环境下通常无需手动给 --gpus;若你使用的是旧版 Lightning 脚本才会用到该参数。
##(可选)10) 你常用的小工具/数据
bash
# 仅当需要时再装
pip install academictorrents
备注与坑点避雷
- 不要混装多版 pytorch-lightning
你的历史命令里有1.4.2 / 1.7.7 / 2.4.0
反复切换。本流程不需要显式安装 PL;如确有旧脚本依赖,再按脚本要求固定一个版本装,避免冲突。 - watermark 包务必用
invisible-watermark
imwatermark/imWatermark
容易和依赖冲突或导致导入失败,已在步骤里清理并更换为invisible-watermark
。 - Diffusers 与 CompVis 两套用法不要混淆
本文是 CompVis 仓库脚本 的跑法(需要.ckpt
);若想用 diffusers 管线(从 Hub 拉权重),那是另一套接口,别把两者参数/目录搞混。
到这就可以稳定跑通了。