🚀 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 許可證。