前提条件
- GPU:至少8GB显存(推荐RTX 4090)
- Python 3.10+
- 基础Linux命令行知识
第一步:环境配置
安装依赖
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install diffusers transformers accelerate
下载模型
从Hugging Face下载SD4基础模型:
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-4")
第二步:生成第一张图片
简单示例
prompt = "a photorealistic cat sitting on a beach, sunset"
image = pipe(prompt).images[0]
image.save("cat_beach.png")
第三步:进阶技巧
1. 使用负面提示词
negative_prompt = "ugly, blurry, low quality"
2. 调整采样步数
推荐步数:30-50,步数越高细节越丰富。
3. 使用LoRA进行风格迁移
加载LoRA权重:
pipe.load_lora_weights("path/to/lora")
第四步:训练自定义模型
数据准备
收集至少100张目标风格的图片,并标注描述。
训练命令
accelerate launch train_dreambooth.py \
--pretrained_model_name_or_path="stabilityai/stable-diffusion-4" \
--instance_data_dir="./data" \
--output_dir="./output" \
--instance_prompt="a photo of sks person" \
--resolution=512 \
--train_batch_size=1 \
--learning_rate=5e-6 \
--max_train_steps=1000
常见问题
Q: 显存不足怎么办?
使用pipe.enable_attention_slicing()减少显存占用。
Q: 生成的图片有瑕疵?
尝试增加采样步数或使用更高质量的VAE。
结语
通过本教程,你应该能独立完成从生图到训练的全流程。多实践是掌握的关键。