このサンプルアプリでは、画像分類を使用して、デバイスの背面カメラから見えるものを継続的に分類し、最も確率が高い分類を表示します。浮動小数点モデルまたは量子化モデルを選択し、推論を実行するスレッド数を選択できます。
Swift または Objective-C のプロジェクトに TensorFlow Lite を追加する
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
Pod と TensorFlowLiteObjC
Pod の両方に、安定版リリースとナイトリー リリースがあります。上記の例のようにバージョンの制約を指定しない場合、CocoaPods はデフォルトで最新の安定版を pull します。
バージョンの制約を指定することもできます。たとえば、バージョン 2.10.0 に依存する場合は、依存関係を次のように記述します。
pod 'TensorFlowLiteSwift', '~> 2.10.0'
これにより、TensorFlowLiteSwift
Pod の利用可能な最新の 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']
これにより、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
別の方法として、C API または 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;