Rutas de instalación del modelo del ML Kit en Android

Todas las funciones de 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 de las APIs de ML Kit se pueden instalar de una de las siguientes tres maneras:

  1. Desagregados: Los modelos se descargan y administran a través de los Servicios de Google Play.
  2. Empaquetados: Los modelos se vinculan de forma estática a tu app en el momento de la compilación.
  3. Descarga 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 de modelos que admite cada función de ML Kit:

Desagregado Agrupadas Descarga 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 de sujetos ✅
Escáner de códigos de Google ✅
Identificación de idiomas ✅ ✅
Traducción ✅
Respuesta inteligente ✅ ✅
Extracción de entidades ✅

En las guías específicas de la API, se muestran las opciones de instalación disponibles para la API en cuestión.

Diferencias clave entre las opciones de instalación

Desagregado Paquetes Descarga dinámica
¿Dónde se almacenan los modelos? Reside en los Servicios de Google Play y no se tiene en cuenta para el almacenamiento que usa esta app. Se guardan 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 contribuye al 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 Se debe actualizar la app para actualizar el modelo Se debe 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 funciones se incluyen cuando se instala la app, 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 de él. Los modelos se quitan del almacenamiento específico de la app cuando se desinstala la app. Los modelos descargados se quitan del almacenamiento específico de la app cuando se desinstala la app.

Cómo elegir entre las opciones de paquetes y sin paquetes

Si una API admite las opciones de instalación integrada y no integrada, ten en cuenta lo siguiente:

  • Usa la opción de paquete si priorizas lo siguiente:

    • Funcionalidad completa de las funciones inmediatamente después de la instalación de la app
    • Funcionalidad de la función sin conexión de red después de la instalación de la app
  • Usa la opción de desvinculación si priorizas lo siguiente:

    • Apps de menor tamaño
    • Actualizaciones automáticas de modelos por parte de los Servicios de Google Play

Cómo descargar modelos

Cuando usas la opción de modelo desagregado, puedes especificar cómo quieres que se descarguen los modelos en el dispositivo:

  • Puedes habilitar las descargas de modelos durante la instalación agregando una declaración al archivo AndroidManifest.xml de tu app. Por ejemplo, en el siguiente fragmento de código, se muestra cómo configurar tu app para que descargue automáticamente el modelo de escaneo de códigos de barras después de que se instale 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 la 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 ni solicitas la descarga explícita, el modelo se descargará la primera vez que ejecutes la función. Hasta que se complete la descarga, las solicitudes de inferencia fallarán.

Cómo actualizar modelos

Para actualizar tus modelos cuando uses la opción de modelo empaquetado o de modelos descargados de forma dinámica, haz lo siguiente:

  1. Actualiza el archivo Gradle de tu app para usar la biblioteca cliente de funciones de ML Kit más reciente.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Vuelve a compilar la app.

Por qué algunas APIs ofrecen modelos descargados de forma dinámica

Algunas APIs de ML Kit tienen demasiadas opciones de modelos para agrupar. Por ejemplo, el reconocimiento de tinta digital admite más de 300 idiomas, y no siempre es necesario incluir todos los idiomas en la función durante la instalación. Para ello, proporcionamos 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, la traducción y la extracción de entidades tienen esta opción.