分享手动安装搭建Flux-GYM训练工具

哎,其实我更希望分享一些高级一些的东西。天天整这些也不是个事,但是为了能够搭建本地训练环境还是咬着牙踩这个坑。

言归正传,说下基本的配置要求,这个工具要求python版本要在10-12之间,你可别装13的python版本,因为后续会给你安装依赖库带来报错,查来查去最终是因为13版本并不匹配。

另外先安装好Microsoft visual tool生成工具,Visual Studio 2022 版本最好,并且安装完成勾选C++ 桌面开发

再其次,一定要安装nump 1.26.0的版本,2.0以上依赖库会出现冲突。安装node-v20.14.0-x64,安装Rust。这些都是在安装过程中需要对依赖进行编译才能成功安装的基础工具。

对了,Microsoft visual tool C++ 编译器安装成功一定要在环境变量中加入path,set PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64

可以根据14.29.30133改成你自己安装的版本,以上命令在CMD中运行可加入(强烈建议手动添加)。

以上基础工具安装完成,再根据github中的要求按步骤进行安装。

克隆项目到本地,再从创建python的venv虚拟目录创建,激活并安装依赖都是正常的,我在sd-scripts安装依赖到flux-gym根目录下安装依赖都正常。

最后一步,唯独在这一段:pip install –pre torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu121

命令安装 2.5.1+cu121出现报错。为啥呢?因为requirements中并没有将这个包:optimum-quanto 指定安装版本,因为optimum-quanto要求 torch>=2.6.0,但系统安装的版本是 2.5.1+cu121

对此那就将optimum-quanto指定下版本, pip install optimum-quanto==0.2.6

最终安装完成,折腾了我3个小时。真是感谢作者吼。

以上,希望在遇到同样问题的人能够提供帮助。

训练Dreambooth-XL模型比较节省显存的做法

在训练Dreambooth-XL模型中,4090和3090已经是大部分普通设计师能够使用的显卡训练了,训练Dreambooth比训练lora需要更多的训练集,同时Dreambooth模型支持更多的概念同时训练,而lora更多是解决单一概念的风格微调。

这就导致更多的训练集需要更多的步数才能拟合,也就对训练的显卡显存有更高的要求。

本文分享一个能够针对Dreambooth-XL模型训练优化参数节省显卡显存并降低训练时间的方法。我在这里主要是修改了三个地方:

我的训练集为622张,最大轮数为30epochs,修改batch_size参数为4,这样可以加快训练速度。

如果你不打算训练lr文本编码器(也就是不再赋予模型更多的语言理解能力),可以将lr的学习率直接去掉,仅训练模型的Unet部分。

同时将开启余玄重启次数为2,开启梯度检查点

将以上参数设置好之后就能顺利开启训练:

以上为3090ti的显卡配置,去掉文本编码器的学习率将batch-size:改成 4

如果你不需要模型赋予更多的语言理解能力,可以参考以上参数进行调整。

以上参数的调整证明了修改以上参数能够将batch-size改成4并且能够正常训练(不做修改则只能将batchsize调整成1,否则会终止训练并报错),减少了学习步数,加快的训练速度。

分享一个不全面不客观的flux-train训练工具测评

黑森林团队出的flux模型因其强大的参数,惊艳的细节效果广受欢迎,现在已经在各类AIGC平台占有很大的曝光量,甚至现在libulibu首页也是主推f1.0的lora模型,因其少量数据的微调就能获得很好的效果受到很多人的喜欢。

因为职业关系,我在工作上也尝试了flux-lora模型训练,接下来我分享pinokio-flux-gym训练工具和flux train-aitoolkit 两种工具的差别。

pinokio-fluxgym

优点:安装简单,易上手

缺点:只能训练flux-lora模型,如果想要训练sd1.5和XL模型你需要在社区中找到Kohya训练工具

Pinokio是一个AI社区浏览器,它整合了很多AI工具及工作流。它的优势在于即使你是一个不懂编程语言的小白也能轻松配置好flux lora 的训练环境,安装好pinokio工具之后,直接在探索中找到fluxgym,即可一键安装,其中python环境、第三方依赖性、模型配置等等你完全不需要自行考虑。坐等它配置好就行。

它底层基于Kohya Scripts开发,所有的参数设置都是统一的。在前端界面上采用三分法的布局设计,简化了操作步骤,123的布局设计让人一目了然,降低的理解门槛。在刚开始阶段,你都不需要详细了解具体的参数设置,只管提供优质的训练集就能拿到很好的模型效果,点赞。

实时的训练预览效果,它提供多种不同的预览图触发效果:

1.否定提示词

2.指定生成图像的宽度和宽度

3.指定生成图像的种子

4.指定生成图像的CFG比例

5.指定生成中的步骤数

支持显卡显存12G、16G、20G以上

支持的底模:flux-dev、flux schnell、flux-dev2pro(实际上训练最好用flux-dev1.0、flux-dev2pro)

FluxGYM可以修改训练集的数量 app.py文件,将 MAX_IMAGES = 修改即可

import os
import sys
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
os.environ['GRADIO_ANALYTICS_ENABLED'] = '0'
sys.path.insert(0, os.getcwd())
sys.path.append(os.path.join(os.path.dirname(__file__), 'sd-scripts'))
import subprocess
import gradio as gr
from PIL import Image
import torch
import uuid
import shutil
import json
import yaml
from slugify import slugify
from transformers import AutoProcessor, AutoModelForCausalLM
from gradio_logsview import LogsView, LogsViewRunner
from huggingface_hub import hf_hub_download, HfApi
from library import flux_train_utils, huggingface_util
from argparse import Namespace
import train_network
import toml
import re
MAX_IMAGES = 650 //修改训练集数量

flux train-aitoolkit

优点:远程训练, 面向专业级玩家、专业的UI界面

缺点:不稳定,需要简单的代码阅读能力,要配合ChatGpt或者deepseek使用

flux train-aitoolkit 目前处在一个早期版本,意味着在稳定性、功能可能不是那么的好用,该工具并非基于Kohya Scripts开发,其目录结构也和我见到的不同,因为自己对这块认识不够专业性,不便多说。

它最大的特点是基于huggingface远程访问的方式训练模型,这意味着你需要使用huggingface账户,从huggingface获取一个READ密钥,方可进行训练。

它支持FLUX.1-schnell、Flux-dev两个版本的模型训练,因为需要在本地预先写好模型配置信息,所以你需要一定的耐心来配置远程访问的信息。说实话,笔者在github上安装完这个工具都头大,你需要有一定的耐心和好奇心。否则很容易劝退。

Screenshot

笔者在配置以上两个工具都遇到diffusers无法正常克隆的情况,所以你在配置这两个工具都要开启全局git代理,否则很大几率会克隆不成功报错。

如果依然报错请使用国内镜像:https://gitee.com/opensource-customization/diffusers

训练打标

flux的特性是基于自然语言描述打标,所以你在训练中请使用触发词和自然语言描述打标,这样在训练中能够得到很好的效果。这意味着你需要使用GPT、caption等模型工作流来处理你的训练集。笔者实际尝试过仅用tag来打标,发现训练效果并不好(基于秋叶lora-script)。

分辨率

flux对尺寸分辨率没有特殊要求,小到512、大到1024,768*1024也是可以的。

实际跑图

实际使用上,权重同样是0.7-0.9之间最好,并且是触发词加自然语言描述,你的描述越多,生成的效果越细节。这也意味着你在使用上需要对画面更具体的要求,甚至在想法没有那么具体的情况下需要借助deepseek这类工具给你提供帮助。