Démarrage rapide iOS, démarrage rapide iOS

Pour commencer avec TensorFlow Lite sur iOS, nous vous recommandons d'explorer l'exemple suivant :

Exemple de classification d'images iOS

Pour une explication du code source, vous devriez également lire la classification des images iOS de TensorFlow Lite .

Cet exemple d'application utilise la classification d' images pour classer en continu tout ce qu'il voit de la caméra arrière de l'appareil, en affichant les classifications les plus probables. Il permet à l'utilisateur de choisir entre un modèle à virgule flottante ou quantifié et de sélectionner le nombre de threads sur lesquels effectuer l'inférence.

Ajoutez TensorFlow Lite à votre projet Swift ou Objective-C

TensorFlow Lite propose des bibliothèques iOS natives écrites en Swift et Objective-C . Commencez à écrire votre propre code iOS en utilisant l' exemple de classification d'image Swift comme point de départ.

Les sections ci-dessous montrent comment ajouter TensorFlow Lite Swift ou Objective-C à votre projet :

Développeurs CocoaPods

Dans votre Podfile , ajoutez le pod TensorFlow Lite. Ensuite, exécutez pod install .

Rapide

use_frameworks!
pod 'TensorFlowLiteSwift'

Objectif c

pod 'TensorFlowLiteObjC'

Spécification des versions

Il existe des versions stables et des versions nocturnes disponibles pour les pods TensorFlowLiteSwift et TensorFlowLiteObjC . Si vous ne spécifiez pas de contrainte de version comme dans les exemples ci-dessus, CocoaPods tirera la dernière version stable par défaut.

Vous pouvez également spécifier une contrainte de version. Par exemple, si vous souhaitez dépendre de la version 2.0.0, vous pouvez écrire la dépendance comme suit :

pod 'TensorFlowLiteSwift', '~> 2.0.0'

Cela garantira que la dernière version 2.xy disponible du pod TensorFlowLiteSwift est utilisée dans votre application. Alternativement, si vous voulez dépendre des versions nocturnes, vous pouvez écrire :

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'

À partir de la version 2.4.0 et des dernières versions nocturnes, par défaut, les délégués GPU et Core ML sont exclus du pod pour réduire la taille binaire. Vous pouvez les inclure en spécifiant subspec :

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']

Cela vous permettra d'utiliser les dernières fonctionnalités ajoutées à TensorFlow Lite. Notez qu'une fois le fichier Podfile.lock créé lorsque vous exécutez la commande d' pod install pour la première fois, la version nocturne de la bibliothèque sera verrouillée à la version de la date actuelle. Si vous souhaitez mettre à jour la bibliothèque nocturne vers la plus récente, vous devez exécuter la commande de mise à pod update .

Pour plus d'informations sur les différentes manières de spécifier des contraintes de version, consultez Spécification des versions de pod .

Développeurs Bazel

Dans votre fichier BUILD , ajoutez la dépendance TensorFlowLite à votre cible.

Rapide

swift_library(
  deps = [
      "//tensorflow/lite/swift:TensorFlowLite",
  ],
)

Objectif c

objc_library(
  deps = [
      "//tensorflow/lite/objc:TensorFlowLite",
  ],
)

API C/C++

Alternativement, vous pouvez utiliser l' API C ou l'API C++

# Using C API directly
objc_library(
  deps = [
      "//tensorflow/lite/c:c_api",
  ],
)

# Using C++ API directly
objc_library(
  deps = [
      "//third_party/tensorflow/lite:framework",
  ],
)

Importer la bibliothèque

Pour les fichiers Swift, importez le module TensorFlow Lite :

import TensorFlowLite

Pour les fichiers Objective-C, importez l'en-tête parapluie :

#import "TFLTensorFlowLite.h"

Ou, le module si vous définissez CLANG_ENABLE_MODULES = YES dans votre projet Xcode :

@import TFLTensorFlowLite;
,

Pour commencer avec TensorFlow Lite sur iOS, nous vous recommandons d'explorer l'exemple suivant :

Exemple de classification d'images iOS

Pour une explication du code source, vous devriez également lire la classification des images iOS de TensorFlow Lite .

Cet exemple d'application utilise la classification d' images pour classer en continu tout ce qu'il voit de la caméra arrière de l'appareil, en affichant les classifications les plus probables. Il permet à l'utilisateur de choisir entre un modèle à virgule flottante ou quantifié et de sélectionner le nombre de threads sur lesquels effectuer l'inférence.

Ajoutez TensorFlow Lite à votre projet Swift ou Objective-C

TensorFlow Lite propose des bibliothèques iOS natives écrites en Swift et Objective-C . Commencez à écrire votre propre code iOS en utilisant l' exemple de classification d'image Swift comme point de départ.

Les sections ci-dessous montrent comment ajouter TensorFlow Lite Swift ou Objective-C à votre projet :

Développeurs CocoaPods

Dans votre Podfile , ajoutez le pod TensorFlow Lite. Ensuite, exécutez pod install .

Rapide

use_frameworks!
pod 'TensorFlowLiteSwift'

Objectif c

pod 'TensorFlowLiteObjC'

Spécification des versions

Il existe des versions stables et des versions nocturnes disponibles pour les pods TensorFlowLiteSwift et TensorFlowLiteObjC . Si vous ne spécifiez pas de contrainte de version comme dans les exemples ci-dessus, CocoaPods tirera la dernière version stable par défaut.

Vous pouvez également spécifier une contrainte de version. Par exemple, si vous souhaitez dépendre de la version 2.0.0, vous pouvez écrire la dépendance comme suit :

pod 'TensorFlowLiteSwift', '~> 2.0.0'

Cela garantira que la dernière version 2.xy disponible du pod TensorFlowLiteSwift est utilisée dans votre application. Alternativement, si vous voulez dépendre des versions nocturnes, vous pouvez écrire :

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'

À partir de la version 2.4.0 et des dernières versions nocturnes, par défaut, les délégués GPU et Core ML sont exclus du pod pour réduire la taille binaire. Vous pouvez les inclure en spécifiant subspec :

pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']

Cela vous permettra d'utiliser les dernières fonctionnalités ajoutées à TensorFlow Lite. Notez qu'une fois le fichier Podfile.lock créé lorsque vous exécutez la commande d' pod install pour la première fois, la version nocturne de la bibliothèque sera verrouillée à la version de la date actuelle. Si vous souhaitez mettre à jour la bibliothèque nocturne vers la plus récente, vous devez exécuter la commande de mise à pod update .

Pour plus d'informations sur les différentes manières de spécifier des contraintes de version, consultez Spécification des versions de pod .

Développeurs Bazel

Dans votre fichier BUILD , ajoutez la dépendance TensorFlowLite à votre cible.

Rapide

swift_library(
  deps = [
      "//tensorflow/lite/swift:TensorFlowLite",
  ],
)

Objectif c

objc_library(
  deps = [
      "//tensorflow/lite/objc:TensorFlowLite",
  ],
)

API C/C++

Alternativement, vous pouvez utiliser l' API C ou l'API C++

# Using C API directly
objc_library(
  deps = [
      "//tensorflow/lite/c:c_api",
  ],
)

# Using C++ API directly
objc_library(
  deps = [
      "//third_party/tensorflow/lite:framework",
  ],
)

Importer la bibliothèque

Pour les fichiers Swift, importez le module TensorFlow Lite :

import TensorFlowLite

Pour les fichiers Objective-C, importez l'en-tête parapluie :

#import "TFLTensorFlowLite.h"

Ou, le module si vous définissez CLANG_ENABLE_MODULES = YES dans votre projet Xcode :

@import TFLTensorFlowLite;