Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/pt-br/lite/guide/faq.md
25118 views

Perguntas frequentes

Se você não encontrar uma resposta para sua pergunta aqui, confira nossa documentação detalhada sobre o tópico ou crie um issue no GitHub.

Conversão de modelos

Quais são os formatos disponíveis para conversão do TensorFlow para o TensorFlow Lite?

Os formatos disponíveis estão indicados aqui.

Por que algumas operações não são implementadas no TensorFlow Lite?

Para manter o TF Lite leve, somente alguns operadores do TF (indicados na lista de permissões) têm suporte no TF Lite.

Por que meu modelo não está sendo convertido?

Como o número de operações no TensorFlow Lite é menor do que no TensorFlow, não é possível converter alguns modelos. Alguns erros comuns são indicados aqui.

Para problemas de conversão não relacionados a operações ausentes ou operações de fluxo de controle, confira os issues do GitHub ou crie um novo.

Como faço para testar se um modelo do TensorFlow Lite se comporta da mesma forma que o modelo original do TensorFlow?

A melhor forma de fazer esse teste é comparando as saídas dos modelos do TensorFlow e do TensorFlow Lite dadas as mesmas entradas (dados de teste ou entradas aleatórias), conforme mostrado aqui.

Como faço para determinar as entradas/saídas do buffer do protocolo GraphDef?

A forma mais fácil de inspecionar um grafo de um arquivo .pb é usando o Netron, um visualizador de código aberto para modelos de aprendizado de máquina.

Se o Netron não conseguir abrir o grafo, você pode tentar usar a ferramenta summarize_graph.

Se a ferramenta summarize_graph gerar um erro, você pode visualizar o GraphDef no TensorBoard e procurar as entradas e saídas no grafo. Para visualizar um arquivo .pb, use o script import_pb_to_tensorboard.py da seguinte forma:

python import_pb_to_tensorboard.py --model_dir <model path> --log_dir <log dir path>

Como faço para inspecionar um arquivo .tflite?

O Netron é a forma mais fácil de visualizar um modelo do TensorFlow Lite.

Se o Netron não conseguir abrir seu modelo do TensorFlow Lite, você pode tentar o script visualize.py em nosso repositório.

Se você estiver usando o TF 2.5 ou superior:

python -m tensorflow.lite.tools.visualize model.tflite visualized_model.html

Caso contrário, execute este script com o Bazel:

bazel run //tensorflow/lite/tools:visualize model.tflite visualized_model.html

Otimização

Como faço para reduzir o tamanho do meu modelo convertido para TensorFlow Lite?

É possível usar quantização pós-treinamento durante a conversão para o TensorFlow Lite a fim de reduzir o tamanho do modelo. A quantização pós-treinamento quantiza os pesos de ponto flutuante para 8 bits de precisão e desfaz a quantização durante o tempo de execução para fazer computações com pontos flutuantes. Porém, isso pode impactar a exatidão.

Se treinar novamente o modelo for uma opção, considere fazer o treinamento com reconhecimento de quantização. Porém, esse tipo de treinamento só está disponível para um subconjunto das arquiteturas de redes neurais convolucionais.

Para compreender melhor os diferentes métodos de otimização, confira Otimização de modelos.

Como faço para otimizar o desempenho do TensorFlow Lite para minha tarefa de aprendizado de máquina?

Confira o processo geral para otimizar o desempenho do TensorFlow Lite:

  • Confirme se você tem o modelo certo para a tarefa. Para classificação de imagens, confira o TensorFlow Hub.

  • Ajuste o número de threads. Diversos operadores do TensorFlow Lite têm suporte a kernels multithread. Você pode usar SetNumThreads() da API do C++ para fazer isso. Porém, aumentar o número de threads faz o desempenho variar, dependendo do ambiente.

  • Use aceleradores de hardware. O TensorFlow Lite tem suporte à aceleração de modelos para hardwares específicos usando delegados. Confira nosso guia sobre delegados para ver mais informações sobre quais aceleradores têm suporte e como usá-los em seu modelo nos dispositivos.

  • (Avançado) Profiling de modelos. A ferramenta de benchmark do Tensorflow Lite tem um profiler integrado que mostra estatísticas por operador. Se você souber como otimizar o desempenho de um operador para sua plataforma específica, pode implementar um operador personalizado.

Confira mais detalhes sobre como otimizar o desempenho nas Práticas recomendadas.