Flux“炼丹炉”——fluxgym安装教程

一、介绍

这个炼丹炉目前可以训练除了flux-dev之外的其它模型,只需更改一个配置文件内容即可。重要的是训练时不需要提前进行图片裁剪、打标等前置工作,只需下图的三个步骤即可开始训练。它就是——fluxgym。

image.png

fluxgym:用于训练具有低 VRAM (12GB/16GB/20GB) 支持的 FLUX LoRA 的简单 Web UI,它具有 AI-Toolkit WebUI 的简单性和 Kohya Scripts 的灵活性。

它通过默认隐藏的 Advanced 选项卡支持 100% 的 Kohya sd-scripts 功能。

二、怎么安装?

介绍完丹炉,我们来看看如何获取吧,本安装教程属于手把手教学,因为网络问题无法下载模型?不用慌张,包教包会!

1.部署项目

(1)首先需要克隆 Fluxgym 和 kohya-ss/sd-scripts:

git clone https://github.com/cocktailpeanut/fluxgym
cd fluxgym
git clone -b sd3 https://github.com/kohya-ss/sd-scripts

image.png

完成之后你的文件夹结构应该会如下所示:

/fluxgym
  app.py
  requirements.txt
  sd-scripts/

(2)现在从根文件夹(fluxgym文件中)激活一个 虚拟环境:fluxgym

如果你使用的是 Windows:

python -m venv env
env\Scripts\activate

如果你使用的是 Linux:

python -m venv env
source env/bin/activate

当然也可以使用conda创建(前提条件是你已经安装了conda或mimiconda,这个教程网上很多):

conda create -n fluxgym python=3.10
conda activate fluxgym

下面这里输入“y"然后按Enter:

image.png

(3)然后进入 sd-scripts文件夹,安装依赖项

cd sd-scripts
pip install -r requirements.txt

通常情况下依赖默认会到官网进行下载,很多在国外的下载速度会非常缓慢,这时需要我们通过镜像加速下载:

清华源:-i https://pypi.tuna.tsinghua.edu.cn/simple

使用如下:

cd sd-scripts
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

image.png

完成之后返回根(fluxgym)文件夹,安装应用程序依赖项:

cd ..
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装依赖时如果出现下图的报错:

image.png

那么可以更换 requirements.txt文件中 gradio_logsview@https://huggingface.co/spaces/cocktailpeanut/gradio_logsview/resolve/main/gradio_logsview-0.0.17-py3-none-any.whl的 huggingface.co为 hf-mirror.com如下图:

image.png

然后重新执行依赖安装命令即可。

最后,安装 pytorch Nightly:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121

2.启动项目

回到根文件夹( fluxgym/),激活虚拟环境(venv或comda)后,然后运行

cd fluxgym	#回到根文件夹
python app.py	#运行项目

然后访问出现的网址即可,如果有需求可以进行指定,比如我指定:0.0.0.0:8080

cd fluxgym
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python app.py

如果出现类似下图的模块缺失,通过 pip install进行安装就好:

image.png

例:pip install voluptuous

然后再次通过 python app.py命令启动项目。当输出为下图中的内容时,恭喜你!运行成功了!:

image.png

此时只需在浏览器输入 127.0.0.1:8080即可访问UI界面,如下:

image.png

3.下载模型

丹炉安装完成后,差的就只有零件儿(模型)了,我提供了多种下载的方式,你可以根据实际情况选择。开干!

模型路径

说在前面,所有的模型大小加起来大致在30GB左右,如果你当前的内存不够存储,那我们可以先修改模型的存储路径到其它地方:打开 app.py文件,找到下图的两部分代码并将其修改为想变动的路径:

你想修改的路径/
	——models/
		+——unet/	#unet文件夹中放置flux模型
		|	flux-dev.sft
		|——vae/		#vae文件夹中放置vae模型
		|	ae.sft
		+——clip/	#clip文件夹中有两个模型
			clip_l.safetensors
			t5xxl_fp16.safetensors

image.png

image.png

自动下载模型

(1)如果你的设备已经能够访问如huggingface等外国网址,那么启动UI界面后,在下图标出的地方填入类似的内容(随便填,目的是启动模型下载的代码)后,点击“Training”就会自动下载缺失的模型。

image.png

(2)然后再点击下图按钮下载“Florence-2“模型,这是用来对训练的图片进行自动打标的模型。有了这个模型后,只需轻轻一按,就能实现反推提示词的效果。直接简化了模型训练的步骤!

image.png

(2)设置环境变量下载(需要网速稳定)

如果不能访问外网,那我们可以通过huggingface国内的镜像网站hf-mirror来下载。在启动项目命令 app.py运行前,输入下面命令:export HF_ENDPOINT=https://hf-mirror.com,然后再按照(1)的方法下载。

如果出现下载出错并且报出下面错误:

image.png

这是由于Hugging Face Hub 的 hf_transfer 模式在并行下载过程中出现了问题。可以尝试重新下载几次,如果都不行还可以尝试通过禁用 HF_HUB_ENABLE_HF_TRANSFER 来解决这个问题:中断项目,在运行项目前设置环境变量,然后重新启动:

export HF_HUB_ENABLE_HF_TRANSFER=False

如果都无法解决,那就手动下载吧

手动下载

(1)首先,在浏览器下下载以下模型:models/clip。一共有两个,分别是clip_l和图xxl。

clip_l:

https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors?download=true

t5xxl:

https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp16.safetensors?download=true

(2)其次,在文件夹下下载以下模型:models/vae

https://huggingface.co/cocktailpeanut/xulf-dev/resolve/main/ae.sft?download=true

(3)最后,在文件夹下下载以下模型:models/unet

https://huggingface.co/cocktailpeanut/xulf-dev/resolve/main/flux1-dev.sft?download=true

当然,手动下载模型也可以通过hf-mirror镜像网站。将上面网址中的 huggingface替换为 hf-mirror.co即可。

最后的文件结构将如下所示:

/models
  /clip
    clip_l.safetensors
    t5xxl_fp16.safetensors
  /unet
    flux1-dev.sft
  /vae
    ae.sft
/sd-scripts
/outputs
/env	#如果使用conda安装的虚拟环境,就没有
app.py
requirements.txt
...

如果一切正常的话,弄完这些应该几个小时就能搞定。