AI个人学习
和实操指南
讯飞绘镜

AI Toolkit by Ostris:Stable Diffusion与FLUX.1模型训练工具包

综合介绍

AI Toolkit by Ostris 是一个开源的AI工具集,专注于支持Stable Diffusion及FLUX.1模型的训练与图像生成任务。该工具集由开发者Ostris创建并维护,托管于GitHub,旨在为研究者和开发者提供灵活的模型微调与实验平台。它包含多种AI脚本,支持LoRA提取、图像批量生成及特定层训练等功能。目前项目处于开发阶段,部分功能可能不够稳定,但其高度可定制性使其适用于深度学习领域的高级用户。工具集支持Linux和Windows系统,运行FLUX.1模型训练需至少24GB显存的Nvidia GPU。

AI Toolkit by Ostris:Stable Diffusion与FLUX.1模型训练工具包-1


 

功能列表

  • 模型训练: 支持Stable Diffusion及FLUX.1模型微调,可训练LoRA和LoKr模型。
  • 图像生成: 根据配置文件或文本提示生成批量图像。
  • LoRA提取与优化: 提供LoRA和LoCON提取工具,优化模型特征提取。
  • 特定层训练: 可选择特定神经网络层进行训练,灵活调整权重。
  • 用户界面支持: 提供AI Toolkit UI和Gradio UI,简化任务管理和模型训练操作。
  • 数据集处理: 自动调整图像分辨率并按桶分组,支持多种图像格式。
  • 云端训练: 支持在RunPod和Modal平台运行训练任务。

 

使用帮助

安装流程

Linux系统安装

  1. 克隆仓库: 在终端运行以下命令下载代码:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. 更新子模块: 确保所有依赖库完整:
git submodule update --init --recursive
  1. 创建虚拟环境: 使用Python 3.10或更高版本:
python3 -m venv venv
source venv/bin/activate
  1. 安装依赖: 先安装PyTorch,再安装其他依赖:
pip3 install torch
pip3 install -r requirements.txt

Windows系统安装

  1. 克隆仓库: 在命令提示符中运行:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. 更新子模块:
git submodule update --init --recursive
  1. 创建虚拟环境:
python -m venv venv
.\venv\Scripts\activate
  1. 安装依赖: 安装支持CUDA 12.4的PyTorch版本,再安装其他依赖:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt

UI界面安装

  1. 安装Node.js: 确保系统安装Node.js 18或更高版本。
  2. 构建UI: 进入ui目录并安装依赖:
cd ui
npm install
npm run build
npm run update_db
  1. 运行UI: 启动界面:
npm run start
  1. 访问UI: 在浏览器中输入http://localhost:8675

主要功能操作流程

FLUX.1模型训练

  1. 准备环境: 确保GPU显存至少24GB。若用于显示输出,需在配置文件中设置low_vram: true,以在CPU上量化模型。
  2. 配置FLUX.1-dev:
  • 登录Hugging Face,访问black-forest-labs/FLUX.1-dev并接受许可。
  • 在项目根目录创建.env文件,添加HF_TOKEN=你的读取密钥
  1. 配置FLUX.1-schnell:
  • 编辑配置文件(如train_lora_flux_schnell_24gb.yaml),添加:
    model:
    name_or_path: "black-forest-labs/FLUX.1-schnell"
    assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter"
    is_flux: true
    quantize: true
    sample:
    guidance_scale: 1
    sample_steps: 4
    
  1. 准备数据集: 在根目录创建dataset文件夹,放入.jpg.jpeg.png图像及对应的.txt描述文件。
  2. 编辑配置文件: 复制config/examples/train_lora_flux_24gb.yamlconfig目录,重命名为my_config.yml,修改folder_path为数据集路径。
  3. 运行训练: 执行:
python run.py config/my_config.yml

训练结果保存于指定输出文件夹,可用Ctrl+C暂停并从最近检查点恢复。

使用Gradio UI训练

  1. 登录Hugging Face: 运行huggingface-cli login,输入具有write权限的密钥。
  2. 启动UI: 执行:
python flux_train_ui.py
  1. 操作UI: 在界面中上传图像、填写描述、设置参数后点击训练,完成后可发布LoRA模型。

云端训练(RunPod)

  1. 创建RunPod实例: 使用模板runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04,选择A40(48GB显存)。
  2. 安装工具集: 连接Jupyter Notebook,在终端运行Linux安装命令。
  3. 上传数据集: 在根目录创建dataset文件夹,拖入图像和描述文件。
  4. 配置并运行: 修改配置文件中的folder_path,执行python run.py config/my_config.yml

数据集准备

  • 格式要求: 支持.jpg.jpeg.png格式,描述文件为.txt,文件名需一致(如image1.jpg对应image1.txt)。
  • 描述内容.txt中写入描述,可使用[trigger]占位符,由配置文件中的trigger_word替换。
  • 自动调整: 工具根据配置分辨率自动缩小并分组图像,不支持放大。

特定层训练

  1. 编辑配置文件: 在network部分添加:
network:
type: "lora"
linear: 128
linear_alpha: 128
network_kwargs:
only_if_contains:
- "transformer.single_transformer_blocks.7.proj_out"
- "transformer.single_transformer_blocks.20.proj_out"
  1. 运行训练: 使用修改后的配置文件启动,仅训练指定层。

注意事项

  • 中断训练: 避免在保存检查点时按Ctrl+C,以免损坏文件。
  • UI安全性: UI目前仅在Linux测试,安全性较低,不建议暴露于公网。
  • 获取帮助: 可加入Ostris的Discord社区提问,避免直接私信开发者。
CDN1
未经允许不得转载:首席AI分享圈 » AI Toolkit by Ostris:Stable Diffusion与FLUX.1模型训练工具包

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文