Path: blob/master/site/es-419/model_optimization/guide/quantization/training_example.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
Ejemplo de entrenamiento con reconocimiento de la cuantización en Keras
Descripción general
Le presentamos un ejemplo de principio a fin de entrenamiento con reconocimiento de la cuantización.
Otras paginas
Para obtener una introducción a qué es el entrenamiento con reconocimiento de la cuantización y determinar si debe usarlo (incluido lo que se admite), consulte la página de descripción general.
Para encontrar rápidamente las API que necesita para su caso de uso (más allá de cuantizar completamente un modelo con 8 bits), consulte la guía completa.
Resumen
En este tutorial, podrá:
Entrenar un modelo
tf.keras
para MNIST desde cero.Ajustar el modelo aplicando la API de entrenamiento con reconocimiento de la cuantización, ver la precisión y exportar un modelo con reconocimiento de la cuantización.
Usar el modelo para crear un modelo realmente cuantizado para el backend de TFLite.
Ver la persistencia de la precisión en TFLite y un modelo 4 veces más pequeño. Para ver los beneficios de latencia en dispositivos móviles, pruebe los ejemplos de TFLite en el repositorio de aplicaciones de TFLite.
Preparación
Entrenar un modelo para MNIST sin entrenamiento con reconocimiento de la cuantización
Clonar y ajustar el modelo preentrenado con entrenamiento con reconocimiento de la cuantización
Definir el modelo
Aplicará el entrenamiento con reconocimiento de la cuantización a todo el modelo y lo verá en el resumen del modelo. Todas las capas ahora tienen el prefijo "quant".
Tenga en cuenta que el modelo resultante reconoce la cuantización pero no está cuantizado (por ejemplo, los pesos son float32 en lugar de int8). En las siguientes secciones se muestra cómo crear un modelo cuantizado a partir del modelo con reconocimiento de la cuantización.
En la guía completa, puede ver cómo cuantizar algunas capas para mejorar la precisión del modelo.
Entrenar y evalar el modelo con respecto al punto de referencia
Para demostrar el ajuste después de entrenar el modelo solo durante una época, ajuste con un entrenamiento con reconocimiento de la cuantización un subconjunto de los datos de entrenamiento.
Para este ejemplo, hay una pérdida mínima en la precisión de la prueba después de la cuantización, en comparación con la línea de base.
Crear un modelo cuantizado para el backend de TFLite
Después de esto, tiene un modelo realmente cuantizado con pesos int8 y activaciones uint8.
Ver la persistencia de la precisión desde TF a TFLite
Defina una función ayudante para evaluar el modelo de TFLite en el conjunto de datos de prueba.
Evalúe el modelo cuantizado y verá que la precisión de TensorFlow persiste en el backend de TFLite.
Ver un modelo 4 veces más pequeño a partir de la cuantización
Cree un modelo flotante de TFLite y luego verá que el modelo de TFLite cuantizado es 4 veces más pequeño.
Conclusión
En este tutorial, aprendió cómo crear modelos con reconocimiento de la cuantización con la API del kit de herramientas de optimización de modelos de TensorFlow y luego cuantizó modelos para el backend de TFLite.
Observó un beneficio de comprimir el modelo a un tamaño 4 veces más pequeño para un modelo para MNIST, con una diferencia de precisión mínima. Para ver los beneficios de latencia en dispositivos móviles, pruebe los ejemplos de TFLite en el repositorio de aplicaciones de TFLite.
Le recomendamos que pruebe esta nueva capacidad, que puede ser particularmente importante para la implementación en entornos con recursos limitados.