SIA weights

LoRA adapters for SIA: Selective Image Analogy (SIGGRAPH Asia 2026), for two backbones. A demonstration pair (A, A') can contain several edits; SIA lets you choose which of them are transferred to a new image B.

Built with Qwen: the qwen_image21/ adapters are fine-tuned from Qwen-Image-2.1 (Qwen RESEARCH LICENSE AGREEMENT, non-commercial research and evaluation only). The flux2_klein/ adapters are fine-tuned from FLUX.2 [klein] Base 9B (FLUX Non-Commercial License v2.1). Each folder has its own LICENSE and NOTICE; see License. SIA is not an official product of, and is not endorsed by, the Qwen team or Black Forest Labs.

Project page  |  Code  |  Paper  |  Dataset

SIA teaser

Contents

Each backbone folder is independent: it has its own weights, config.json files, license and notice.

flux2_klein/     base model black-forest-labs/FLUX.2-klein-base-9B   (license: FLUX Non-Commercial License)
  LICENSE.md  NOTICE
  analora/   pytorch_lora_weights.safetensors  config.json        stage 1, step 2000
  exlora/    analora.safetensors  exlora.safetensors  config.json  stage 2, step 250
qwen_image21/    base model Qwen/Qwen-Image-2.1                      (license: Qwen RESEARCH LICENSE AGREEMENT)
  LICENSE  NOTICE
  analora/   pytorch_lora_weights.safetensors  config.json        stage 1, step 2000
  exlora/    analora.safetensors  exlora.safetensors  config.json  stage 2, step 5000
Folder Use it for
<backbone>/exlora/ Full SIA. Selective transfer: ExLoRA is gated to the tokens of the edits you want to suppress.
<backbone>/analora/ The analogy LoRA alone (transfers every edit of the demonstration), and the initialisation of stage 2.
  • AnaLoRA learns the full analogy from (A, A', B) tuples.
  • ExLoRA is a second LoRA applied only at the token positions of suppressed edits. During stage 2 the AnaLoRA is fine-tuned together with ExLoRA under an anchor loss, so exlora/analora.safetensors is a re-trained AnaLoRA and differs from analora/. The exlora/ folders are therefore self-contained.
  • Rank 16, alpha 16, float32. Each folder has a config.json with the exact settings.
  • Each analora/ file is the unmodified training checkpoint. The two files in each exlora/ are the stage-2 base_lora.pt and selective_lora.pt checkpoints converted losslessly to safetensors (all tensors verified bit-identical).

Download

from huggingface_hub import snapshot_download

# one backbone, full SIA
path = snapshot_download("selective-image-analogy/SIA-weights", allow_patterns=["flux2_klein/exlora/*", "flux2_klein/NOTICE", "flux2_klein/LICENSE.md"])
path = snapshot_download("selective-image-analogy/SIA-weights", allow_patterns=["qwen_image21/exlora/*", "qwen_image21/NOTICE", "qwen_image21/LICENSE"])

These weights are used with the code in the GitHub repository; they are not a stand-alone Diffusers pipeline.

Backbone Inference settings
flux2_klein native 384x512 images (image_size: [384, 512]), 28 denoising steps
qwen_image21 resolution: 512 (area-based sizing), 40 denoising steps, KV cache on

Training details

FLUX.2 [klein] AnaLoRA FLUX.2 [klein] ExLoRA Qwen-Image-2.1 AnaLoRA Qwen-Image-2.1 ExLoRA
Data subjects config of the SIA dataset same same same
Learning rate 5e-05 ExLoRA 5e-05, AnaLoRA 5e-05 (anchor weight 0.1) 0.0002 ExLoRA 0.0002, AnaLoRA 5e-05 (anchor weight 0.1)
Batch size 16 18 16 16
Checkpoint published step 2000 step 250 step 2000 step 5000

The checkpoints are intermediate checkpoints of training runs that were stopped before their planned length. Exact configurations are in the per-folder config.json files.

Intended use and limitations

  • Research on selective multi-edit image analogy. Not for commercial use (see License).
  • FLUX License section 2(e): if you generate outputs with the flux2_klein/ adapters, you must either keep content filters in place or review the outputs for unlawful or infringing content, and indicate that outputs are AI-generated where the law requires it.
  • Trained on a synthetic dataset (edited images were produced with image-editing models) with English edit descriptions, 2 to 4 edits per demonstration, at about 384x512 resolution.
  • Selective transfer can fail: the edits you want to leave out may partly leak, or the edits you keep may be applied weakly. See the paper for evaluation and analysis.

License

The two backbones carry different licenses. Each folder's weights are derivative works of its base model and are governed by that base model's license, whose full text is in the folder:

Folder License Notes
flux2_klein/ FLUX Non-Commercial License v2.1 Derivatives of FLUX.2 [klein] Base 9B. See flux2_klein/NOTICE. Not an official Black Forest Labs product.
qwen_image21/ Qwen RESEARCH LICENSE AGREEMENT Modifications of Qwen-Image-2.1, for non-commercial research and evaluation only. See qwen_image21/NOTICE. Built with Qwen.
  • Using one backbone does not require accepting the other backbone's license, but you must keep the license and notice files of any folder you redistribute.
  • Code: MIT (GitHub repository). Dataset: CC BY-NC 4.0.

Citation

@inproceedings{alimohammadi2026sia,
  title     = {SIA: Selective Image Analogy},
  author    = {Alimohammadi, Amirhossein and Izadpanah, Kian and Kariminia, Bardiya and Chrysanthou, Yiorgos and Mahdavi-Amiri, Ali},
  booktitle = {SIGGRAPH Asia 2026 Conference Papers},
  year      = {2026},
  doi       = {10.1145/3829340.3842205}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for selective-image-analogy/SIA-weights

Adapter
(164)
this model

Dataset used to train selective-image-analogy/SIA-weights

Space using selective-image-analogy/SIA-weights 1