Conversor do TensorFlow Lite

O conversor do TensorFlow Lite usa um modelo do TensorFlow e gera um arquivo FlatBuffer do TensorFlow (.tflite). O conversor é compatível com diretórios SavedModel, modelos tf.keras e funções concretas.

Novidades do TF 2.2

Estamos mudando para usar um novo back-end do conversor por padrão, nas versões noturnas e no TF 2.2 estável. Fazemos isso para:

  • permitir a conversão de novas classes de modelos, incluindo o Mask R-CNN, BERT para dispositivos móveis e muito mais;
  • oferecer compatibilidade com o fluxo de controle funcional (ativado por padrão no TensorFlow 2.x);
  • rastrear o nome do nó original do TensorFlow e o código Python e exibi-los durante a conversão se ocorrerem erros;
  • aproveitar o MLIR, tecnologia avançada de compilador do Google para ML, que facilita a extensão para atender a solicitações de recursos;
  • oferecer suporte básico para modelos com tensores de entrada contendo dimensões desconhecidas;
  • oferecer compatibilidade com todas as funcionalidades existentes do conversor.

Caso você encontre algum problema faça o seguinte:

  • Crie um problema no GitHub com uma etiqueta do componente "TFLiteConverter". Inclua:
    • o comando usado para executar o conversor ou código se você estiver usando a API Python;
    • a saída da invocação do conversor;
    • o modelo de entrada para o conversor;
    • se a conversão for bem-sucedida, mas o modelo gerado estiver errado, indique o que está errado:
      • Os resultados são incorretos e/ou há diminuição da precisão.
      • Os resultados são corretos, mas o modelo está mais lento do que o esperado (modelo gerado a partir do conversor antigo).
  • Se você estiver usando o recurso allow_custom_ops, leia a documentação da API Python e da ferramenta de linha de comando.
  • Para alternar para o antigo conversor, defina --experimental_new_conversor=false (na ferramenta de linha de comando tflite_convert) ou converter.experimental_new_conversor=False (na API Python).

Implantação de dispositivos

O arquivo FlatBuffer do TensorFlow Lite é implantado em um dispositivo cliente (por exemplo, dispositivo móvel, incorporado) e executado localmente usando o interpretador do TensorFlow Lite. Esse processo de conversão é mostrado no diagrama abaixo:

Fluxo de trabalho do conversor do TFLite

Como converter modelos

O conversor do TensorFlow Lite deve ser usado pela API Python. 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. Como alternativa, a ferramenta de linha de comando aceita modelos básicos.