Skip to content

Conversation

@rkuester
Copy link
Contributor

@rkuester rkuester commented Dec 2, 2025

Implement unified module for creating, reading, and modifying TFLite
models with a clean API. This provides an easy, readable solution for
creating models in unit tests, unified with our need for editing models
in the compression code itself.

The module eliminates manual index tracking and buffer management
through automatic bookkeeping, supporting both declarative and
imperative construction styles.

Supports quantization parameters (per-tensor and per-channel), metadata
key-value pairs, and read-modify-write workflows.

BUG=part of #3256

@rkuester
Copy link
Contributor Author

rkuester commented Dec 4, 2025

Rebased to pick up #3261 CI fix.

Implement unified module for creating, reading, and modifying TFLite
models with a clean API. The module eliminates manual index tracking
and buffer management through automatic bookkeeping, supporting both
declarative and imperative construction styles.

Core design uses first-class Buffer objects that can be shared between
tensors, with automatic deduplication during build. Tensors reference
Buffers directly, matching the TFLite schema structure. The compiler
automatically extracts inline tensor declarations, builds operator code
tables, and handles index assignment according to TFLite conventions.

Supports quantization parameters (per-tensor and per-channel), metadata
key-value pairs, and read-modify-write workflows. The read() function
preserves the object graph structure, enabling models to be read,
modified, and rebuilt.

Add comprehensive test coverage for core functionality, advanced
features, quantization, and modification workflows.
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.

2 participants