许可证: 其他
基础模型: "black-forest-labs/FLUX.1-dev"
标签:
- flux
- flux-diffusers
- 文生图
- 图生图
- diffusers
- simpletuner
- 非全年龄向
- lora
- 模板:sd-lora
- 标准
管道标签: 文生图
推理: 是
小部件:
- 文本: '无条件(空白提示)'
参数:
负面提示: ''
输出:
链接: ./assets/image_0_0.png
- 文本: '(超精细,照片,摄影,最佳质量,高分辨率,4k,8k,照片级真实感,日本二十岁出头,(苗条)且曲线身材,腰部,精致美丽眼睛,超级精细的眼睛和皮肤,非常美丽的女性:3.0), (穿着紧身短袖白色(连衣裙)水手服,蓝色领子,红色领巾,深蓝色百褶裙,站在空教室中,甜美微笑:2.0), 长直发,站在空教室中,'
参数:
负面提示: ''
输出:
链接: ./assets/image_1_0.png
flux-lora训练
这是一个标准的PEFT LoRA,源自black-forest-labs/FLUX.1-dev。
训练期间使用的主要验证提示为:
(超精细,照片,摄影,最佳质量,高分辨率,4k,8k,照片级真实感,日本二十岁出头,(苗条)且曲线身材,腰部,精致美丽眼睛,超级精细的眼睛和皮肤,非常美丽的女性:3.0), (穿着紧身短袖白色(连衣裙)水手服,蓝色领子,红色领巾,深蓝色百褶裙,站在空教室中,甜美微笑:2.0), 长直发,站在空教室中,
验证设置
- CFG:
3.5
- CFG重缩放:
0.0
- 步数:
20
- 采样器:
FlowMatchEulerDiscreteScheduler
- 种子:
42
- 分辨率:
1024x1024
- 跳过层引导:
注意: 验证设置不一定与训练设置相同。
您可以在以下图库中找到一些示例图片:
文本编码器未训练。
您可以复用基础模型的文本编码器进行推理。
训练设置
-
训练周期: 92
-
训练步数: 2400
-
学习率: 0.0001
- 学习率调度: constant_with_warmup
- 预热步数: 100
-
最大梯度值: 1.0
-
有效批次大小: 1
- 微批次大小: 1
- 梯度累积步数: 1
- GPU数量: 1
-
梯度检查点: 是
-
预测类型: 流匹配 (额外参数=['flow_schedule_auto_shift', 'shift=0.0', 'flux_guidance_mode=constant', 'flux_guidance_value=1.0', 'flow_matching_loss=compatible', 'flux_lora_target=all+ffs'])
-
优化器: adamw_bf16
-
可训练参数精度: 纯BF16
-
基础模型精度: 无变化
-
标题丢弃概率: 0.0%
-
LoRA秩: 16
-
LoRA Alpha: 无
-
LoRA丢弃率: 0.1
-
LoRA初始化风格: 默认
数据集
cissy
- 重复次数: 0
- 图片总数: 26
- 宽高比分桶总数: 1
- 分辨率: 1.0百万像素
- 裁剪: 是
- 裁剪风格: 居中
- 裁剪宽高比: 正方形
- 用于正则化数据: 否
推理
import torch
from diffusers import DiffusionPipeline
model_id = 'black-forest-labs/FLUX.1-dev'
adapter_id = 'hok00i3/flux-lora-training'
pipeline = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
pipeline.load_lora_weights(adapter_id)
prompt = "(超精细,照片,摄影,最佳质量,高分辨率,4k,8k,照片级真实感,日本二十岁出头,(苗条)且曲线身材,腰部,精致美丽眼睛,超级精细的眼睛和皮肤,非常美丽的女性:3.0), (穿着紧身短袖白色(连衣裙)水手服,蓝色领子,红色领巾,深蓝色百褶裙,站在空教室中,甜美微笑:2.0), 长直发,站在空教室中,"
pipeline.to('cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu')
model_output = pipeline(
prompt=prompt,
num_inference_steps=20,
generator=torch.Generator(device='cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu').manual_seed(42),
width=1024,
height=1024,
guidance_scale=3.5,
).images[0]
model_output.save("output.png", format="PNG")