Views
No views yet
| config | token-F1 | terminate | nonempty |
|---|---|---|---|
| frozen trunk | 0.408 | 1.0 | 1.0 |
| + adapter (seed 0) | 0.706 | 1.0 | 1.0 |
| + adapter (seed 1) | 0.704 | 1.0 | 1.0 |
1import torch
2from transformers import AutoModelForImageTextToText, AutoProcessor
3from relay_caption import attach, caption
4
5model = AutoModelForImageTextToText.from_pretrained(
6 "Qwen/Qwen3.5-0.8B", torch_dtype=torch.float32).cuda()
7proc = AutoProcessor.from_pretrained("Qwen/Qwen3.5-0.8B")
8attach(model, "v35e4_caption_full_s0.pt")
9print(caption(model, proc, "photo.jpg"))relay_caption.py (in this repo) is self-contained: torch +
transformers only. attach wraps the 24 decoder layers and loads the
adapter; caption runs the trained prompt format greedily to
<|im_end|>.relay_caption.py — standalone loader (fidelity-tested).v35e4_caption_full_s0.pt — the primary adapter (seed 0).v35e4_caption_full_s1.pt — the replication seed.exp004_caption/, plus the v35_e004b/c/d validation rows). Training
riders: fp32, TF32 off, pure Adam (no weight decay), frozen trunk,
loss on caption tokens only.