iOS クイックスタート

iOS で TensorFlow Lite を使い始めるには、次の例をご覧ください。

iOS 画像分類の例

ソースコードの説明については、TensorFlow Lite iOS 画像分類もあわせてお読みください。

このサンプルアプリは、画像分類を使用して、デバイスの背面カメラに取り込まれるものを継続的に分類し、最も確率の高い分類を表示します。ユーザーは、浮動小数点または量子化モデルを選択し、推論を実行するスレッド数を選択できます。

注意: さまざまなユースケースで TensorFlow Lite を実演するその他の iOS アプリは、をご覧ください。

TensorFlow Lite を Swift または Objective-C プロジェクトに追加する

TensorFlow Lite は、SwiftObjective-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 モジュールのインポートする場合は、Podfileuse_frameworks! も含める必要があります。