TensorFlow Lite is a lightweight framework for deploying machine learning models
on resource-constrained devices, such as mobile phones, embedded systems, and Internet of Things (IoT) devices.
TFLite is designed to optimize and run models efficiently on these devices with limited computational power, memory, and
A TensorFlow Lite model is represented in a special efficient portable format identified by the
.tflite file extension.
🤗 Optimum offers functionality to export 🤗 Transformers models to TFLite through the
For the list of supported model architectures, please refer to 🤗 Optimum documentation.
To export a model to TFLite, install the required dependencies:
pip install optimum[exporters-tf]
To check out all available arguments, refer to the 🤗 Optimum docs, or view help in command line:
optimum-cli export tflite --help
To export a model’s checkpoint from the 🤗 Hub, for example,
bert-base-uncased, run the following command:
optimum-cli export tflite --model bert-base-uncased --sequence_length 128 bert_tflite/
You should see the logs indicating progress and showing where the resulting
model.tflite is saved, like this:
Validating TFLite model... -[✓] TFLite model output names match reference model (logits) - Validating TFLite Model output "logits": -[✓] (1, 128, 30522) matches (1, 128, 30522) -[x] values not close enough, max diff: 5.817413330078125e-05 (atol: 1e-05) The TensorFlow Lite export succeeded with the warning: The maximum absolute difference between the output of the reference model and the TFLite exported model is not within the set tolerance 1e-05: - logits: max diff = 5.817413330078125e-05. The exported model was saved at: bert_tflite
The example above illustrates exporting a checkpoint from 🤗 Hub. When exporting a local model, first make sure that you
saved both the model’s weights and tokenizer files in the same directory (
local_path). When using CLI, pass the
local_path to the
model argument instead of the checkpoint name on 🤗 Hub.