Todas las funciones del ML Kit usan modelos de aprendizaje automático entrenados por Google (conocidos como modelos base) de forma predeterminada. Esta guía solo se aplica a los modelos base. Consulta aquí para obtener orientación sobre los modelos personalizados.
Los modelos en las APIs del ML Kit se pueden instalar de una de estas tres maneras:
- Sin agrupar: Los modelos se descargan y administran a través de los Servicios de Google Play.
- Paquetes: Los modelos se vinculan de forma estática a tu app durante el tiempo de compilación.
- Descargados de forma dinámica: Los modelos se descargan a pedido.
Rutas de instalación admitidas para cada API
En la siguiente tabla, se muestran las rutas de instalación del modelo que admite cada función de ML Kit:
Sin agrupar | Paquetes | Descargadas de forma dinámica | |
Reconocimiento de texto v2 | ✅ | ✅ | |
Detección de rostro | ✅ | ✅ | |
Detección de malla facial | ✅ | ||
Detección de poses | ✅ | ||
Segmentación de selfies | ✅ | ||
Escaneo de códigos de barras | ✅ | ✅ | |
Etiquetado de imágenes | ✅ | ✅ | |
Detección y seguimiento de objetos | ✅ | ||
Reconocimiento de la tinta digital | ✅ | ||
Escáner de documentos | ✅ | ||
Segmentación por tema | ✅ | ||
Escáner de código de Google | ✅ | ||
Identificación de idiomas | ✅ | ✅ | |
Translation | ✅ | ||
Respuesta inteligente | ✅ | ✅ | |
Extracción de entidades | ✅ |
En las guías específicas de la API, se muestra qué opciones de instalación están disponibles para cada una.
Diferencias clave entre las opciones de instalación
Sin agrupar | Paquetes | Descargadas de forma dinámica | |
¿Dónde se almacenan los modelos? | Reside en los Servicios de Google Play y no se incluye en el almacenamiento que usa esta app. | Se guarda en el almacenamiento específico de la app después de la instalación. | Se guarda en el almacenamiento específico de la app después de descargar el modelo. |
¿Cómo afecta el tamaño del modelo al tamaño de la app? | No influye en el tamaño de la app | Contribuye directamente al tamaño de la app | No contribuye al tamaño de la app, pero aumenta el almacenamiento específico de la app. |
¿Cuándo se actualizan los modelos? | Se actualiza automáticamente cuando se lanza una versión más reciente | Es necesario actualizar la app para actualizar el modelo | Es necesario actualizar la app para actualizar el modelo |
¿Cuándo se descargan los modelos? | Los modelos se deben descargar antes de usarlos | Todos los modelos y las funciones se incluyen cuando la app está instalada, por lo que se pueden usar de inmediato. | Las descargas, actualizaciones y eliminaciones de modelos se deben administrar de forma manual con la API de RemoteModelManager. |
¿Cuándo se quitan los modelos del dispositivo? | Los Servicios de Google Play solo quitarán el modelo del almacenamiento si se desinstalan todas las apps que dependen del modelo. | Los modelos se quitan del almacenamiento específico de la app cuando esta se desinstala. | Los modelos descargados se quitan del almacenamiento específico de la app cuando se desinstala. |
Cómo elegir entre agrupado y sin agrupar
Si una API admite las opciones de instalación empaquetadas y no agrupadas:
Usa la opción de paquetes si priorizas lo siguiente:
- Completar la funcionalidad de las funciones inmediatamente después de instalar la app
- Funcionalidad de la función sin conexión de red después de instalar la app
Usa la opción sin agrupar si priorizas lo siguiente:
- Apps de menor tamaño
- Actualizaciones automatizadas de modelos de los Servicios de Google Play
Cómo descargar modelos
Cuando usas la opción de modelo sin agrupar, puedes especificar cómo quieres que los modelos se descarguen en el dispositivo:
Puedes habilitar las descargas de modelos en el momento de la instalación si agregas una declaración al archivo
AndroidManifest.xml
de la app. Por ejemplo, en el siguiente fragmento de código, se muestra cómo configurar tu app para descargar automáticamente el modelo de escaneo de códigos de barras después de instalar la app desde Play Store:<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>
Puedes solicitar una descarga explícita a través de la API de ModuleInstallClient de los Servicios de Google Play.
Si no habilitas las descargas de modelos en el momento de la instalación o solicitas una descarga explícita, el modelo se descargará la primera vez que ejecutes la función. Las solicitudes de inferencia fallarán hasta que se complete la descarga.
Cómo actualizar modelos
Para actualizar tus modelos cuando usas el modelo empaquetado o la opción de modelos descargados de forma dinámica, haz lo siguiente:
Actualiza el archivo de Gradle de tu app para usar la biblioteca cliente de funciones más reciente del ML Kit.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API }
Vuelve a compilar tu app.
Por qué algunas APIs ofrecen modelos descargados de forma dinámica
Algunas API del ML Kit tienen demasiadas opciones de modelos para empaquetar. Por ejemplo, el reconocimiento de tinta digital admite más de 300 idiomas, y no siempre es necesario incluir todos los idiomas dentro de la función durante la instalación. Para ello, ofrecemos la tercera opción de instalación, en la que los modelos se descargan a pedido después de la instalación. Actualmente, solo el Reconocimiento de tinta digital, Translation y Extracción de entidades tienen esta opción.