🚀 auraflow-controlnet-lora-test
这是一个基于 terminusresearch/auraflow-v0.3 的 ControlNet PEFT LoRA。本项目主要用于文本到图像的转换,能够在多种场景下生成高质量的图像。
🚀 快速开始
验证设置
- CFG:
4.0
- CFG 重缩放:
0.0
- 步数:
16
- 采样器:
FlowMatchEulerDiscreteScheduler
- 种子:
42
- 分辨率:
1024x1024
注意:验证设置不一定与训练设置相同。
你可以在以下图库中找到一些示例图像:
文本编码器未经过训练,你可以重用基础模型的文本编码器进行推理。
训练设置
- 训练轮数:15
- 训练步数:450
- 学习率:0.0001
- 最大梯度值:2.0
- 有效批量大小:1
- 微批量大小:1
- 梯度累积步数:1
- GPU 数量:1
- 梯度检查点:启用
- 预测类型:flow_matching(额外参数=['shift=3.0', 'controlnet_enabled'])
- 优化器:adamw_bf16
- 可训练参数精度:纯 BF16
- 基础模型精度:
int8 - torchao
- 字幕丢弃概率:0.0%
- LoRA 秩:64
- LoRA Alpha:64.0
- LoRA 丢弃率:0.1
- LoRA 初始化风格:默认
数据集
antelope - data - 256
- 重复次数:0
- 图像总数:29
- 纵横比桶总数:1
- 分辨率:0.065536 兆像素
- 裁剪:是
- 裁剪风格:居中
- 裁剪纵横比:方形
- 用于正则化数据:否
推理
import torch
from diffusers import DiffusionPipeline
model_id = 'terminusresearch/auraflow-v0.3'
adapter_id = 'bghira/auraflow-controlnet-lora-test'
pipeline = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.bfloat16)
pipeline.load_lora_weights(adapter_id)
prompt = "A photo-realistic image of a cat"
negative_prompt = 'ugly, cropped, blurry, low-quality, mediocre average'
from optimum.quanto import quantize, freeze, qint8
quantize(pipeline.transformer, weights=qint8)
freeze(pipeline.transformer)
pipeline.to('cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu')
model_output = pipeline(
prompt=prompt,
negative_prompt=negative_prompt,
num_inference_steps=16,
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=4.0,
).images[0]
model_output.save("output.png", format="PNG")
📄 许可证
本项目采用 Apache - 2.0 许可证。