Mit LiteRT können Sie TensorFlow-, PyTorch- und JAX-Modelle in Ihren iOS-Apps ausführen. Das LiteRT-System bietet vorkonfigurierte und anpassbare Ausführungsumgebungen, mit denen Modelle auf iOS-Geräten schnell und effizient ausgeführt werden können. Es bietet zusätzliche Flexibilität bei der Versionsverwaltung und optionale Delegaten wie coreML und Metal für eine bessere Leistung.
Beispielsweise finden Sie im Repository LiteRT-Beispiele Informationen zu iOS-Anwendungen, die LiteRT verwenden.
LiteRT zu einem Swift- oder Objective-C-Projekt hinzufügen
LiteRT bietet native iOS-Bibliotheken, die in Swift und Objective-C geschrieben sind.
In den folgenden Abschnitten wird gezeigt, wie Sie Ihrem Projekt LiteRT Swift oder Objective-C hinzufügen:
CocoaPods-Entwickler
Fügen Sie in Podfile
den LiteRT-Pod hinzu. Führen Sie dann pod install
aus.
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
Versionen angeben
Sowohl für TensorFlowLiteSwift
- als auch für TensorFlowLiteObjC
-Pods sind stabile Releases und tägliche Releases verfügbar. Wenn Sie keine Versionsbeschränkung wie in den obigen Beispielen angeben, lädt CocoaPods standardmäßig die neueste stabile Version herunter.
Sie können auch eine Versionsbeschränkung angeben. Wenn Sie beispielsweise auf Version 2.10.0 angewiesen sind, können Sie die Abhängigkeit so schreiben:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
Dadurch wird sichergestellt, dass in Ihrer App die neueste verfügbare 2.x.y-Version des TensorFlowLiteSwift
-Pods verwendet wird. Wenn Sie stattdessen die nächtlichen Builds verwenden möchten, können Sie Folgendes schreiben:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
Ab Version 2.4.0 und den neuesten Nightly-Releases werden GPU und Core ML-Delegierte standardmäßig aus dem Pod ausgeschlossen, um die Binärgröße zu reduzieren. Sie können sie einschließen, indem Sie „subspec“ angeben:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
So können Sie die neuesten Funktionen nutzen, die LiteRT hinzugefügt wurden. Hinweis: Nachdem die Datei Podfile.lock
beim ersten Ausführen des Befehls pod install
erstellt wurde, wird die Version der Nachtbibliothek auf die Version des aktuellen Datums gesperrt. Wenn Sie die Nightly-Bibliothek auf die neuere Version aktualisieren möchten, sollten Sie den Befehl pod update
ausführen.
Weitere Informationen zu den verschiedenen Möglichkeiten zum Festlegen von Versionsbeschränkungen finden Sie unter Podversionen angeben.
Bazel-Entwickler
Fügen Sie in der Datei BUILD
dem Ziel die Abhängigkeit TensorFlowLite
hinzu.
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
C/C++ API
Alternativ können Sie die C API oder die C++ API verwenden.
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//tensorflow/lite:framework",
],
)
Bibliothek importieren
Importieren Sie für Swift-Dateien das LiteRT-Modul:
import TensorFlowLite
Importieren Sie für Objective-C-Dateien den übergeordneten Header:
#import "TFLTensorFlowLite.h"
Oder das Modul, wenn Sie CLANG_ENABLE_MODULES = YES
in Ihrem Xcode-Projekt festgelegt haben:
@import TFLTensorFlowLite;