Guide de démarrage rapide pour iOS

LiteRT vous permet d'exécuter des modèles TensorFlow, PyTorch et JAX dans vos applications iOS. Le système LiteRT fournit des environnements d'exécution prédéfinis et personnalisables pour exécuter des modèles sur iOS rapidement et efficacement, avec une flexibilité supplémentaire pour la gestion des versions et des délégués facultatifs tels que coreML et Metal pour améliorer les performances.

Pour les applications iOS qui utilisent LiteRT, consultez le dépôt d'exemples LiteRT.

Ajouter LiteRT à votre projet Swift ou Objective-C

LiteRT propose des bibliothèques iOS natives écrites en Swift et en Objective-C.

Les sections ci-dessous expliquent comment ajouter LiteRT Swift ou Objective-C à votre projet:

Développeurs CocoaPods

Dans votre Podfile, ajoutez le pod LiteRT. Exécutez ensuite pod install.

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

Spécifier des versions

Des versions stables et des versions "nightly" sont disponibles pour les pods TensorFlowLiteSwift et TensorFlowLiteObjC. Si vous ne spécifiez pas de contrainte de version comme dans les exemples ci-dessus, CocoaPods extrait 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.10.0, vous pouvez écrire la dépendance comme suit:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

Cela garantit que la dernière version 2.x.y disponible du pod TensorFlowLiteSwift est utilisée dans votre application. Si vous souhaitez dépendre des builds quotidiens, vous pouvez écrire:

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

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

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

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

Pour en savoir plus sur les différentes façons de spécifier des contraintes de version, consultez la section Spécifier les versions de pod.

Développeurs Bazel

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

Swift

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

Objective-C

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

API C/C++

Vous pouvez également 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 = [
      "//tensorflow/lite:framework",
  ],
)

Importer la bibliothèque

Pour les fichiers Swift, importez le module LiteRT:

import TensorFlowLite

Pour les fichiers Objective-C, importez l'en-tête générique:

#import "TFLTensorFlowLite.h"

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

@import TFLTensorFlowLite;