Présentation de la conversion du modèle

À l'origine, les modèles de machine learning (ML) que vous utilisez avec TensorFlow Lite sont créés et entraînés à l'aide des bibliothèques et outils de base TensorFlow. Une fois que vous avez créé un modèle avec TensorFlow Core, vous pouvez le convertir en un format de modèle de ML plus petit et plus efficace, appelé "modèle TensorFlow Lite". Cette section explique comment convertir vos modèles TensorFlow au format de modèle TensorFlow Lite.

Workflow de conversion

La conversion de modèles TensorFlow au format TensorFlow Lite peut emprunter plusieurs chemins en fonction du contenu de votre modèle de ML. La première étape de ce processus consiste à évaluer votre modèle pour déterminer s'il peut être converti directement. Cette évaluation détermine si le contenu du modèle est compatible avec les environnements d'exécution TensorFlow Lite standards en fonction des opérations TensorFlow qu'il utilise. Si votre modèle utilise des opérations ne faisant pas partie de l'ensemble compatible, vous avez la possibilité de le refactoriser ou d'utiliser des techniques de conversion avancées.

Le schéma ci-dessous présente les principales étapes de la conversion d'un modèle.

Workflow de conversion TFLite

Figure 1. Workflow de conversion TensorFlow Lite

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

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 fonction Keras et concrets en tant que SavedModel et les convertir à l'aide du chemin recommandé.

Si vous disposez d'un modèle Jax, vous pouvez utiliser l'API TFLiteConverter.experimental_from_jax pour le convertir au format TensorFlow Lite. Notez que cette API est susceptible d'être modifiée en mode expérimental.

Évaluation des conversions

L'évaluation de votre modèle est une étape importante avant d'essayer de le convertir. Lors de l'évaluation, vous souhaitez déterminer si le contenu de votre modèle est compatible avec le format TensorFlow Lite. Vous devez également déterminer si votre modèle est adapté à une utilisation sur des appareils mobiles et de périphérie en termes de taille des données qu'il utilise, de besoins de traitement matériel, ainsi que de taille et de complexité globales du modèle.

Pour de nombreux modèles, le convertisseur devrait fonctionner immédiatement. Cependant, la bibliothèque d'opérateurs intégrés TensorFlow Lite accepte un sous-ensemble d'opérateurs principaux TensorFlow, ce qui signifie que certains modèles peuvent nécessiter des étapes supplémentaires avant d'être convertis en TensorFlow Lite. En outre, certaines opérations compatibles avec TensorFlow Lite présentent des exigences d'utilisation limitées pour des raisons de performances. Consultez le guide sur la compatibilité des opérateurs pour déterminer si votre modèle doit être refactorisé pour la conversion.

Conversion de modèles

Le convertisseur TensorFlow Lite utilise un modèle TensorFlow et génère un modèle TensorFlow Lite (un format FlatBuffer optimisé identifié par l'extension de fichier .tflite). Vous pouvez charger un SavedModel ou convertir directement un modèle que vous créez 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 les opérateurs personnalisés.
  2. Les indicateurs d'optimisation vous permettent de spécifier le type d'optimisation à appliquer lors de la conversion. La technique d'optimisation la plus couramment utilisée est la quanitisation post-entraînement.
  3. Les indicateurs de métadonnées vous permettent d'ajouter des métadonnées au modèle converti, ce qui facilite la création du code de wrapper spécifique à la plate-forme lors du déploiement des modèles sur des appareils.

Vous pouvez convertir votre modèle à l'aide de l'API Python ou de l'outil de ligne de commande. Consultez le guide Convert TF model (Convertir le modèle TF) pour obtenir des instructions détaillées sur l'exécution du convertisseur sur votre modèle.

En règle générale, vous devez convertir votre modèle pour l'environnement d'exécution TensorFlow Lite standard ou pour l'environnement d'exécution des services Google Play pour TensorFlow Lite (version bêta). Certains cas d'utilisation avancés nécessitent de personnaliser l'environnement d'exécution du modèle, ce qui nécessite des étapes supplémentaires dans le processus de conversion. Pour en savoir plus, consultez la section Environnement d'exécution avancé de la présentation d'Android.

Conversion avancée

Si vous rencontrez des erreurs lors de l'exécution du convertisseur sur votre modèle, vous rencontrez probablement un problème de compatibilité d'opérateur. Les opérations TensorFlow ne sont pas toutes compatibles avec TensorFlow Lite. Pour contourner ces problèmes, vous pouvez refactoriser votre modèle ou utiliser des options de conversion avancées qui vous permettent de créer un modèle de format TensorFlow Lite modifié et un environnement d'exécution personnalisé pour ce modèle.

Étapes suivantes