web-dev-qa-db-fra.com

Google AutoML peut-il exporter des modèles formés pour l'inférence hors ligne?

AutoML semble génial. Une grande question est la suivante: pouvons-nous exporter le modèle entraîné pour l'inférence hors ligne, comme avec tensorflow ou tensoflow lite?

11
user4572254

Ça devrait être ça:

https://cloud.google.com/vision/automl/docs/deploy

Remarque, les options d'exportation (au moins actuellement) n'apparaissent pas sur vos modèles déjà formés. Vous devez sélectionner l'un des modèles, vous entraîner, puis vous avez la possibilité de laisser le modèle dans le cloud ou de générer une version Edge.

Vous pouvez exporter un modèle de classification d'image au format générique Tensorflow Lite, au format Edge TPU compilé TensorFlow Lite ou au format TensorFlow vers un emplacement Google Cloud Storage à l'aide de l'API ExportModel.

2
Meelpeer

Cela n'est pas pris en charge en mars 2019. Si vous êtes intéressé par cette fonctionnalité, lancez cette demande: https://issuetracker.google.com/issues/113122585

Vérifiez également ce lien au cas où Google aurait implémenté la fonctionnalité depuis cette réponse.

Mise à jour: le support initial a été ajouté pour la classification, mais pas encore la détection. Voir la réponse de Peter Gibson.

2
N8allan

Le statut actuel (août 2019) pour AutoML Vision est que vous pouvez exporter des modèles de classification d'images AutoML mais pas la détection d'objets. Cette fonctionnalité est en version bêta (tout comme AutoML Vision elle-même). Je n'ai pas pu trouver de détails sur d'autres produits AutoML et je ne les ai pas essayés moi-même, donc je ne suis pas sûr de leur statut.

De https://cloud.google.com/vision/automl/docs/

AutoML Vision Edge vous permet désormais d'exporter vos modèles personnalisés.

  • AutoML Vision Edge vous permet de former et de déployer des modèles à faible latence et haute précision optimisés pour les appareils Edge.
  • Avec Tensorflow Lite, Core ML et les formats d'exportation de conteneurs, AutoML Vision Edge prend en charge une variété de périphériques.
  • Architectures matérielles prises en charge: Edge TPU, ARM et NVIDIA.
  • Pour créer une application sur iOS ou des appareils Android, vous pouvez utiliser AutoML Vision Edge dans ML Kit. Cette solution est disponible via Firebase et offre un flux de développement de bout en bout pour créer et déployer des modèles personnalisés aux appareils mobiles à l'aide des bibliothèques clientes du kit ML.

Documentation https://cloud.google.com/vision/automl/docs/Edge-quickstart

J'ai formé un modèle de classification, exporté le modèle tflite (il exporte vers le stockage Cloud) et j'ai pu télécharger les fichiers de modèle et les charger dans tensorflow en utilisant l'API Python sans trop de tracas. Voici le code approprié pour charger le modèle et exécuter l'inférence:

Basé sur https://www.tensorflow.org/lite/guide/inference#load_and_run_a_model_in_python

# Load TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path=MODEL_PATH)
interpreter.allocate_tensors()

# Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

def predict(frame):
    interpreter.set_tensor(input_details[0]['index'], frame)
    interpreter.invoke()

    # The function `get_tensor()` returns a copy of the tensor data.
    # Use `tensor()` in order to get a pointer to the tensor.
    output_data = interpreter.get_tensor(output_details[0]['index'])
1
Peter Gibson

il n'est pas encore possible d'exporter les modèles depuis AutoML. @Infinite Loops, automl et ml engine sont des produits différents.

0
Awais