Path: blob/master/site/pt-br/lite/guide/authoring.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Ferramenta de autoração do TF Lite
A API TensorFlow Lite Authoring (Criação do TensorFlow Lite) oferece uma maneira de manter seus modelos do tf.function
compatíveis com o TensorFlow Lite.
Configuração
Problema de compatibilidade entre TensorFlow e TensorFlow Lite
Se você quiser usar seu modelo do TF em dispositivos, precisa convertê-lo em um modelo do TF Lite para usá-lo no interpretador do TF Lite. Durante a conversão, pode ocorrer um erro de compatibilidade devido a operações do TensorFlow incompatíveis com o conjunto de operações integradas do TF Lite.
Esse tipo de erro é bem irritante. Como podemos detectá-lo antecipadamente, como no momento de criação do modelo?
Observe que haverá falha do código abaixo na chamada converter.convert()
.
Uso básico de autoração para verificar a compatibilidade do alvo
Lançamos a API de criação para detectar problemas de compatibilidade com o TensorFlow lite no momento de criação do modelo.
Basta adicionar o decorador @tf.lite.experimental.authoring.compatible
para encapsular seu modelo de tf.function
para verificar a compatibilidade com o TF Lite.
Dessa forma, a compatibilidade será verificada automaticamente quando você avaliar o modelo.
Se for encontrado algum problema de compatibilidade com o TensorFlow Lite, será exibida a mensagem COMPATIBILITY WARNING
ou COMPATIBILITY ERROR
juntamente com o local exato da operação problemática. Neste exemplo, é exibido o local da operação tf.Cosh
em seu modelo de tf.function.
Além disso, você pode verificar o log de compatibilidade pelo método <function_name>.get_compatibility_log()
.
Gere uma exceção em caso de incompatibilidade
É possível fornecer uma opção para o decorador @tf.lite.experimental.authoring.compatible
. A opção raise_exception
gera uma exceção quando você tenta avaliar o modelo decorado.
Especificação do uso de "Operações do TF específicas"
Se você já conhece o uso de Select TF ops (Operações do TF específicas), pode indicar à API de criação definindo converter_target_spec
. É o mesmo objeto tf.lite.TargetSpec que você usará na API tf.lite.TFLiteConverter.
Verificando a compatibilidade com GPU
Se você deseja garantir que o modelo seja compatível com delegado de GPU do TensorFlow Lite, pode definir experimental_supported_backends
de tf.lite.TargetSpec.
O exemplo abaixo mostra como garantir a compatibilidade com delegado de GPU do seu modelo. Observe que esse modelo tem problemas de compatibilidade, pois usa um tensor bidimensional com a operação tf.slice e a operação incompatível tf.cosh. Serão exibidas duas mensagens COMPATIBILITY WARNING
com as informações do local.
Saiba mais
Confira mais informações em: