Newer
Older
<!--
SPDX-FileCopyrightText: Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
SPDX-License-Identifier: Apache-2.0
-->
# TOSA converter for TFLite
Deeptanshu Sekhri
committed
A tool to legalize TFLite FlatBuffer to TOSA MLIR Bytecode or Text.
## Python wheel creation
To build the Python wheel Clang is required, the wheel can then be built using:
```console
pip install build
python -m build --wheel
```
The wheel should now be in the `dist` directory.
## Usage
Deeptanshu Sekhri
committed
### Python API
Deeptanshu Sekhri
committed
from tosa_converter_for_tflite import tflite_flatbuffer_to_tosa_mlir, TosaConverterOutputFormat
# default (bytecode) output
tflite_flatbuffer_to_tosa_mlir("model_input.tflite", "model_output.tosa.mlirbc")
Deeptanshu Sekhri
committed
# textual MLIR output
tflite_flatbuffer_to_tosa_mlir(
"model_input.tflite",
"model_output.mlir",
TosaConverterOutputFormat.Text
)
Deeptanshu Sekhri
committed
### Command-line Interface (CLI)
The `tosa-converter-for-tflite` CLI provides a simple way to convert `.tflite` models
Deeptanshu Sekhri
committed
into TOSA MLIR(bytecode or text). It supports both file-based and stream-based workflows
for easy integration into toolchains or pipelines.
### Usage Examples
Deeptanshu Sekhri
committed
**Convert a `.tflite` file to a TOSA bytecode file(default):**
```bash
Deeptanshu Sekhri
committed
tosa-converter-for-tflite model.tflite --bytecode -o out.tosa.mlirbc
```
Deeptanshu Sekhri
committed
**Read the model from file and write textual TOSA MLIR to file**
```bash
Deeptanshu Sekhri
committed
tosa-converter-for-tflite model.tflite --text -o out.mlir
```
Deeptanshu Sekhri
committed
**Read the model from a file and write textual TOSA MLIR to stdout**
```bash
Deeptanshu Sekhri
committed
tosa-converter-for-tflite model.tflite --text
```
Deeptanshu Sekhri
committed
**Stream the model from stdin and write bytecode to file**
```bash
cat model.tflite | tosa-converter-for-tflite --bytecode -o out.tosa.mlirbc
```
Deeptanshu Sekhri
committed
**Fully stream the model from stdin and write textual MLIR to stdout**
```bash
Deeptanshu Sekhri
committed
cat model.tflite | tosa-converter-for-tflite --text
```
## Supported Platforms
This tool supports Linux and Windows(r) on x86_64 architectures.
## Versioning
This project uses Calendar Versioning ([CalVer](https://calver.org/)) in the format: `YYYY.0M.Micro`
- **YYYY** – 4-digit release year (e.g., 2025)
- **0M** – 2-digit Zero-padded release month (e.g., 07 for July)
- **Micro** – The third and usually final number in the version. Sometimes referred to as the "patch" segment.
# License
TOSA Converter for TFLite is distributed under the Apache 2.0 License.
LLVM and the LLVM logo are trademarks of the LLVM Foundation.
TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.