您可以使用 LiteRT 在 iOS 應用程式中執行 TensorFlow、PyTorch 和 JAX 模型。LiteRT 系統提供預先建構且可自訂的執行環境,可在 iOS 上快速且有效率地執行模型,並提供額外的版本管理彈性,以及可選的委派函記錄,例如 coreML 和 Metal,以提升效能。
例如使用 LiteRT 的 iOS 應用程式,請參閱 LiteRT 範例存放區。
將 LiteRT 新增至 Swift 或 Objective-C 專案
LiteRT 提供以 Swift 和 Objective-C 編寫的原生 iOS 程式庫。
以下各節將說明如何將 LiteRT Swift 或 Objective-C 新增至專案:
CocoaPods 開發人員
在 Podfile
中新增 LiteRT Pod。接著執行 pod install
。
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
指定版本
TensorFlowLiteSwift
和 TensorFlowLiteObjC
的 Pod 都提供穩定版和每晚版。如果您未指定版本限制 (如上方範例所示),CocoaPods 會預設提取最新穩定版本。
您也可以指定版本限制。舉例來說,如果您想依附 2.10.0 版,可以將依附元件寫成以下形式:
pod 'TensorFlowLiteSwift', '~> 2.10.0'
這樣可確保應用程式使用 TensorFlowLiteSwift
的最新 2.x.y 版。如果您想依附每日版本,也可以編寫以下內容:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly'
從 2.4.0 版和最新的夜間版本開始,系統會預設將 GPU 和 Core ML 委派程式庫排除在 Pod 之外,以縮減二進位檔大小。您可以透過指定子規格加入這些項目:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
這樣一來,您就能使用 LiteRT 新增的最新功能。請注意,第一次執行 pod install
指令時,系統會建立 Podfile.lock
檔案,並將每日程式庫版本鎖定為目前日期的版本。如要將 nightly 程式庫更新為較新的程式庫,請執行 pod update
指令。
如要進一步瞭解如何指定版本限制,請參閱「指定 Pod 版本」。
Bazel 開發人員
在 BUILD
檔案中,將 TensorFlowLite
依附元件新增至目標。
Swift
swift_library(
deps = [
"//tensorflow/lite/swift:TensorFlowLite",
],
)
Objective-C
objc_library(
deps = [
"//tensorflow/lite/objc:TensorFlowLite",
],
)
C/C++ API
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//tensorflow/lite:framework",
],
)
匯入程式庫
如果是 Swift 檔案,請匯入 LiteRT 模組:
import TensorFlowLite
如果是 Objective-C 檔案,請匯入總標頭:
#import "TFLTensorFlowLite.h"
或者,如果您在 Xcode 專案中設定 CLANG_ENABLE_MODULES = YES
,則為模組:
@import TFLTensorFlowLite;