Skip to content

feat(WO79): fp16->fp32 graph-IO normalizer + normalized artifact digests - #327

Merged
ronaldtse merged 3 commits into
mainfrom
wo79-normalize
Oct 21, 2026
Merged

ronaldtse merged 3 commits into
mainfrom
wo79-normalize

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Implements the owner-approved WO79 fix: tools/normalize_fp16_io.py wraps fp16 graph outputs in Cast(to=FLOAT) and feeds fp32 decoder inputs through an internal cast -- weights stay fp16 (size unchanged), all graph IO becomes fp32, every runtime executes the reference math. Both fp16 artifacts normalized and verified: frozen fixtures reproduce 12/12 byte-identically through the reference path (fas and urd). models.yaml digests/sizes updated (also fixes the urd entry, which carried a doubled-digest concatenation matching neither asset). Published index-v12 yaml + sidecar already repaired server-side with the same digests.

Ronald Tse added 3 commits October 21, 2026 13:45
Wraps fp16 graph outputs in Cast(to=FLOAT), feeds fp32 decoder inputs
through an internal Cast(to=FLOAT16), keeps the raw fp16 tensors
internal (one fp32 output per original output), and recomputes the
metadata.yaml member digests. Verified: the normalized fas artifact
decodes the frozen fixtures 12/12 byte-identically through the
reference path.
Both fp16 artifacts re-normalized (Cast-to-fp32 graph IO; weights
untouched; frozen fixtures reproduced 12/12 byte-identically through
the reference path). Also fixes the urd entry, whose recorded digest
matched neither the old nor the new asset.
@ronaldtse
ronaldtse merged commit 8e40e6c into main Oct 21, 2026
12 checks passed
@ronaldtse
ronaldtse deleted the wo79-normalize branch October 21, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant