darkmaniac7 commited on
Commit
51bdefb
·
verified ·
1 Parent(s): 4365748

#208 README: document the ip/ subfolder (IP-Adapter reference-image bins)

Browse files
Files changed (1) hide show
  1. README.md +23 -0
README.md CHANGED
@@ -59,3 +59,26 @@ Scheduler: **EulerDiscrete** (deterministic), trailing spacing, epsilon predicti
59
  guidance_scale 0. Runs via the license-clean `libsdxl_qnn_driver` in the TokForge app.
60
 
61
  See `manifest.json` for the per-arch file list, sizes, and md5 checksums.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  guidance_scale 0. Runs via the license-clean `libsdxl_qnn_driver` in the TokForge app.
60
 
61
  See `manifest.json` for the per-arch file list, sizes, and md5 checksums.
62
+
63
+ ## Reference-image (IP-Adapter / identity-preserving) — `ip/` subfolder
64
+
65
+ The `ip/` subfolder ships the **IP-Adapter context bins** for identity-preserving
66
+ (reference-image) rendering. When a reference photo is attached, the driver swaps the base
67
+ `unet.bin` for the **IP-baked UNet** (`unet_ip.bin`) and renders **with** the reference's identity;
68
+ no-reference renders are unchanged.
69
+
70
+ | File | What |
71
+ |------|------|
72
+ | `ip/v75/unet_ip.bin` | IP-Adapter UNet context bin, Hexagon **V75** (device-verified) |
73
+ | `ip/v81/unet_ip.bin` | IP-Adapter UNet context bin, Hexagon **V81** (compiled from the same DLC; on-device validation pending) |
74
+ | `ip/model_w8a16.dlc` | arch-agnostic W8A16 QAIRT 2.40 DLC the per-arch `unet_ip.bin` are compiled from |
75
+ | `ip/ip_kv_proj_weights.npz` | 70× `to_k_ip`/`to_v_ip` Linear weights for the CPU IP side (`k_0..k_69`, `v_0..v_69`, `inner[70]`, `heads[70]`) |
76
+
77
+ The bins are **identity-agnostic** and safe to publish: the 70 cross-attention `k_ip`/`v_ip` are
78
+ **render-constant** inputs computed on the **CPU per render** (reference → CLIP-ViT-H penultimate →
79
+ plus-face Resampler → 70× `to_k_ip`/`to_v_ip`), so no likeness is baked into the published files.
80
+ The CLIP-ViT-H encoder + plus-face adapter weights are the standard public
81
+ [h94/IP-Adapter](https://huggingface.co/h94/IP-Adapter) SDXL plus-face files and are not re-hosted
82
+ here. The app downloads `unet_ip.bin` as an **optional** bundle file (paired in each set's `files`
83
+ map); its absence degrades to a plain (no-identity) render and never fails the install. IO contract,
84
+ checksums, and per-arch details are in `manifest.json` under the top-level `ip` block.