Guida rapida per iOS

LiteRT ti consente di eseguire modelli TensorFlow, PyTorch e JAX nelle tue app per iOS. Il sistema LiteRT fornisce ambienti di esecuzione predefiniti e personalizzabili per eseguire modelli su iOS in modo rapido ed efficiente, con una maggiore flessibilità per la gestione delle versioni e delegati facoltativi come coreML e Metal per prestazioni migliorate.

Ad esempio, le applicazioni per iOS che utilizzano LiteRT, consulta il repository Samples LiteRT.

Aggiungere LiteRT al progetto Swift o Objective-C

LiteRT offre librerie iOS native scritte in Swift e Objective-C.

Le sezioni seguenti mostrano come aggiungere LiteRT Swift o Objective-C al tuo progetto:

Sviluppatori di CocoaPods

In Podfile, aggiungi il pod LiteRT. Poi esegui pod install.

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

Specifica delle versioni

Esistono release stabili e release giornaliere disponibili sia per i pod TensorFlowLiteSwift sia per i pod TensorFlowLiteObjC. Se non specifichi un vincolo di versione come negli esempi precedenti, CocoaPods estrarrà per impostazione predefinita la release stabile più recente.

Puoi anche specificare una limitazione della versione. Ad esempio, se vuoi fare affidamento sulla versione 2.10.0, puoi scrivere la dipendenza come segue:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

In questo modo, nella tua app verrà utilizzata la versione 2.x.y più recente del pod TensorFlowLiteSwift. In alternativa, se vuoi fare affidamento sulle build notturne, puoi scrivere:

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

Dalla versione 2.4.0 e dalle release nightly più recenti, per impostazione predefinita GPU e Core ML delegates sono escluse dal pod per ridurre le dimensioni del file binario. Puoi includerli specificando subspec:

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

In questo modo potrai utilizzare le ultime funzionalità aggiunte a LiteRT. Tieni presente che, una volta creato il file Podfile.lock quando esegui il comando pod install per la prima volta, la versione della libreria notturna verrà bloccata nella versione della data corrente. Se vuoi aggiornare la libreria notturna a quella più recente, devi eseguire il comando pod update.

Per ulteriori informazioni sui diversi modi per specificare i vincoli di versione, consulta Specifica delle versioni del pod.

Sviluppatori Bazel

Nel file BUILD, aggiungi la dipendenza TensorFlowLite al target.

Swift

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

Objective-C

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

API C/C++

In alternativa, puoi utilizzare l'API C o 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",
  ],
)

Importa la libreria

Per i file Swift, importa il modulo LiteRT:

import TensorFlowLite

Per i file Objective-C, importa l'intestazione ombrello:

#import "TFLTensorFlowLite.h"

In alternativa, il modulo se imposti CLANG_ENABLE_MODULES = YES nel progetto Xcode:

@import TFLTensorFlowLite;