iOS クイックスタート

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

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

TensorFlow Lite は、SwiftObjective-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 バージョンと最新のナイトリー リリース以降では、バイナリサイズを削減するために、デフォルトで GPUCore 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;