Stablediffusion训练通用命令:ControlNet与Dreambooth、Lora示例

需积分: 0 3 下载量 11 浏览量 更新于2024-08-03 收藏 3KB TXT 举报
本文件主要介绍了如何在自用环境中对Stable Diffusion模型进行控制网络(ControlNet)和LoRA(Lightweight Recurrent Attention)的训练,同时包含了针对这两个模型的通用训练命令。以下是关于这两个模型训练的关键知识点: 1. ControlNet训练: - 使用`CUDA_VISIBLE_DEVICES=1 python train_controlnet_ori_hh.py`命令行工具进行训练。 - 需要指定预训练模型的位置,如`--pretrained_model_name_or_path="/data/disk1/00_sd/00_runwayml_sd15"`,这是模型的初始参数。 - 训练参数包括:输出目录`--output_dir="modelout_hh/out"`, 数据集名称`--dataset_name="modelout_hh/data"`, 图像列名`--image_column=image`和文本列名`--caption_column=text`。 - 配置分辨率`--resolution=512`,学习率`--learning_rate=1e-5`,训练批次大小`--train_batch_size=4`,以及训练轮数`--num_train_epochs=100`。 - 还启用了Xformers内存高效注意力(`--enable_xformers_memory_efficient_attention`),并设置检查点保存间隔`--checkpointing_steps=500`,以及报告训练数据到Towandb(`--report_towandb`)。 2. Dreambooth + LoRA训练: - 对于LoRA的训练,使用`CUDA_VISIBLE_DEVICES=1 python train_dreambooth_lora.py`,同样基于预训练模型路径`--pretrained_model_name_or_path`。 - 数据集指定了特定的路径`--dataset_name="/home/linlin/00_00/02_Project/stablediffusion/03_diffusers_finetune/diffusers_new_20231109/examples/controlnet/modelout_hh/paper_cut"`。 - 这个模型配置了更高的分辨率`--resolution=1024`,图像列名保持不变`--image_column=image`,但文本列名改为`--caption_column=label`,可能表示标签而不是直接的文字描述。 - 设置了较短的训练轮数`--num_train_epochs=2`,数据加载器的工作线程数`--dataloader_num_workers=8`,单次训练批次大小`--train_batch_size=1`,最大训练步数`--max_train_steps=5000`,以及相同的低学习率`--learning_rate=1e-5`。 - 还提供了其他增强选项,如中心裁剪`--center_crop`和随机翻转`--random_flip`,用于模型的数据增强。 这份文件提供了一个基础框架来指导如何使用预训练的Stable Diffusion模型进行ControlNet和LoRA的微调,包括必要的参数调整和训练设置,以适应不同的任务需求和数据集特征。用户可以根据实际项目中的具体需求进行适当的配置和优化。