iOS で TensorFlow Lite を使い始めるには、次の例をご覧ください。
ソースコードの説明については、TensorFlow Lite iOS 画像分類もあわせてお読みください。
このサンプルアプリは、画像分類を使用して、デバイスの背面カメラに取り込まれるものを継続的に分類し、最も確率の高い分類を表示します。ユーザーは、浮動小数点または量子化モデルを選択し、推論を実行するスレッド数を選択できます。
注意: さまざまなユースケースで TensorFlow Lite を実演するその他の iOS アプリは、例をご覧ください。
TensorFlow Lite を Swift または Objective-C プロジェクトに追加する
TensorFlow Lite は、Swift と Objective-C で記述されたネイティブの iOS ライブラリを提供しています。出発点として、Swift 画像分類の例を使用して、独自の iOS コードを記述してみましょう。
次のセクションでは、TensorFlow Lite Swift または Objective-C をプロジェクトに追加する方法を実演しています。
CocoaPods 開発者
Podfile
で、TensorFlow Lite ポッドを追加し、pod install
を実行します。
Swift
use_frameworks!
pod 'TensorFlowLiteSwift'
Objective-C
pod 'TensorFlowLiteObjC'
バージョンを指定する
TensorFlowLiteSwift
および TensorFlowLiteObjC
ポッドには安定リリースとナイトリーリリースがあります。上記の例のようにバージョン制約を指定しない場合、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 'TensorFlowLiteSwift', '~> 0.0.1-nightly', :subspecs => ['CoreML', 'Metal']
このようにすると、TensorFlow Lite に追加される最新の機能を使用できるようになります。pod install
コマンドを初めて実行したときに Podfile.lock
ファイルが作成されると、ナイトリーライブラリバージョンはその時点の日付のバージョンにロックされるので注意してください。ナイトリーライブラリを最新のものに更新する場合は、pod update
コマンドを実行する必要があります。
バージョン制約のさまざまな指定方法については、ポッドバージョンを指定するをご覧ください。
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;
注意: CocoaPods 開発者が、Objective-C TensorFlow Lite モジュールのインポートする場合は、Podfile
に use_frameworks!
も含める必要があります。