iOS 版快速入门

借助 LiteRT,您可以在 iOS 应用中运行 TensorFlow、PyTorch 和 JAX 模型。LiteRT 系统提供预构建且可自定义的执行环境,可快速高效地在 iOS 上运行模型,并提供额外的版本管理灵活性,以及 coreML 和 Metal 等可选代理以提升性能。

例如,使用 LiteRT 的 iOS 应用,请参阅 LiteRT 示例代码库。

将 LiteRT 添加到您的 Swift 或 Objective-C 项目

LiteRT 提供以 SwiftObjective-C 编写的原生 iOS 库。

以下部分演示了如何将 LiteRT Swift 或 Objective-C 添加到您的项目中:

CocoaPods 开发者

Podfile 中,添加 LiteRT pod。然后,运行 pod install

Swift

use_frameworks!
pod 'TensorFlowLiteSwift'

Objective-C

pod 'TensorFlowLiteObjC'

指定版本

TensorFlowLiteSwiftTensorFlowLiteObjC pod 都提供稳定版和夜间版。如果您未指定版本约束条件(如上例所示),CocoaPods 将默认拉取最新的稳定版。

您还可以指定版本约束条件。例如,如果您希望依赖于版本 2.10.0,可以将依赖项编写为:

pod 'TensorFlowLiteSwift', '~> 2.10.0'

这将确保应用中使用的是最新的 2.x.y 版 TensorFlowLiteSwift pod。或者,如果您想依赖于每夜 build,可以编写以下代码:

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

从 2.4.0 版和最新的每夜版本开始,系统会默认从 pod 中排除 GPUCore ML 代理,以减小二进制文件大小。您可以通过指定子规范来添加它们:

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

这样,您就可以使用 LiteRT 中新增的最新功能。请注意,在您首次运行 pod install 命令时创建 Podfile.lock 文件后,每夜库版本将锁定为当前日期的版本。如果您想将每夜库更新为较新版本,则应运行 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

或者,您也可以使用 C APIC++ 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;