Skip to content

feat: compile TFLite SVDF with its state - #131

Merged
asteinh merged 1 commit into
developfrom
feat/svdf
Oct 4, 2026
Merged

asteinh merged 1 commit into
developfrom
feat/svdf

Conversation

@asteinh

@asteinh asteinh commented Oct 4, 2026

Copy link
Copy Markdown
Member
  • The TFLite frontend converts SVDF: its variable tensor becomes a state input and output, zero before the first run as in TFLite Micro.
  • An int8 SVDF keeps its int16 state and time weights. The compiler admits int16 only on state tensors and stores int16 weights as int16.
  • The plan writer lists the three constants with the new constants attribute and computes the int8 requantizations in float32, as TFLite Micro does.
  • Refused by name: an SVDF without bias, which TFLite Micro's Prepare cannot handle; int8 state; activations other than Relu/Relu6 in float32; a variable tensor that is not one SVDF's state.
  • Four corpus cases match TFLite Micro byte for byte over four consecutive runs, untiled and at the 256-byte budget: float32 and int8, batch 1 and 2, rank 1 and 2, Relu. TFLite's float reference kernels sum in a different order, so the float goldens are recorded from TFLite Micro.
  • Contract case: float32 SVDF with a fused Relu against an ONNX Runtime reference.

Needs the runtime branch of the same name.

@asteinh
asteinh merged commit 91b90aa into develop Oct 4, 2026
15 checks passed
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