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

De forma predeterminada, todas las funciones del kit de AA usan modelos de aprendizaje automático entrenados por Google (conocidos como modelos base). 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 del kit de AA se pueden instalar de tres maneras:

  1. No agrupados: Los modelos se descargan y administran a través de los Servicios de Google Play.
  2. Agrupados: Los modelos se vinculan de forma estática a tu app en el momento de la compilación.
  3. Descargados de forma dinámica: Los modelos se descargan on demand.

Rutas de instalación compatibles para cada API

En la siguiente tabla, se muestran las rutas de instalación de modelos compatibles con cada función del kit de AA:

No agrupados Agrupados Descargados 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 de temas
Escáner de código de Google
Identificación de idiomas
Traducción
Respuesta inteligente
Extracción de entidades

Las guías específicas de la API muestran qué opciones de instalación están disponibles para la API determinada.

Diferencias clave entre las opciones de instalación

No agrupados Agrupados Descargados de forma dinámica
¿Dónde se almacenan los modelos? Reside en los Servicios de Google Play y no se cuenta 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 la descarga del 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. Debes actualizar la app para actualizar el modelo. Debes 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 se instala la app, por lo que se pueden usar de inmediato. Las descargas, las actualizaciones y las 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 agrupados y no agrupados

Si una API admite las opciones de instalación agrupadas y no agrupadas, haz lo siguiente:

  • Usa la opción agrupada si priorizas lo siguiente:

    • Funcionalidad completa de la función 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 no agrupada 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 no agrupado, puedes especificar cómo quieres que se descarguen los modelos en el dispositivo:

  • Para habilitar las descargas de modelos en el momento de la instalación , agrega 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 los Servicios de Google Play API de ModuleInstallClient.

  • 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, fallarán las solicitudes de inferencia.

Cómo actualizar modelos

Para actualizar tus modelos cuando usas el modelo agrupado o la opción 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 más reciente del kit de AA.

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

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

Algunas APIs del kit de AA tienen demasiadas opciones de modelos para agruparlas. Por ejemplo, el reconocimiento de la tinta digital admite más de 300 idiomas, y no siempre es necesario colocar todos los idiomas dentro de la función durante la instalación. Para ello, proporcionamos la tercera opción de instalación, en la que los modelos se descargan on demand después de la instalación. Actualmente, solo el reconocimiento de la tinta digital, traducción y la extracción de entidades tienen esta opción.