File size: 5,142 Bytes
1f167a1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | ---
license: mit
language: en
tags:
- model-glue
- latent-bridge
- experimental
- image-to-image
base_model:
- circlestone-labs/Anima-Base-v1.0-Diffusers
- Qwen/Qwen-Image-2.1
---
# Nova Anime AM ↔ Qwen-Image-2.1: archived bridge experiment
[Interactive results](https://huggingface.co/spaces/ntc-ai/model-glue-nova-qwen21)
· [Source snapshot](source.zip) · [Checksums](SHA256SUMS)
This is an **experimental archive**, preserved before a new latent-only
research direction. It is not a finished general-purpose connector or evidence
that independent image models share a lossless latent representation.
The learned inference operation consumes a clean latent estimate and its noise
level, and returns a clean latent in the recipient's raw VAE coordinates. It
uses frozen pretrained decoder-prefix / encoder-head features plus learned
conditional particle-bridge weights. Inference is a deterministic ordinary
forward pass, without fitting, retrieval, optimization or best-of-N selection.
**Training was not entirely latent-only:** target preparation decoded source
latents and encoded those images with the recipient VAE, in memory. Training
then regressed to cached target latents. No training images were saved or
reviewed. This distinction is central to interpreting the archived experiment.
## Checkpoints
`manifest.json` records exact steps, roles, hashes, source revision and stop
status. Checkpoint filenames distinguish:
- `checkpoints/character-{forward,reverse}.safetensors`: the exact 90k / 78k EMA
pair used in the published character gallery; these were latest at render start.
- `checkpoints/latest-{forward,reverse}.safetensors`: latest saved evaluation
EMA exports at archive time, distinct from the character snapshot.
- `checkpoints/best-{forward,reverse}.safetensors`: validation-LPIPS-selected
exports at archive time. Character examples did not select these weights.
Only learned bridge weights and fixed calibration buffers are included.
Pretrained denoisers, text encoders, VAE weights and optimizer states are not
redistributed here. The loader fetches the exact pinned VAE components separately;
their upstream licenses apply. This repository's MIT license covers our code
and learned bridge artifacts, without replacing upstream terms.
## Reproduce inference
Download this repository and unpack `source.zip` into a separate directory.
Install dependencies in a fresh environment; `source/README.md` describes the
pinned numerical stack and includes the original generation commands. The
source archive includes the inference, sampler, preparation and training code
needed by this experiment, with hashes in `source-manifest.json`.
```python
import torch
from huggingface_hub import hf_hub_download
from model_glue.image_particle_bridge import load_image_bridge
path = hf_hub_download("ntc-ai/model-glue-nova-qwen21-experimental",
"checkpoints/character-forward.safetensors")
bridge, metadata = load_image_bridge(path, "cuda")
# nova_clean_raw: BCHW, [batch, 16, 64, 64] for the evaluated 512px setting.
# Use a finished latent (noise_fraction=0) or an intermediate clean estimate,
# not the noisy sampler state. Output: [batch, 64, 32, 32], Qwen raw VAE units.
with torch.no_grad():
qwen_clean_raw = bridge(nova_clean_raw, noise_fraction=0.0)
```
For reverse inference, use `character-reverse.safetensors` with Qwen raw VAE
latents. Shared sampling is a separate operation in
`model_glue/image_flow_handoff.py`; it translates the clean estimate, transports
equal-dimensional noise by exact pixel permutation, and resumes the shared
Euler trajectory. It does not claim equivalence to each model's native scheduler.
## Evidence and limits
The gallery shows two explicitly adult anime characters, both starting models,
halfway handoffs and switch-and-return trajectories. Within each row, learned
and full-codec controls share prompt, seed, noise grid and denoising-step budget.
All eight learned switching trajectories repeated bitwise exactly. Exact
execution does not imply exact image fidelity or character identity preservation.
Learned-versus-full-codec LPIPS ranges from 0.0648 to 0.1754 for one switch and
0.1313 to 0.2822 for switch-and-return in these four examples. These are output
differences, not aesthetic rankings. The reference trajectory itself often
differs substantially from staying in one model.
Validation selects checkpoints; the final test remains unopened. The kingfisher
reconstruction is validation, not a final-test example. Character prompts are
new development examples excluded from all 4,096 planned training prompts and
checkpoint selection. The growing dataset may be incomplete at shutdown;
the stop record states actual completed counts. No fixed-cloud control was
completed for this warm-started run, so no particle advantage is claimed.
See `reports/` for learning histories, sampling measurements, methodology and
the final stop record. The GitHub source mirror is
[255BITS/model-glue](https://github.com/255BITS/model-glue); access to that
repository may be restricted. The included source snapshot is publicly available.
|