Présentation de la conversion du modèle

À l'origine, les modèles de machine learning (ML) que vous utilisez avec LiteRT créés et entraînés à l'aide des outils et bibliothèques TensorFlow. Une fois que vous avez construit un modèle avec TensorFlow Core, vous pouvez le convertir en un modèle efficace de modèle de ML, appelé modèle LiteRT. Cette section fournit des conseils pour convertir vos modèles TensorFlow au format de modèle LiteRT.

Workflow de conversion

La conversion de modèles TensorFlow au format LiteRT peut s'effectuer de plusieurs manières en fonction du contenu de votre modèle de ML. La première étape de ce processus vous devez évaluer votre modèle pour déterminer s'il peut être directement converti. Cette évaluation détermine si le contenu du modèle est compatible avec les environnements d'exécution LiteRT standards basés sur les opérations TensorFlow qu'il utilise. Si votre modèle utilise des opérations en dehors de l'ensemble compatible, vous devez la possibilité de refactoriser votre modèle ou d'utiliser des techniques de conversion avancées.

Le schéma ci-dessous montre les grandes étapes de la conversion d'un modèle.

Workflow de conversion TFLite

Figure 1. Workflow de conversion LiteRT.

Les sections suivantes décrivent le processus d'évaluation et de conversion des modèles à utiliser avec LiteRT.

Formats du modèle d'entrée

Vous pouvez utiliser le convertisseur avec les formats de modèle d'entrée suivants:

Vous pouvez enregistrer les modèles de fonctions Keras et concrètes en tant que SavedModel. et effectuer une conversion à l'aide du chemin recommandé.

Si vous disposez d'un modèle Jax, vous pouvez utiliser TFLiteConverter.experimental_from_jax pour la convertir au format LiteRT. Notez que cette API est soumise en mode expérimental.

Évaluation des conversions

Il est important d'évaluer votre modèle avant d'essayer de le convertir. Lors de l'évaluation, vous devez déterminer si les contenus de votre modèle Format LiteRT. Vous devez également déterminer si votre modèle est adapté à utiliser sur les appareils mobiles et de périphérie en termes de taille de données utilisées par le modèle, ses exigences en termes de traitement matériel, ainsi que la taille globale et la complexité.

Pour de nombreux modèles, le convertisseur devrait fonctionner immédiatement. Toutefois, La bibliothèque d'opérateurs intégrée LiteRT prend en charge un sous-ensemble les principaux opérateurs TensorFlow, ce qui signifie que certains modèles peuvent nécessiter avant de convertir en LiteRT. De plus, certaines opérations compatibles avec LiteRT ont de restrictions d'utilisation pour des raisons de performances. Consultez le guide sur la compatibilité des opérateurs afin de déterminer si votre modèle doit être refactorisé pour la conversion.

Conversion du modèle

Le convertisseur LiteRT prend un modèle TensorFlow et génère modèle LiteRT (un modèle optimisé Le format FlatBuffer identifié par le .tflite). Vous pouvez charger un SavedModel ou convertir directement un modèle créé dans le code.

Le convertisseur utilise trois indicateurs principaux (ou options) qui personnalisent la conversion. pour votre modèle:

  1. Les indicateurs de compatibilité vous permettent de spécifier si la conversion doit autoriser ou non les opérateurs personnalisés.
  2. Les options d'optimisation vous permettent : spécifier le type d'optimisation à appliquer pendant la conversion. La technique d'optimisation la plus couramment utilisée est quanitisation post-entraînement.
  3. Les options de métadonnées vous permettent d'ajouter des métadonnées au modèle converti ce qui facilite la création d'un code de wrapper spécifique à la plate-forme lors du déploiement sur les appareils.

Vous pouvez convertir votre modèle à l'aide de l'API Python. l'outil Command Line (Ligne de commande). Consultez le Guide Convertir un modèle TF pour obtenir des instructions détaillées pour exécuter le convertisseur sur votre modèle.

Généralement, vous convertissez votre modèle pour les modèles LiteRT environnement d'exécution ou Environnement d'exécution des services Google Play pour LiteRT (bêta). Certains cas d'utilisation avancée nécessitent la personnalisation de l'environnement d'exécution du modèle, ce qui nécessite des étapes supplémentaires le processus de conversion. Consultez le la section Environnement d'exécution avancé d'Android pour en savoir plus.

Conversion avancée

Si vous rencontrez des erreurs lorsque vous exécutez le convertisseur sur votre modèle, problème de compatibilité avec l'opérateur. Les opérations TensorFlow ne sont pas toutes compatibles avec TensorFlow Mode simplifié. Vous pouvez contourner ces problèmes en refactorisant votre modèle ou en utilisant des options de conversion avancées qui vous permettent de créer un LiteRT modifié et un environnement d'exécution personnalisé pour ce modèle.

Étapes suivantes