このページでは、TensorFlow Lite モデル形式に変換する目的で TensorFlow モデルを構築するためのガイダンスを提供します。 TensorFlow Lite で使用する機械学習 (ML) モデルは、もともと TensorFlow コア ライブラリとツールを使用して構築およびトレーニングされています。 TensorFlow コアを使用してモデルを構築したら、それを TensorFlow Lite モデルと呼ばれるより小さく効率的な ML モデル形式に変換できます。
変換するモデルが既にある場合は、モデルの変換に関するガイダンスについて、モデルの変換の概要ページを参照してください。
ゼロから始めるのではなく、既存のモデルを変更する場合は、モデルの変更の概要に関するガイダンスを参照してください。
モデルの構築
特定のユース ケース用のカスタム モデルを構築している場合は、TensorFlow モデルの開発とトレーニング、または既存のモデルの拡張から始める必要があります。
モデル設計の制約
モデル開発プロセスを開始する前に、TensorFlow Lite モデルの制約を認識し、これらの制約を念頭に置いてモデルを構築する必要があります。
- コンピューティング能力の制限- 複数の CPU、大容量のメモリ、および GPU や TPU などの特殊なプロセッサを備えたフル装備のサーバーと比較すると、モバイル デバイスやエッジ デバイスははるかに制限されています。コンピューティング能力と特殊なハードウェアの互換性は向上していますが、それらで効果的に処理できるモデルとデータは依然として比較的限られています。
- モデルのサイズ - モデルの全体的な複雑さ (データ前処理ロジックやモデル内のレイヤー数など) により、モデルのメモリ内サイズが増加します。大規模なモデルは、実行速度が許容できないほど遅くなるか、モバイル デバイスまたはエッジ デバイスの使用可能なメモリに収まらない可能性があります。
- データのサイズ - 機械学習モデルで効果的に処理できる入力データのサイズは、モバイル デバイスまたはエッジ デバイスでは制限されます。言語ライブラリ、画像ライブラリ、ビデオ クリップ ライブラリなどの大規模なデータ ライブラリを使用するモデルは、これらのデバイスに適合しない可能性があり、デバイス外のストレージおよびアクセス ソリューションが必要になる場合があります。
- サポートされている TensorFlow 操作- TensorFlow Lite ランタイム環境は、通常の TensorFlow モデルと比較して、機械学習モデル操作のサブセットをサポートしています。 TensorFlow Lite で使用するモデルを開発するときは、TensorFlow Lite ランタイム環境の機能に対するモデルの互換性を追跡する必要があります。
TensorFlow Lite の効果的で互換性のある高性能モデルの構築の詳細については、パフォーマンスのベスト プラクティスを参照してください。
モデル開発
TensorFlow Lite モデルを構築するには、まず TensorFlow コア ライブラリを使用してモデルを構築する必要があります。 TensorFlow コア ライブラリは、ML モデルを構築、トレーニング、デプロイするための API を提供する下位レベルのライブラリです。
TensorFlow はこれを行うための 2 つのパスを提供します。独自のカスタム モデル コードを開発するか、TensorFlow Model Gardenで利用可能なモデル実装から始めることができます。
モデルガーデン
TensorFlow Model Garden は、ビジョンと自然言語処理 (NLP) のための多くの最先端の機械学習 (ML) モデルの実装を提供します。また、これらのモデルを標準データセットですばやく構成して実行できるワークフロー ツールもあります。モデル ガーデンの機械学習モデルには完全なコードが含まれているため、独自のデータセットを使用してモデルをテスト、トレーニング、または再トレーニングできます。
よく知られているモデルのパフォーマンスのベンチマーク、最近発表された調査の結果の検証、または既存のモデルの拡張を検討している場合でも、モデル ガーデンは ML の目標を推進するのに役立ちます。
カスタムモデル
ユース ケースが Model Garden のモデルでサポートされているものと異なる場合は、 Kerasなどの高レベル ライブラリを使用して、カスタム トレーニング コードを開発できます。 TensorFlow の基礎を学ぶには、 TensorFlow ガイドを参照してください。例を始めるには、 TensorFlow チュートリアルの概要を参照してください。これには、初心者からエキスパート レベルのチュートリアルへのポインタが含まれています。
モデル評価
モデルを開発したら、そのパフォーマンスを評価し、エンド ユーザー デバイスでテストする必要があります。 TensorFlow はこれを行うためのいくつかの方法を提供します。
- TensorBoardは、機械学習ワークフロー中に必要な測定と視覚化を提供するためのツールです。損失や精度などの実験メトリクスの追跡、モデル グラフの視覚化、埋め込みの低次元空間への投影などを可能にします。
- ベンチマーク ツールは、Android ベンチマーク アプリや iOS ベンチマーク アプリなど、サポートされているプラットフォームごとに利用できます。これらのツールを使用して、重要なパフォーマンス メトリックの統計を測定および計算します。
モデルの最適化
TensorFlow Lite モデルに固有のリソースに関する制約により、モデルの最適化は、モデルのパフォーマンスを良好に保ち、使用するコンピューティング リソースを少なくするのに役立ちます。機械学習モデルのパフォーマンスは、通常、推論のサイズと速度と精度のバランスです。 TensorFlow Lite は現在、量子化、枝刈り、クラスタリングによる最適化をサポートしています。これらの手法の詳細については、モデルの最適化のトピックを参照してください。 TensorFlow は、これらの手法を実装する API を提供するモデル最適化ツールキットも提供します。
次のステップ
- カスタム モデルの構築を開始するには、TensorFlow コア ドキュメントの初心者向けクイック スタートチュートリアルを参照してください。
- カスタム TensorFlow モデルを変換するには、モデルの変換の概要を参照してください。
- モデルが TensorFlow Lite と互換性があるかどうか、または互換性を持たせるために追加の手順を実行する必要があるかどうかを判断するには、オペレーター互換性ガイドを参照してください。
- TensorFlow Lite モデルを効率的かつ高性能にするためのガイダンスについては、パフォーマンスのベスト プラクティス ガイドを参照してください。
- ベンチマーク ツールを使用してモデルのパフォーマンスを測定する方法については、パフォーマンス メトリック ガイドを参照してください。