此示例应用使用图片分类对通过设备的后置摄像头看到的任何内容持续进行分类,并显示概率最高的分类。它允许用户在浮点模型或量化模型之间进行选择,以及选择要用于执行推断的线程数量。
将 TensorFlow Lite 添加到您的 Swift 或 Objective-C 项目中
TensorFlow Lite 提供使用 Swift 和 Objective-C 编写的原生 iOS 库。
以下部分演示了如何将 TensorFlow Lite Swift 或 Objective-C 添加到项目中:
CocoaPods 开发者
在您的 Podfile
中,添加 TensorFlow Lite pod。然后,运行 pod install
。
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
指定版本
对于 TensorFlowLiteSwift
和 TensorFlowLiteObjC
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 中排除 GPU 和 Core ML 代理,以缩减二进制文件的大小。您可以通过指定 subspec 来包含这些规范:
pod 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
这样,您就可以使用 TensorFlow Lite 中添加的最新功能。请注意,首次运行 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
# Using C API directly
objc_library(
deps = [
"//tensorflow/lite/c:c_api",
],
)
# Using C++ API directly
objc_library(
deps = [
"//tensorflow/lite:framework",
],
)
导入库
对于 Swift 文件,请导入 TensorFlow Lite 模块:
import TensorFlowLite
对于 Objective-C 文件,请导入伞形头文件:
#import "TFLTensorFlowLite.h"
或者,如果您在 Xcode 项目中设置了 CLANG_ENABLE_MODULES = YES
,则该模块如下所示:
@import TFLTensorFlowLite;