TensorFlow Lite

O TensorFlow Lite é um conjunto de ferramentas para machine learning no dispositivo que ajuda os desenvolvedores a executar modelos em dispositivos móveis, incorporados e de IoT.

Principais recursos

  • Otimizado para machine learning no dispositivo ao abordar cinco restrições principais: latência (não há ida e volta para um servidor), privacidade (nenhum dado pessoal sai do dispositivo), conectividade (conectividade com a Internet não é necessária), tamanho (tamanho reduzido do modelo e do binário) e consumo de energia (inferência eficiente e falta de conexões de rede)
  • Suporte a várias plataformas, inclusive dispositivos Android e iOS, Linux incorporado e microcontroladores
  • Compatibilidade com diversas linguagens, incluindo Java, Swift, Objective-C, C++ e Python
  • Alto desempenho com aceleração de hardware e otimização de modelos
  • Exemplos completos para tarefas comuns de machine learning, como classificação de imagens, detecção de objetos, estimativa de poses, resposta a perguntas, classificação de texto, etc. em várias plataformas

Fluxo de trabalho de desenvolvimento

O guia a seguir aborda cada etapa do fluxo de trabalho e fornece links para mais instruções:

1. Gerar um modelo do TensorFlow Lite

Um modelo do TensorFlow Lite é representado em um formato aberto especial e eficiente conhecido como FlatBuffers, identificado pela extensão de arquivo .tflite. Isso oferece diversas vantagens sobre o formato do modelo buffer de protocolo do TensorFlow, como um tamanho reduzido (código menor) e uma inferência mais rápida (os dados são acessados diretamente em uma etapa adicional de análise/descompactação), o que permite ao TensorFlow Lite uma execução eficiente nos dispositivos com recursos limitados de computação e memória.

Como opção, os modelos do TensorFlow Lite podem incluir metadados que tenham uma descrição de modelo legível por humanos e dados legíveis por máquina para a geração automática de pipelines de pré e pós-processamento durante inferências no dispositivo. Confira mais detalhes sobre como adicionar metadados.

É possível gerar um modelo do TensorFlow Lite das seguintes maneiras:

  • Use um modelo existente do TensorFlow Lite: consulte os exemplos de TensorFlow Lite para escolher um modelo existente. Os modelos podem ou não conter metadados.

  • Crie um modelo do TensorFlow Lite: use o TensorFlow Lite Model Maker para criar um modelo com seu próprio conjunto de dados personalizado. Por padrão, todos os modelos contêm metadados.

  • Converta um modelo do TensorFlow em um do TensorFlow Lite: use o TensorFlow Lite Converter para converter modelos. Durante a conversão, você pode aplicar otimizações como a quantização para diminuir o tamanho e a latência do modelo com pouca ou nenhuma perda na acurácia. Por padrão, nenhum dos modelos contém metadados.

2. Executar inferência

A inferência é o processo de execução de um modelo do TensorFlow Lite no dispositivo para fazer previsões com base nos dados de entrada. É possível executar a inferência das seguintes maneiras com base no tipo de modelo:

Nos dispositivos Android e iOS, é possível melhorar o desempenho usando a aceleração de hardware. Em qualquer uma das plataformas, você pode usar um delegado de GPU. No Android, é possível usar o delegado NNAPI para dispositivos mais novos ou o delegado Hexagon com os mais antigos. No iOS, é possível usar o delegado Core ML. Para adicionar suporte a novos aceleradores de hardware, defina seu próprio delegado.

Primeiros passos

Consulte os seguintes guias com base no dispositivo de destino:

Restrições técnicas

  • Não é possível converter todos os modelos do TensorFlow em modelos do TensorFlow Lite. Saiba mais sobre a compatibilidade de operadores.

  • O treinamento no dispositivo não é compatível, mas está no nosso roteiro.