O conversor TensorFlow Lite é usado para converter modelos do TensorFlow em um formato otimizado do FlatBuffer, para que possam ser usados pelo interpretador do TensorFlow Lite.
FlatBuffers
O FlatBuffer é uma biblioteca eficiente e com código aberto de serialização entre várias plataformas. Ele é semelhante aos buffers de protocolo, com a diferença de que os FlatBuffers não precisam de uma etapa de análise/descompactação para uma representação secundária antes de que os dados possam ser acessados, evitando a alocação de memória por objeto. A pegada de código dos FlatBuffers é uma ordem de magnitude menor que os buffers de protocolo.
Do treinamento de modelo à implantação no dispositivo
O conversor do TensorFlow Lite gera um arquivo FlatBuffer (.tflite
) do TensorFlow Lite a partir de um modelo do TensorFlow.
O conversor aceita os seguintes formatos de entrada:
- SavedModels
GraphDef
congelado: modelos gerados por congelamento_grafico.py.- Modelos HDF5
tf.keras
. - Qualquer modelo extraído de um
tf.Session
(somente API Python).
O arquivo FlatBuffer
do TensorFlow Lite é implantado em um dispositivo cliente, e
o interpretador do TensorFlow Lite usa o modelo compactado para inferência
no dispositivo. Esse processo de conversão é mostrado no diagrama abaixo:
Opções
O conversor do TensorFlow Lite pode ser usado a partir de uma destas duas opções:
- Python (recomendável): o uso da API Python facilita a conversão de modelos como parte de um pipeline de desenvolvimento de modelos e ajuda a atenuar problemas de compatibilidade desde o início.
- Linha de comando