El 3 de junio de 2020, realizamos algunos cambios en el Kit de AA para Firebase a fin de distinguir mejor las APIs integradas en el dispositivo de las basadas en la nube. El conjunto actual de APIs ahora se divide en los dos productos siguientes:
Un producto nuevo, llamado simplemente Kit de AA, que contendrá todas las APIs integradas en el dispositivo
Aprendizaje automático de Firebase, que se enfoca en las APIs basadas en la nube y la implementación de modelos personalizados.
Este cambio también facilitará la integración del ML Kit en tu app si solo necesitas una solución integrada en el dispositivo. En este documento, se explica cómo migrar tu app del SDK del ML Kit de Firebase al nuevo SDK.
¿Cuáles son los cambios?
APIs básicas en el dispositivo
Las siguientes APIs se trasladaron al nuevo SDK independiente del ML Kit.
- Escaneo de códigos de barras
- Detección de rostro
- Etiquetado de imágenes
- Detección y seguimiento de objetos
- Reconocimiento de texto
- ID de idioma
- Respuesta inteligente
- Traductor
- API de inferencia de AutoML Vision Edge
Las APIs base existentes en el dispositivo del SDK del ML Kit para Firebase quedaron obsoletas y ya no recibirán actualizaciones.
Si actualmente usas estas APIs en tu app, migra al nuevo SDK del ML Kit. Para ello, sigue la guía de migración del ML Kit para Android y la ML Kit para iOS.
APIs de modelos personalizados
Para descargar modelos alojados en Firebase, la herramienta de descarga de modelos personalizados se sigue ofreciendo a través del SDK de AA de Firebase. El SDK recupera el último modelo disponible y lo pasa al entorno de ejecución de TensorFlow Lite independiente para realizar inferencias.
El intérprete de modelo personalizado existente en el SDK del Kit de AA para Firebase está obsoleto y ya no recibirá actualizaciones. Recomendamos usar el tiempo de ejecución de TensorFlow Lite directamente para las inferencias. Como alternativa, si solo deseas usar modelos personalizados para las APIs de etiquetado de imágenes y detección y seguimiento de objetos, ahora puedes usar modelos personalizados directamente en estas APIs del Kit de AA.
Consulta las guías de migración para iOS y Android a fin de obtener instrucciones detalladas.
¿Qué cosas no cambiaron?
Las APIs y los servicios basados en la nube se seguirán ofreciendo con el AA de Firebase:
Las APIs de etiquetado de imágenes basadas en la nube, reconocimiento de texto y reconocimiento de puntos de referencia todavía están disponibles en el SDK de AA de Firebase.
El AA de Firebase también sigue ofreciendo la implementación de modelos
Preguntas frecuentes
¿Por qué se aplicó este cambio?
Hacemos este cambio para aclarar qué soluciones ofrece el producto. Con este cambio, el nuevo SDK del ML Kit se enfoca completamente en el aprendizaje automático en el dispositivo, en el que todo el procesamiento de datos se realiza en el dispositivo y está disponible para los desarrolladores sin costo. Los servicios en la nube que formaban parte del ML Kit de Firebase antes estaban disponibles a través del AA de Firebase y aún puedes usarlos en paralelo con las APIs del ML Kit.
Para las APIs integradas en el dispositivo, el nuevo SDK del ML Kit facilita a los desarrolladores la integración del ML Kit a su app. De ahora en adelante, solo tendrás que agregar dependencias al proyecto de la app y, luego, comenzar a usar la API. No es necesario configurar un proyecto de Firebase solo para usar las APIs en el dispositivo.
¿Qué sucede con mis modelos alojados en Firebase?
El aprendizaje automático de Firebase seguirá entregando tus modelos como antes. Esa funcionalidad no va a cambiar. A continuación, se muestran algunas mejoras:
Ahora puedes implementar tus modelos en Firebase de manera programática mediante los SDK de Python o Node.
Ahora puedes usar el SDK de AA de Firebase junto con el entorno de ejecución de TensorFlow Lite. El SDK de Firebase descarga el modelo en el dispositivo, y el entorno de ejecución de TensorFlow Lite realiza la inferencia. Esto te permite elegir fácilmente la versión del entorno de ejecución que prefieras, incluida una compilación personalizada.
¿Qué beneficios obtengo por migrar al nuevo SDK del ML Kit?
La migración al nuevo SDK garantizará que tus aplicaciones se beneficien de las correcciones de errores y las mejoras más recientes de las APIs integradas en el dispositivo. Por ejemplo, a continuación, hay un par de cambios en la primera versión:
Ahora puedes usar las nuevas APIs de etiquetado de imágenes personalizadas y de detección y seguimiento de objetos personalizados para integrar con facilidad modelos de clasificación de imágenes personalizados en tus apps y crear experiencias del usuario interactivas en tiempo real.
Se agregó compatibilidad con el ciclo de vida de Android Jetpack a todas las APIs. Ahora puedes usar
addObserver
para administrar automáticamente el inicio y el desmontaje de las APIs del ML Kit a medida que el usuario o el sistema realiza la rotación de pantalla o el cierre de la app. Esto facilita la integración con CameraX.
Puedes encontrar una lista completa de los cambios más recientes en las notas de la versión del SDK del Kit de AA.
Actualmente, uso el ML Kit para Firebase. ¿Cuándo debo realizar la migración?
Esto depende de las APIs del Kit de AA para Firebase que uses actualmente en tu app.
Las APIs base en el dispositivo en el SDK del Kit de AA para Firebase seguirán funcionando en el futuro cercano. Sin embargo, si retrasas el cambio al nuevo SDK del ML Kit, no te beneficiarás de las funciones y actualizaciones nuevas. Además, una vez que actualizas otros componentes de tu app, existe el riesgo de que se generen conflictos de dependencias. Esto puede ocurrir cuando algunas de tus otras dependencias (directas o indirectas) son más nuevas que las que esperaba el SDK anterior del ML Kit para Firebase. Algunos ejemplos de bibliotecas para los que esto puede suceder son OkHttp y firebase-common.
Si estás usando las APIs de Cloud a través del SDK del Kit de AA para Firebase, no es necesario hacer ningún cambio en este momento.
Si usas la implementación de modelos personalizados, te recomendamos que actualices a la versión más reciente, que permite ejecutar inferencias directamente en el entorno de ejecución de TensorFlow Lite.