Skip to content

Conversation

@rkuester
Copy link
Contributor

@rkuesterrkuester 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
ContributorAuthor

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.
@rkuester
Copy link
ContributorAuthor

Converting to a draft PR while we sort out the tensorflow-cpu dependency issue and I address review comments on #3257.

Sign up for freeto 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

@rkuester@TFLM-bot