Skip to content
 
 

Repository files navigation

中文 | 🌍 EN 

📃 controlnet_train_webUI (原 controlnet_TrainingPackage)




目录





概述


🤖️ 利用diffusers编写的训练controlnet模型的项目,计划集成训练各种预训练模型的controlnet模型的方案。

📦 本项目包含:

  • 训练界面
  • 参数指导
  • JSON文件生成
  • 模型转换

✅ 项目特点:

  • 方便实用,脚本或者UI界面都可以使用
  • 支持训练SD1.5和SDXL的controlnet模型



文件介绍

文件 功能
gradio_train_cn.py 可以有交互操作的UI界面
controlnet_train_15andXL.py 训练代码,可以直接使用训练模型
sdxl_train_control_net_lllite.py controlnet_lllite训练代码,可以直接使用
controlnet_train.ps1 训练脚本,可以在脚本中写入参数而使用
convert_model.py 配合UI界面的转换模型文件
gen_json_file.py 配合UI界面的json文件生成文件
gen_json.py 可以独立使用的json文件生成文件
params_guidance.md 记录了各种参数
requirements.txt 记录环境依赖文件



安装部署


环境推荐

Generic badge CUDA Linux torch

安装依赖(推荐使用conda部署)

一、SD15 and SDXL

  1. 建立环境:conda create --name controlnettrain python=3.10
  2. 激活环境:conda activate controlnettrain
  3. 安装依赖:pip install -r requirements.txt
  4. 在终端中输入:python gradio_train_cn.py 启动页面
  5. (可选择)在激活的环境中输入:pip install xformers 启用xformers的内存高效注意力机制
  6. 需要diffusers=0.30.0.dev0。步骤:
    1. cd 项目根目录文件夹
    2. 终端中输入:git clone https://github.com/huggingface/diffusers
    3. cd diffusers
    4. 激活环境后输入:pip install .
  7. flash-attention的安装
    1. 方法(一):
      • cd 你的项目文件根目录
      • git clone https://github.com/Dao-AILab/flash-attention.git
      • cd flash-attention
      • python setup.py install
    2. 方法(二):
      • 进入:https://github.com/Dao-AILab/flash-attention/releases
      • 在Assets中选择合适的版本,下载并放入到你的项目文件夹里
      • 执行:pip install flash_attn-2.6.3+cu118torch2.cxx11abiTRUE-cp311-cp311-linux_x86_64.whl("flash_attn-2.6.3+cu118torch2.cxx11abiTRUE-cp311-cp311-linux_x86_64.whl" 指的是你下载文件的名字)

二、HunyuanDit

  1. 激活环境:conda activate controlnettrain
  2. 安装依赖:
    pip install deepspeed  peft matplotlib==3.7.5 onnxruntime_gpu==1.16.3 opencv-python==4.8.1.78
    cd IndexKits
    pip install -e . 
    

模型训练页面: 参数指导页面: 模型转换页面: JSON文件生成页面 controlnet_lllite模型训练页面 HunyuanDit_controlnet模型训练页面


预训练模型下载

  1. SD15模型
  1. SDXL模型
  1. hunyuanDit
  • 模型下载:
    huggingface-cli download Tencent-Hunyuan/HYDiT-ControlNet-v1.1 --local-dir ./HunyuanDiT-v1.1/t2i/controlnet
    huggingface-cli download Tencent-Hunyuan/Distillation-v1.1 ./pytorch_model_distill.pt --local-dir ./HunyuanDiT-v1.1/t2i/model
    



训练流程


  1. 制作训练集,准备目标图片、条件图片与提示词文件;
  • 目标图片是指你期望用模型生成什么图片,放在image文件夹中;
  • 条件图片是指从原始图片中提取的特征图片,放在conditioning_image文件夹中;
  • 提示词文件是与目标图片匹配的提示词文件,放在text文件夹中。
  • 文件夹命名一定要准确。
  1. 在webUI中使用JSON文件生成工具制作train.json文件;
  2. 在训练页面中填写参数;
  3. 开始训练;
  4. 如果感觉得到的模型很大,可以在模型转换页面中转换模型。



作者相关配套开源资源

  1. 开源训练集

  2. 使用[qrcode_xl_test_data]训练的qrocde_xl_test模型

  3. 训练教程 https://www.bilibili.com/video/BV1qsWYeuEFy/?spm_id_from=333.999.0.0


___

开发计划


  • controlnet
    • SD15
    • SDXL
      • controlnet_lllite(轻量版本)
    • HunyuanDit
    • SD3
    • Kolors
  • train
    • 一键安装包
    • 更多新功能(优化器、参数等)
  • data



联系:


ai松柏君

📧:aisongbaijun@163.com

X:Follow @songbai20

B站主页:https://space.bilibili.com/523893438?spm_id_from=333.1007.0.0

About

利用diffusers编写的训练controlnet模型的项目,计划集成训练各种预训练模型的controlnet模型的方案。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages