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;