Preguntas frecuentes

Si no encuentra una respuesta a su pregunta aquí, consulte nuestra documentación detallada sobre el tema o presente un problema de GitHub .

Conversión de modelo

¿Qué formatos se admiten para la conversión de TensorFlow a TensorFlow Lite?

Los formatos admitidos se enumeran aquí.

¿Por qué algunas operaciones no se implementan en TensorFlow Lite?

Para mantener TFLite liviano, solo ciertos operadores TF (incluidos en la lista de permitidos ) son compatibles con TFLite.

¿Por qué mi modelo no se convierte?

Dado que la cantidad de operaciones de TensorFlow Lite es menor que la de TensorFlow, es posible que algunos modelos no puedan realizar la conversión. Algunos errores comunes se enumeran aquí .

Para problemas de conversión no relacionados con operaciones faltantes u operaciones de flujo de control, busque nuestros problemas de GitHub o presente uno nuevo .

¿Cómo pruebo que un modelo de TensorFlow Lite se comporte igual que el modelo de TensorFlow original?

La mejor manera de realizar pruebas es comparar las salidas de los modelos TensorFlow y TensorFlow Lite para las mismas entradas (datos de prueba o entradas aleatorias) como se muestra aquí .

¿Cómo determino las entradas/salidas para el búfer del protocolo GraphDef?

La forma más sencilla de inspeccionar un gráfico desde un archivo .pb es utilizar Netron , un visor de código abierto para modelos de aprendizaje automático.

Si Netron no puede abrir el gráfico, puede probar la herramienta resume_graph .

Si la herramienta resume_graph produce un error, puede visualizar GraphDef con TensorBoard y buscar las entradas y salidas en el gráfico. Para visualizar un archivo .pb , use el script import_pb_to_tensorboard.py como se muestra a continuación:

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

¿Cómo inspecciono un archivo .tflite ?

Netron es la forma más sencilla de visualizar un modelo de TensorFlow Lite.

Si Netron no puede abrir su modelo de TensorFlow Lite, puede probar el script visualize.py en nuestro repositorio.

Si estás usando TF 2.5 o una versión posterior

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

De lo contrario, puede ejecutar este script con Bazel

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

Mejoramiento

¿Cómo reduzco el tamaño de mi modelo de TensorFlow Lite convertido?

La cuantificación posterior al entrenamiento se puede utilizar durante la conversión a TensorFlow Lite para reducir el tamaño del modelo. La cuantificación posterior al entrenamiento cuantifica los pesos con una precisión de 8 bits desde punto flotante y los descuantifica durante el tiempo de ejecución para realizar cálculos en punto flotante. Sin embargo, tenga en cuenta que esto podría tener algunas implicaciones de precisión.

Si volver a entrenar el modelo es una opción, considere el entrenamiento con reconocimiento de cuantificación . Sin embargo, tenga en cuenta que el entrenamiento con reconocimiento de cuantificación solo está disponible para un subconjunto de arquitecturas de redes neuronales convolucionales.

Para obtener una comprensión más profunda de los diferentes métodos de optimización, consulte Optimización de modelos .

¿Cómo optimizo el rendimiento de TensorFlow Lite para mi tarea de aprendizaje automático?

El proceso de alto nivel para optimizar el rendimiento de TensorFlow Lite se parece a esto:

  • Asegúrese de tener el modelo adecuado para la tarea. Para la clasificación de imágenes, consulte TensorFlow Hub .
  • Ajusta el número de subprocesos. Muchos operadores de TensorFlow Lite admiten núcleos multiproceso. Puede utilizar SetNumThreads() en la API de C++ para hacer esto. Sin embargo, el aumento de subprocesos da como resultado una variabilidad del rendimiento según el entorno.
  • Utilice aceleradores de hardware. TensorFlow Lite admite la aceleración de modelos para hardware específico mediante delegados. Consulte nuestra guía para delegados para obtener información sobre qué aceleradores son compatibles y cómo usarlos con su modelo en el dispositivo.
  • Modelo de perfil (avanzado). La herramienta de evaluación comparativa Tensorflow Lite tiene un generador de perfiles integrado que puede mostrar estadísticas por operador. Si sabe cómo optimizar el rendimiento de un operador para su plataforma específica, puede implementar un operador personalizado .

Para obtener una discusión más profunda sobre cómo optimizar el rendimiento, consulte Mejores prácticas .