环境配置
首先创建并激活虚拟环境:
conda create -n sd_train python=3.9
conda activate sd_train
安装必要的库。使用 Dreambooth 对 Stable Diffusion 进行微调,需先克隆 Diffusion Model 库:
git clone https://github.com/huggingface/diffusers.git
cd diffusers
pip install -e .
进入 examples/dreambooth 目录,安装依赖包:
pip install -r requirements_sdxl.txt
pip install bitsandbytes xformers
配置 accelerate 环境:
accelerate config default
数据集准备
将用于微调的图片放入 examples/dreambooth 目录下。
训练脚本配置
编写训练脚本,主要配置模型参数、数据路径、学习率等。以下为 SDXL 版本的 Dreambooth LoRA 训练命令示例:
export MODEL_NAME="stabilityai/stable-diffusion-xl-base-1.0"
export INSTANCE_DIR="data"
export OUTPUT_DIR="lora-trained-xl"
python train_dreambooth_lora_sdxl.py \
--pretrained_model_name_or_path=$MODEL_NAME \
--instance_data_dir=$INSTANCE_DIR \
--output_dir=$OUTPUT_DIR \
--instance_prompt="a photo of youhu" \
--resolution=1024 \
--train_batch_size=1 \
--gradient_accumulation_steps=4 \
--learning_rate=1e-5 \
--lr_scheduler="constant" \
--lr_warmup_steps=0 \
--max_train_steps=500 \
--validation_prompt="youhu" \
--validation_epochs=25 \
--seed="0" \
--enable_xformers_memory_efficient_attention \
--gradient_checkpointing \
--use_8bit_adam
参数说明:
--pretrained_model_name_or_path:指定预训练模型名称或路径。--instance_data_dir:实例数据目录。--output_dir:训练结果输出目录。


