#
Export to TFLite

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 power consumption. 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 `exporters.tflite` module. 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, `google-bert/bert-base-uncased`, run the following command:

    optimum-cli export tflite --model google-bert/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.