Instructions to use ezhoureal/aura_style with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ezhoureal/aura_style with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.2-dev,black-forest-labs/FLUX.2-klein-4B,stabilityai/stable-diffusion-3.5-medium", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("ezhoureal/aura_style") prompt = "Turn this cat into a dog" input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") image = pipe(image=input_image, prompt=prompt).images[0] - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
Upload eval_report/lora_model_ablation_report.html with huggingface_hub
Browse files
eval_report/lora_model_ablation_report.html
CHANGED
|
@@ -38,11 +38,11 @@ h3, h4 { letter-spacing: 0; }
|
|
| 38 |
.panel { padding: 20px; }
|
| 39 |
.panel p { margin: 0 0 12px; }
|
| 40 |
.panel p:last-child { margin-bottom: 0; }
|
| 41 |
-
.metrics { display: grid; grid-template-columns: repeat(
|
| 42 |
.metric { padding: 14px; background: var(--soft); border-radius: 6px; min-width: 0; }
|
| 43 |
.metric strong { display: block; font-size: 22px; }
|
| 44 |
.metric span { color: var(--muted); font-size: 12px; }
|
| 45 |
-
.model-grid { display: grid; grid-template-columns: repeat(
|
| 46 |
.model-card { padding: 18px; min-width: 0; }
|
| 47 |
.model-title { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
|
| 48 |
.model-title h3 { margin: 0; font-size: 18px; }
|
|
@@ -67,21 +67,31 @@ figcaption span { color: var(--muted); }
|
|
| 67 |
.eval-heading { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; margin-bottom: 10px; }
|
| 68 |
.eval-heading h3 { margin: 0; font-size: 18px; }
|
| 69 |
.eval-heading span { color: var(--muted); font-size: 12px; }
|
| 70 |
-
.result-grid { display: grid; grid-template-columns: repeat(
|
| 71 |
.result-cell { overflow: hidden; min-width: 0; }
|
| 72 |
.result-cell a { display: block; aspect-ratio: 1 / 1; background: #eceae2; }
|
| 73 |
.source-cell a { background: #e7ebe7; }
|
| 74 |
.result-cell figcaption { display: grid; gap: 2px; min-height: 56px; padding: 9px 10px 11px; }
|
| 75 |
.result-cell figcaption strong { font-size: 13px; }
|
| 76 |
.result-cell figcaption span { font-size: 12px; overflow-wrap: anywhere; }
|
| 77 |
-
.findings { display: grid; grid-template-columns: repeat(
|
| 78 |
.finding { padding: 16px; background: var(--soft); border-radius: 8px; border: 1px solid var(--line); }
|
| 79 |
.finding h3 { margin: 0 0 6px; font-size: 16px; }
|
| 80 |
.finding p { margin: 0; color: var(--muted); }
|
| 81 |
footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--muted); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
@media (max-width: 1100px) {
|
| 83 |
-
.overview, .
|
|
|
|
|
|
|
|
|
|
| 84 |
.result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
|
|
|
|
|
| 85 |
}
|
| 86 |
@media (max-width: 620px) {
|
| 87 |
header, main, footer { width: min(100% - 24px, 1480px); }
|
|
@@ -102,7 +112,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 102 |
<body>
|
| 103 |
<header>
|
| 104 |
<p class="kicker">LoRA training progress report</p>
|
| 105 |
-
<h1>Comparing style-transfer LoRA edits across Flux Klein, SD 1.5, and SD 3.5</h1>
|
| 106 |
<p class="subtitle">This report summarizes the ablation in <code>ABLATION.md</code> and visualizes the generated artifacts under <code>outputs/</code>. The goal is to learn a compact LoRA that turns a normal source image into the project-specific stylized target look while preserving the source image layout and recognizable structure.</p>
|
| 107 |
</header>
|
| 108 |
<main>
|
|
@@ -110,14 +120,15 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 110 |
<article class="panel">
|
| 111 |
<h2>Purpose</h2>
|
| 112 |
<p>The training data is paired: each conditioning image provides the source structure, and each target image provides the desired rendering style. A successful model should transfer the luminous, graphic label style from the targets without drifting away from the source image content.</p>
|
| 113 |
-
<p>The evaluation set uses five held-out source images. Each result row below starts with the eval source image on the left, followed by the
|
| 114 |
</article>
|
| 115 |
<article class="panel">
|
| 116 |
<h2>Progress So Far</h2>
|
| 117 |
<div class="metrics">
|
| 118 |
<div class="metric"><strong>25</strong><span>paired training examples</span></div>
|
| 119 |
<div class="metric"><strong>5</strong><span>held-out eval sources</span></div>
|
| 120 |
-
<div class="metric"><strong>
|
|
|
|
| 121 |
</div>
|
| 122 |
</article>
|
| 123 |
</section>
|
|
@@ -127,9 +138,29 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 127 |
<div class="model-grid">
|
| 128 |
<article class="model-card">
|
| 129 |
<div class="model-title">
|
| 130 |
-
<h3>
|
| 131 |
<span>Best result so far</span>
|
| 132 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 133 |
<dl>
|
| 134 |
<div><dt>Size</dt><dd>4B</dd></div>
|
| 135 |
<div><dt>Base repo</dt><dd><code>black-forest-labs/FLUX.2-klein-base-4B</code></dd></div>
|
|
@@ -139,10 +170,10 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 139 |
<div><dt>Conditioning</dt><dd>source_latents_concatenated_to_noisy_target_latents</dd></div>
|
| 140 |
<div><dt>Checkpoint</dt><dd><code>../local_edit_lora/flux2_klein_base/checkpoint-002000</code></dd></div>
|
| 141 |
</dl>
|
| 142 |
-
<p>Native multi-reference/editing path. After 2000 LoRA steps it
|
| 143 |
-
<p class="decision">
|
| 144 |
</article>
|
| 145 |
-
|
| 146 |
<article class="model-card">
|
| 147 |
<div class="model-title">
|
| 148 |
<h3>Stable Diffusion 1.5</h3>
|
|
@@ -160,7 +191,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 160 |
<p>Pix2Pix-style pipeline learns parts of the style but quality is weaker. High image guidance ignores the source image; weak image guidance fails to transfer enough style.</p>
|
| 161 |
<p class="decision">Keep as a low-cost baseline; next useful branch is ControlNet plus IP-Adapter with stronger base weights.</p>
|
| 162 |
</article>
|
| 163 |
-
|
| 164 |
<article class="model-card">
|
| 165 |
<div class="model-title">
|
| 166 |
<h3>Stable Diffusion 3.5 Medium</h3>
|
|
@@ -198,7 +229,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 198 |
</div>
|
| 199 |
<h4>Pair 001</h4>
|
| 200 |
</article>
|
| 201 |
-
|
| 202 |
<article class="pair-card">
|
| 203 |
<div class="pair-images">
|
| 204 |
<figure>
|
|
@@ -212,7 +243,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 212 |
</div>
|
| 213 |
<h4>Pair 002</h4>
|
| 214 |
</article>
|
| 215 |
-
|
| 216 |
<article class="pair-card">
|
| 217 |
<div class="pair-images">
|
| 218 |
<figure>
|
|
@@ -226,7 +257,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 226 |
</div>
|
| 227 |
<h4>Pair 004</h4>
|
| 228 |
</article>
|
| 229 |
-
|
| 230 |
<article class="pair-card">
|
| 231 |
<div class="pair-images">
|
| 232 |
<figure>
|
|
@@ -240,7 +271,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 240 |
</div>
|
| 241 |
<h4>Pair 009</h4>
|
| 242 |
</article>
|
| 243 |
-
|
| 244 |
<article class="pair-card">
|
| 245 |
<div class="pair-images">
|
| 246 |
<figure>
|
|
@@ -254,7 +285,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 254 |
</div>
|
| 255 |
<h4>Pair 017</h4>
|
| 256 |
</article>
|
| 257 |
-
|
| 258 |
<article class="pair-card">
|
| 259 |
<div class="pair-images">
|
| 260 |
<figure>
|
|
@@ -274,7 +305,8 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 274 |
<section>
|
| 275 |
<h2>Qualitative Findings</h2>
|
| 276 |
<div class="findings">
|
| 277 |
-
<article class="finding"><h3>
|
|
|
|
| 278 |
<article class="finding"><h3>SD 1.5</h3><p>Small and cheap, but current pix2pix-style behavior is weak and sensitive to image-guidance tradeoffs.</p></article>
|
| 279 |
<article class="finding"><h3>SD 3.5</h3><p>Learns style, but source-structure preservation is not reliable enough in this setup, so it is on pause.</p></article>
|
| 280 |
</div>
|
|
@@ -282,7 +314,7 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 282 |
|
| 283 |
<section>
|
| 284 |
<h2>Held-Out Eval Comparison</h2>
|
| 285 |
-
|
| 286 |
<section class="eval-row">
|
| 287 |
<div class="eval-heading">
|
| 288 |
<h3>Eval 1: eval01.jpg</h3>
|
|
@@ -293,25 +325,30 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 293 |
<a href="lora_model_ablation_report_images/eval_eval01.jpg"><img src="lora_model_ablation_report_images/eval_eval01.jpg" alt="Eval source eval01.jpg"></a>
|
| 294 |
<figcaption><strong>Eval source</strong><span>1000x667 · 0.32 MB</span></figcaption>
|
| 295 |
</figure>
|
| 296 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 297 |
<figure class="result-cell">
|
| 298 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval01-001.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval01-001.png" alt="Flux Klein output for eval01.jpg"></a>
|
| 299 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.44 MB</span></figcaption>
|
| 300 |
</figure>
|
| 301 |
-
|
| 302 |
<figure class="result-cell">
|
| 303 |
<a href="lora_model_ablation_report_images/sd15_eval01-001.png"><img src="lora_model_ablation_report_images/sd15_eval01-001.png" alt="SD 1.5 output for eval01.jpg"></a>
|
| 304 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.28 MB</span></figcaption>
|
| 305 |
</figure>
|
| 306 |
-
|
| 307 |
<figure class="result-cell">
|
| 308 |
<a href="lora_model_ablation_report_images/sd35_medium_eval01-001.png"><img src="lora_model_ablation_report_images/sd35_medium_eval01-001.png" alt="SD 3.5 output for eval01.jpg"></a>
|
| 309 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.09 MB</span></figcaption>
|
| 310 |
</figure>
|
| 311 |
-
|
| 312 |
</div>
|
| 313 |
</section>
|
| 314 |
-
|
| 315 |
<section class="eval-row">
|
| 316 |
<div class="eval-heading">
|
| 317 |
<h3>Eval 2: eval02.jpg</h3>
|
|
@@ -322,25 +359,30 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 322 |
<a href="lora_model_ablation_report_images/eval_eval02.jpg"><img src="lora_model_ablation_report_images/eval_eval02.jpg" alt="Eval source eval02.jpg"></a>
|
| 323 |
<figcaption><strong>Eval source</strong><span>2000x1333 · 0.86 MB</span></figcaption>
|
| 324 |
</figure>
|
| 325 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 326 |
<figure class="result-cell">
|
| 327 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval02-002.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval02-002.png" alt="Flux Klein output for eval02.jpg"></a>
|
| 328 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.33 MB</span></figcaption>
|
| 329 |
</figure>
|
| 330 |
-
|
| 331 |
<figure class="result-cell">
|
| 332 |
<a href="lora_model_ablation_report_images/sd15_eval02-002.png"><img src="lora_model_ablation_report_images/sd15_eval02-002.png" alt="SD 1.5 output for eval02.jpg"></a>
|
| 333 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.35 MB</span></figcaption>
|
| 334 |
</figure>
|
| 335 |
-
|
| 336 |
<figure class="result-cell">
|
| 337 |
<a href="lora_model_ablation_report_images/sd35_medium_eval02-002.png"><img src="lora_model_ablation_report_images/sd35_medium_eval02-002.png" alt="SD 3.5 output for eval02.jpg"></a>
|
| 338 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.03 MB</span></figcaption>
|
| 339 |
</figure>
|
| 340 |
-
|
| 341 |
</div>
|
| 342 |
</section>
|
| 343 |
-
|
| 344 |
<section class="eval-row">
|
| 345 |
<div class="eval-heading">
|
| 346 |
<h3>Eval 3: eval03.jpg</h3>
|
|
@@ -351,25 +393,30 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 351 |
<a href="lora_model_ablation_report_images/eval_eval03.jpg"><img src="lora_model_ablation_report_images/eval_eval03.jpg" alt="Eval source eval03.jpg"></a>
|
| 352 |
<figcaption><strong>Eval source</strong><span>612x408 · 0.02 MB</span></figcaption>
|
| 353 |
</figure>
|
| 354 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 355 |
<figure class="result-cell">
|
| 356 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval03-003.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval03-003.png" alt="Flux Klein output for eval03.jpg"></a>
|
| 357 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.42 MB</span></figcaption>
|
| 358 |
</figure>
|
| 359 |
-
|
| 360 |
<figure class="result-cell">
|
| 361 |
<a href="lora_model_ablation_report_images/sd15_eval03-003.png"><img src="lora_model_ablation_report_images/sd15_eval03-003.png" alt="SD 1.5 output for eval03.jpg"></a>
|
| 362 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.25 MB</span></figcaption>
|
| 363 |
</figure>
|
| 364 |
-
|
| 365 |
<figure class="result-cell">
|
| 366 |
<a href="lora_model_ablation_report_images/sd35_medium_eval03-003.png"><img src="lora_model_ablation_report_images/sd35_medium_eval03-003.png" alt="SD 3.5 output for eval03.jpg"></a>
|
| 367 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 0.85 MB</span></figcaption>
|
| 368 |
</figure>
|
| 369 |
-
|
| 370 |
</div>
|
| 371 |
</section>
|
| 372 |
-
|
| 373 |
<section class="eval-row">
|
| 374 |
<div class="eval-heading">
|
| 375 |
<h3>Eval 4: eval04.webp</h3>
|
|
@@ -380,25 +427,30 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 380 |
<a href="lora_model_ablation_report_images/eval_eval04.webp"><img src="lora_model_ablation_report_images/eval_eval04.webp" alt="Eval source eval04.webp"></a>
|
| 381 |
<figcaption><strong>Eval source</strong><span>2560x1707 · 0.13 MB</span></figcaption>
|
| 382 |
</figure>
|
| 383 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 384 |
<figure class="result-cell">
|
| 385 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval04-004.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval04-004.png" alt="Flux Klein output for eval04.webp"></a>
|
| 386 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.45 MB</span></figcaption>
|
| 387 |
</figure>
|
| 388 |
-
|
| 389 |
<figure class="result-cell">
|
| 390 |
<a href="lora_model_ablation_report_images/sd15_eval04-004.png"><img src="lora_model_ablation_report_images/sd15_eval04-004.png" alt="SD 1.5 output for eval04.webp"></a>
|
| 391 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.28 MB</span></figcaption>
|
| 392 |
</figure>
|
| 393 |
-
|
| 394 |
<figure class="result-cell">
|
| 395 |
<a href="lora_model_ablation_report_images/sd35_medium_eval04-004.png"><img src="lora_model_ablation_report_images/sd35_medium_eval04-004.png" alt="SD 3.5 output for eval04.webp"></a>
|
| 396 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.10 MB</span></figcaption>
|
| 397 |
</figure>
|
| 398 |
-
|
| 399 |
</div>
|
| 400 |
</section>
|
| 401 |
-
|
| 402 |
<section class="eval-row">
|
| 403 |
<div class="eval-heading">
|
| 404 |
<h3>Eval 5: eval05.jpg</h3>
|
|
@@ -409,29 +461,34 @@ footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--m
|
|
| 409 |
<a href="lora_model_ablation_report_images/eval_eval05.jpg"><img src="lora_model_ablation_report_images/eval_eval05.jpg" alt="Eval source eval05.jpg"></a>
|
| 410 |
<figcaption><strong>Eval source</strong><span>900x584 · 0.13 MB</span></figcaption>
|
| 411 |
</figure>
|
| 412 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 413 |
<figure class="result-cell">
|
| 414 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval05-005.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval05-005.png" alt="Flux Klein output for eval05.jpg"></a>
|
| 415 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.39 MB</span></figcaption>
|
| 416 |
</figure>
|
| 417 |
-
|
| 418 |
<figure class="result-cell">
|
| 419 |
<a href="lora_model_ablation_report_images/sd15_eval05-005.png"><img src="lora_model_ablation_report_images/sd15_eval05-005.png" alt="SD 1.5 output for eval05.jpg"></a>
|
| 420 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.26 MB</span></figcaption>
|
| 421 |
</figure>
|
| 422 |
-
|
| 423 |
<figure class="result-cell">
|
| 424 |
<a href="lora_model_ablation_report_images/sd35_medium_eval05-005.png"><img src="lora_model_ablation_report_images/sd35_medium_eval05-005.png" alt="SD 3.5 output for eval05.jpg"></a>
|
| 425 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 0.97 MB</span></figcaption>
|
| 426 |
</figure>
|
| 427 |
-
|
| 428 |
</div>
|
| 429 |
</section>
|
| 430 |
-
|
| 431 |
</section>
|
| 432 |
</main>
|
| 433 |
<footer>
|
| 434 |
-
Generated from <code>ABLATION.md</code>, <code>dataset/train</code>, <code>dataset/conditioning</code>, <code>dataset/eval</code>,
|
| 435 |
</footer>
|
| 436 |
</body>
|
| 437 |
</html>
|
|
|
|
| 38 |
.panel { padding: 20px; }
|
| 39 |
.panel p { margin: 0 0 12px; }
|
| 40 |
.panel p:last-child { margin-bottom: 0; }
|
| 41 |
+
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
|
| 42 |
.metric { padding: 14px; background: var(--soft); border-radius: 6px; min-width: 0; }
|
| 43 |
.metric strong { display: block; font-size: 22px; }
|
| 44 |
.metric span { color: var(--muted); font-size: 12px; }
|
| 45 |
+
.model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
|
| 46 |
.model-card { padding: 18px; min-width: 0; }
|
| 47 |
.model-title { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
|
| 48 |
.model-title h3 { margin: 0; font-size: 18px; }
|
|
|
|
| 67 |
.eval-heading { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; margin-bottom: 10px; }
|
| 68 |
.eval-heading h3 { margin: 0; font-size: 18px; }
|
| 69 |
.eval-heading span { color: var(--muted); font-size: 12px; }
|
| 70 |
+
.result-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
|
| 71 |
.result-cell { overflow: hidden; min-width: 0; }
|
| 72 |
.result-cell a { display: block; aspect-ratio: 1 / 1; background: #eceae2; }
|
| 73 |
.source-cell a { background: #e7ebe7; }
|
| 74 |
.result-cell figcaption { display: grid; gap: 2px; min-height: 56px; padding: 9px 10px 11px; }
|
| 75 |
.result-cell figcaption strong { font-size: 13px; }
|
| 76 |
.result-cell figcaption span { font-size: 12px; overflow-wrap: anywhere; }
|
| 77 |
+
.findings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
|
| 78 |
.finding { padding: 16px; background: var(--soft); border-radius: 8px; border: 1px solid var(--line); }
|
| 79 |
.finding h3 { margin: 0 0 6px; font-size: 16px; }
|
| 80 |
.finding p { margin: 0; color: var(--muted); }
|
| 81 |
footer { padding: 18px 0 32px; border-top: 1px solid var(--line); color: var(--muted); }
|
| 82 |
+
@media (max-width: 1300px) {
|
| 83 |
+
.model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
| 84 |
+
.result-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
|
| 85 |
+
.findings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
| 86 |
+
}
|
| 87 |
@media (max-width: 1100px) {
|
| 88 |
+
.overview, .training-grid { grid-template-columns: 1fr; }
|
| 89 |
+
.metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
| 90 |
+
}
|
| 91 |
+
@media (max-width: 800px) {
|
| 92 |
.result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
| 93 |
+
.model-grid { grid-template-columns: 1fr; }
|
| 94 |
+
.findings { grid-template-columns: 1fr; }
|
| 95 |
}
|
| 96 |
@media (max-width: 620px) {
|
| 97 |
header, main, footer { width: min(100% - 24px, 1480px); }
|
|
|
|
| 112 |
<body>
|
| 113 |
<header>
|
| 114 |
<p class="kicker">LoRA training progress report</p>
|
| 115 |
+
<h1>Comparing style-transfer LoRA edits across Mage Flow, Flux Klein, SD 1.5, and SD 3.5</h1>
|
| 116 |
<p class="subtitle">This report summarizes the ablation in <code>ABLATION.md</code> and visualizes the generated artifacts under <code>outputs/</code>. The goal is to learn a compact LoRA that turns a normal source image into the project-specific stylized target look while preserving the source image layout and recognizable structure.</p>
|
| 117 |
</header>
|
| 118 |
<main>
|
|
|
|
| 120 |
<article class="panel">
|
| 121 |
<h2>Purpose</h2>
|
| 122 |
<p>The training data is paired: each conditioning image provides the source structure, and each target image provides the desired rendering style. A successful model should transfer the luminous, graphic label style from the targets without drifting away from the source image content.</p>
|
| 123 |
+
<p>The evaluation set uses five held-out source images. Each result row below starts with the eval source image on the left, followed by the four model outputs for direct structure and style comparison.</p>
|
| 124 |
</article>
|
| 125 |
<article class="panel">
|
| 126 |
<h2>Progress So Far</h2>
|
| 127 |
<div class="metrics">
|
| 128 |
<div class="metric"><strong>25</strong><span>paired training examples</span></div>
|
| 129 |
<div class="metric"><strong>5</strong><span>held-out eval sources</span></div>
|
| 130 |
+
<div class="metric"><strong>4</strong><span>model families compared</span></div>
|
| 131 |
+
<div class="metric"><strong>100</strong><span>training epochs (Mage Flow)</span></div>
|
| 132 |
</div>
|
| 133 |
</article>
|
| 134 |
</section>
|
|
|
|
| 138 |
<div class="model-grid">
|
| 139 |
<article class="model-card">
|
| 140 |
<div class="model-title">
|
| 141 |
+
<h3>Mage Flow Edit Base</h3>
|
| 142 |
<span>Best result so far</span>
|
| 143 |
</div>
|
| 144 |
+
<dl>
|
| 145 |
+
<div><dt>Size</dt><dd>~3B (transformer)</dd></div>
|
| 146 |
+
<div><dt>Base repo</dt><dd><code>microsoft/Mage-Flow-Edit-Base</code></dd></div>
|
| 147 |
+
<div><dt>Trainer</dt><dd><code>train_lora.py</code> (custom flow-matching LoRA)</dd></div>
|
| 148 |
+
<div><dt>Optimizer</dt><dd>Muon (weight_decay=0.01)</dd></div>
|
| 149 |
+
<div><dt>Epochs</dt><dd>100</dd></div>
|
| 150 |
+
<div><dt>LoRA</dt><dd>rank 16, alpha 16</dd></div>
|
| 151 |
+
<div><dt>LR</dt><dd>1e-3 (cosine schedule)</dd></div>
|
| 152 |
+
<div><dt>Inference</dt><dd>30 steps, CFG 3.0</dd></div>
|
| 153 |
+
<div><dt>Checkpoint</dt><dd><code>outputs/lora/base_muon/lora_final.pt</code></dd></div>
|
| 154 |
+
</dl>
|
| 155 |
+
<p>Native flow-matching editing path with Muon optimizer. After 100 LoRA epochs it produces the best style transfer results — strong luminous aura rendering while faithfully preserving the source image structure and identity.</p>
|
| 156 |
+
<p class="decision">Recommended path for deployment: Mage Flow delivers the strongest style-transfer fidelity among all models tested.</p>
|
| 157 |
+
</article>
|
| 158 |
+
|
| 159 |
+
<article class="model-card">
|
| 160 |
+
<div class="model-title">
|
| 161 |
+
<h3>FLUX.2 Klein 4B</h3>
|
| 162 |
+
<span>Strong baseline</span>
|
| 163 |
+
</div>
|
| 164 |
<dl>
|
| 165 |
<div><dt>Size</dt><dd>4B</dd></div>
|
| 166 |
<div><dt>Base repo</dt><dd><code>black-forest-labs/FLUX.2-klein-base-4B</code></dd></div>
|
|
|
|
| 170 |
<div><dt>Conditioning</dt><dd>source_latents_concatenated_to_noisy_target_latents</dd></div>
|
| 171 |
<div><dt>Checkpoint</dt><dd><code>../local_edit_lora/flux2_klein_base/checkpoint-002000</code></dd></div>
|
| 172 |
</dl>
|
| 173 |
+
<p>Native multi-reference/editing path. After 2000 LoRA steps it preserves the eval-source structure while transferring the target stylized label/rendering look.</p>
|
| 174 |
+
<p class="decision">Continue with ONNX then CANN export as an alternative deployment path.</p>
|
| 175 |
</article>
|
| 176 |
+
|
| 177 |
<article class="model-card">
|
| 178 |
<div class="model-title">
|
| 179 |
<h3>Stable Diffusion 1.5</h3>
|
|
|
|
| 191 |
<p>Pix2Pix-style pipeline learns parts of the style but quality is weaker. High image guidance ignores the source image; weak image guidance fails to transfer enough style.</p>
|
| 192 |
<p class="decision">Keep as a low-cost baseline; next useful branch is ControlNet plus IP-Adapter with stronger base weights.</p>
|
| 193 |
</article>
|
| 194 |
+
|
| 195 |
<article class="model-card">
|
| 196 |
<div class="model-title">
|
| 197 |
<h3>Stable Diffusion 3.5 Medium</h3>
|
|
|
|
| 229 |
</div>
|
| 230 |
<h4>Pair 001</h4>
|
| 231 |
</article>
|
| 232 |
+
|
| 233 |
<article class="pair-card">
|
| 234 |
<div class="pair-images">
|
| 235 |
<figure>
|
|
|
|
| 243 |
</div>
|
| 244 |
<h4>Pair 002</h4>
|
| 245 |
</article>
|
| 246 |
+
|
| 247 |
<article class="pair-card">
|
| 248 |
<div class="pair-images">
|
| 249 |
<figure>
|
|
|
|
| 257 |
</div>
|
| 258 |
<h4>Pair 004</h4>
|
| 259 |
</article>
|
| 260 |
+
|
| 261 |
<article class="pair-card">
|
| 262 |
<div class="pair-images">
|
| 263 |
<figure>
|
|
|
|
| 271 |
</div>
|
| 272 |
<h4>Pair 009</h4>
|
| 273 |
</article>
|
| 274 |
+
|
| 275 |
<article class="pair-card">
|
| 276 |
<div class="pair-images">
|
| 277 |
<figure>
|
|
|
|
| 285 |
</div>
|
| 286 |
<h4>Pair 017</h4>
|
| 287 |
</article>
|
| 288 |
+
|
| 289 |
<article class="pair-card">
|
| 290 |
<div class="pair-images">
|
| 291 |
<figure>
|
|
|
|
| 305 |
<section>
|
| 306 |
<h2>Qualitative Findings</h2>
|
| 307 |
<div class="findings">
|
| 308 |
+
<article class="finding"><h3>Mage Flow</h3><p>Best overall result. Muon-optimized LoRA (rank 16, 100 epochs) produces the cleanest aura-style transfer — strong luminous glow, excellent source-structure preservation, and cinematic color rendering. The flow-matching editing path is a natural fit for this paired style-transfer task.</p></article>
|
| 309 |
+
<article class="finding"><h3>Flux Klein</h3><p>Strong baseline: learns the style and remains close to the editable-source objective after 2000 steps. Slightly less vivid color transfer than Mage Flow.</p></article>
|
| 310 |
<article class="finding"><h3>SD 1.5</h3><p>Small and cheap, but current pix2pix-style behavior is weak and sensitive to image-guidance tradeoffs.</p></article>
|
| 311 |
<article class="finding"><h3>SD 3.5</h3><p>Learns style, but source-structure preservation is not reliable enough in this setup, so it is on pause.</p></article>
|
| 312 |
</div>
|
|
|
|
| 314 |
|
| 315 |
<section>
|
| 316 |
<h2>Held-Out Eval Comparison</h2>
|
| 317 |
+
|
| 318 |
<section class="eval-row">
|
| 319 |
<div class="eval-heading">
|
| 320 |
<h3>Eval 1: eval01.jpg</h3>
|
|
|
|
| 325 |
<a href="lora_model_ablation_report_images/eval_eval01.jpg"><img src="lora_model_ablation_report_images/eval_eval01.jpg" alt="Eval source eval01.jpg"></a>
|
| 326 |
<figcaption><strong>Eval source</strong><span>1000x667 · 0.32 MB</span></figcaption>
|
| 327 |
</figure>
|
| 328 |
+
|
| 329 |
+
<figure class="result-cell">
|
| 330 |
+
<a href="lora_model_ablation_report_images/mage_flow_eval01-001.png"><img src="lora_model_ablation_report_images/mage_flow_eval01-001.png" alt="Mage Flow output for eval01.jpg"></a>
|
| 331 |
+
<figcaption><strong>Mage Flow</strong><span>768x512 · 0.33 MB</span></figcaption>
|
| 332 |
+
</figure>
|
| 333 |
+
|
| 334 |
<figure class="result-cell">
|
| 335 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval01-001.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval01-001.png" alt="Flux Klein output for eval01.jpg"></a>
|
| 336 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.44 MB</span></figcaption>
|
| 337 |
</figure>
|
| 338 |
+
|
| 339 |
<figure class="result-cell">
|
| 340 |
<a href="lora_model_ablation_report_images/sd15_eval01-001.png"><img src="lora_model_ablation_report_images/sd15_eval01-001.png" alt="SD 1.5 output for eval01.jpg"></a>
|
| 341 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.28 MB</span></figcaption>
|
| 342 |
</figure>
|
| 343 |
+
|
| 344 |
<figure class="result-cell">
|
| 345 |
<a href="lora_model_ablation_report_images/sd35_medium_eval01-001.png"><img src="lora_model_ablation_report_images/sd35_medium_eval01-001.png" alt="SD 3.5 output for eval01.jpg"></a>
|
| 346 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.09 MB</span></figcaption>
|
| 347 |
</figure>
|
| 348 |
+
|
| 349 |
</div>
|
| 350 |
</section>
|
| 351 |
+
|
| 352 |
<section class="eval-row">
|
| 353 |
<div class="eval-heading">
|
| 354 |
<h3>Eval 2: eval02.jpg</h3>
|
|
|
|
| 359 |
<a href="lora_model_ablation_report_images/eval_eval02.jpg"><img src="lora_model_ablation_report_images/eval_eval02.jpg" alt="Eval source eval02.jpg"></a>
|
| 360 |
<figcaption><strong>Eval source</strong><span>2000x1333 · 0.86 MB</span></figcaption>
|
| 361 |
</figure>
|
| 362 |
+
|
| 363 |
+
<figure class="result-cell">
|
| 364 |
+
<a href="lora_model_ablation_report_images/mage_flow_eval02-002.png"><img src="lora_model_ablation_report_images/mage_flow_eval02-002.png" alt="Mage Flow output for eval02.jpg"></a>
|
| 365 |
+
<figcaption><strong>Mage Flow</strong><span>768x512 · 0.32 MB</span></figcaption>
|
| 366 |
+
</figure>
|
| 367 |
+
|
| 368 |
<figure class="result-cell">
|
| 369 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval02-002.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval02-002.png" alt="Flux Klein output for eval02.jpg"></a>
|
| 370 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.33 MB</span></figcaption>
|
| 371 |
</figure>
|
| 372 |
+
|
| 373 |
<figure class="result-cell">
|
| 374 |
<a href="lora_model_ablation_report_images/sd15_eval02-002.png"><img src="lora_model_ablation_report_images/sd15_eval02-002.png" alt="SD 1.5 output for eval02.jpg"></a>
|
| 375 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.35 MB</span></figcaption>
|
| 376 |
</figure>
|
| 377 |
+
|
| 378 |
<figure class="result-cell">
|
| 379 |
<a href="lora_model_ablation_report_images/sd35_medium_eval02-002.png"><img src="lora_model_ablation_report_images/sd35_medium_eval02-002.png" alt="SD 3.5 output for eval02.jpg"></a>
|
| 380 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.03 MB</span></figcaption>
|
| 381 |
</figure>
|
| 382 |
+
|
| 383 |
</div>
|
| 384 |
</section>
|
| 385 |
+
|
| 386 |
<section class="eval-row">
|
| 387 |
<div class="eval-heading">
|
| 388 |
<h3>Eval 3: eval03.jpg</h3>
|
|
|
|
| 393 |
<a href="lora_model_ablation_report_images/eval_eval03.jpg"><img src="lora_model_ablation_report_images/eval_eval03.jpg" alt="Eval source eval03.jpg"></a>
|
| 394 |
<figcaption><strong>Eval source</strong><span>612x408 · 0.02 MB</span></figcaption>
|
| 395 |
</figure>
|
| 396 |
+
|
| 397 |
+
<figure class="result-cell">
|
| 398 |
+
<a href="lora_model_ablation_report_images/mage_flow_eval03-003.png"><img src="lora_model_ablation_report_images/mage_flow_eval03-003.png" alt="Mage Flow output for eval03.jpg"></a>
|
| 399 |
+
<figcaption><strong>Mage Flow</strong><span>768x512 · 0.27 MB</span></figcaption>
|
| 400 |
+
</figure>
|
| 401 |
+
|
| 402 |
<figure class="result-cell">
|
| 403 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval03-003.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval03-003.png" alt="Flux Klein output for eval03.jpg"></a>
|
| 404 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.42 MB</span></figcaption>
|
| 405 |
</figure>
|
| 406 |
+
|
| 407 |
<figure class="result-cell">
|
| 408 |
<a href="lora_model_ablation_report_images/sd15_eval03-003.png"><img src="lora_model_ablation_report_images/sd15_eval03-003.png" alt="SD 1.5 output for eval03.jpg"></a>
|
| 409 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.25 MB</span></figcaption>
|
| 410 |
</figure>
|
| 411 |
+
|
| 412 |
<figure class="result-cell">
|
| 413 |
<a href="lora_model_ablation_report_images/sd35_medium_eval03-003.png"><img src="lora_model_ablation_report_images/sd35_medium_eval03-003.png" alt="SD 3.5 output for eval03.jpg"></a>
|
| 414 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 0.85 MB</span></figcaption>
|
| 415 |
</figure>
|
| 416 |
+
|
| 417 |
</div>
|
| 418 |
</section>
|
| 419 |
+
|
| 420 |
<section class="eval-row">
|
| 421 |
<div class="eval-heading">
|
| 422 |
<h3>Eval 4: eval04.webp</h3>
|
|
|
|
| 427 |
<a href="lora_model_ablation_report_images/eval_eval04.webp"><img src="lora_model_ablation_report_images/eval_eval04.webp" alt="Eval source eval04.webp"></a>
|
| 428 |
<figcaption><strong>Eval source</strong><span>2560x1707 · 0.13 MB</span></figcaption>
|
| 429 |
</figure>
|
| 430 |
+
|
| 431 |
+
<figure class="result-cell">
|
| 432 |
+
<a href="lora_model_ablation_report_images/mage_flow_eval04-004.png"><img src="lora_model_ablation_report_images/mage_flow_eval04-004.png" alt="Mage Flow output for eval04.webp"></a>
|
| 433 |
+
<figcaption><strong>Mage Flow</strong><span>768x512 · 0.33 MB</span></figcaption>
|
| 434 |
+
</figure>
|
| 435 |
+
|
| 436 |
<figure class="result-cell">
|
| 437 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval04-004.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval04-004.png" alt="Flux Klein output for eval04.webp"></a>
|
| 438 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.45 MB</span></figcaption>
|
| 439 |
</figure>
|
| 440 |
+
|
| 441 |
<figure class="result-cell">
|
| 442 |
<a href="lora_model_ablation_report_images/sd15_eval04-004.png"><img src="lora_model_ablation_report_images/sd15_eval04-004.png" alt="SD 1.5 output for eval04.webp"></a>
|
| 443 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.28 MB</span></figcaption>
|
| 444 |
</figure>
|
| 445 |
+
|
| 446 |
<figure class="result-cell">
|
| 447 |
<a href="lora_model_ablation_report_images/sd35_medium_eval04-004.png"><img src="lora_model_ablation_report_images/sd35_medium_eval04-004.png" alt="SD 3.5 output for eval04.webp"></a>
|
| 448 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 1.10 MB</span></figcaption>
|
| 449 |
</figure>
|
| 450 |
+
|
| 451 |
</div>
|
| 452 |
</section>
|
| 453 |
+
|
| 454 |
<section class="eval-row">
|
| 455 |
<div class="eval-heading">
|
| 456 |
<h3>Eval 5: eval05.jpg</h3>
|
|
|
|
| 461 |
<a href="lora_model_ablation_report_images/eval_eval05.jpg"><img src="lora_model_ablation_report_images/eval_eval05.jpg" alt="Eval source eval05.jpg"></a>
|
| 462 |
<figcaption><strong>Eval source</strong><span>900x584 · 0.13 MB</span></figcaption>
|
| 463 |
</figure>
|
| 464 |
+
|
| 465 |
+
<figure class="result-cell">
|
| 466 |
+
<a href="lora_model_ablation_report_images/mage_flow_eval05-005.png"><img src="lora_model_ablation_report_images/mage_flow_eval05-005.png" alt="Mage Flow output for eval05.jpg"></a>
|
| 467 |
+
<figcaption><strong>Mage Flow</strong><span>768x496 · 0.33 MB</span></figcaption>
|
| 468 |
+
</figure>
|
| 469 |
+
|
| 470 |
<figure class="result-cell">
|
| 471 |
<a href="lora_model_ablation_report_images/flux2_klein_base_eval05-005.png"><img src="lora_model_ablation_report_images/flux2_klein_base_eval05-005.png" alt="Flux Klein output for eval05.jpg"></a>
|
| 472 |
<figcaption><strong>Flux Klein</strong><span>768x768 · 0.39 MB</span></figcaption>
|
| 473 |
</figure>
|
| 474 |
+
|
| 475 |
<figure class="result-cell">
|
| 476 |
<a href="lora_model_ablation_report_images/sd15_eval05-005.png"><img src="lora_model_ablation_report_images/sd15_eval05-005.png" alt="SD 1.5 output for eval05.jpg"></a>
|
| 477 |
<figcaption><strong>SD 1.5</strong><span>512x512 · 0.26 MB</span></figcaption>
|
| 478 |
</figure>
|
| 479 |
+
|
| 480 |
<figure class="result-cell">
|
| 481 |
<a href="lora_model_ablation_report_images/sd35_medium_eval05-005.png"><img src="lora_model_ablation_report_images/sd35_medium_eval05-005.png" alt="SD 3.5 output for eval05.jpg"></a>
|
| 482 |
<figcaption><strong>SD 3.5</strong><span>1024x1024 · 0.97 MB</span></figcaption>
|
| 483 |
</figure>
|
| 484 |
+
|
| 485 |
</div>
|
| 486 |
</section>
|
| 487 |
+
|
| 488 |
</section>
|
| 489 |
</main>
|
| 490 |
<footer>
|
| 491 |
+
Generated from <code>ABLATION.md</code>, <code>dataset/train</code>, <code>dataset/conditioning</code>, <code>dataset/eval</code>, <code>outputs/ablation/local_edit_eval</code>, and <code>outputs/lora/base_muon/eval_outputs</code>. Image paths are repo-relative from this report location.
|
| 492 |
</footer>
|
| 493 |
</body>
|
| 494 |
</html>
|