事前に作成されたモデルは、特定の目的のためにすでにトレーニングされたモデルです。 TensorFlow.js ですぐに使用して、多くの機械学習タスクを実行できる、トレーニング済みのオープン ソース モデルが多数あります。このトピックでは、ユースケースに合わせた既製のモデルを見つけて選択する方法についてのガイダンスを提供します。
既製のモデルを使用する利点
TensorFlow.js には、あらゆるプロジェクトですぐに使用できる広範な既成モデルがあり、次のような大きな利点を提供します。
- 時間とリソースの節約: データの収集、準備、ラベル付け、モデルのトレーニング、評価、改善といった時間のかかるプロセスを回避します。アイデアのプロトタイプを迅速に作成できるようになります。
- 既存のリサーチとドキュメントの活用: 既製モデルの開発に使用される最先端のリサーチにより、現実世界のさまざまなシナリオでモデルがどのように機能するかを理解しながら、モデルを迅速に展開できます。
- 転移学習を有効にする: 事前に作成されたモデルを使用すると、モデルによって学習された情報を別の同様のユースケースのタスクに使用できます。この転移学習プロセスにより、カスタム データで既存のモデルを迅速にトレーニングできるようになります。
モデルを探す
自分のユースケースに適した既存の TensorFlow.js モデルを見つけることは、何を達成しようとしているかによって異なります。たとえば、アプリはクライアント側で実行する必要がありますか、それともサーバー側で実行する必要がありますか?プライバシー、速度、正確さなどの要素はどの程度重要ですか?等
TensorFlow.js で使用するモデルを見つけるための推奨される方法をいくつか紹介します。
例: TensorFlow.js でモデルを見つけて使用を開始する最も速い方法は、 TensorFlow.js のデモセクションを参照して、ユースケースと同様のタスクを実行するデモを見つけることです。このカタログには、開始に役立つコードへのリンク付きの楽しい使用例が含まれています。
データ入力タイプ別:ユースケースに似た例を調べる以外に、独自に使用するモデルを見つけるもう 1 つの方法は、音声、テキスト、画像など、処理するデータのタイプを考慮することです。機械学習モデルは、これらのタイプのデータのいずれかを使用するように設計されていることが多いため、使用したいデータタイプを処理するモデルを探すと、検討すべきモデルを絞り込むのに役立ちます。 TensorFlow.js モデルセクションで一般的なユースケースに基づいて TensorFlow.js モデルの閲覧を開始したり、 TensorFlow Hubでより大きなモデルのセットを閲覧したりできます。 TensorFlow Hub では、問題ドメインフィルターを使用してモデル データ タイプを表示し、リストを絞り込むことができます。
次のリストは、一般的な使用例のTensorFlow Hub上の TensorFlow.js モデルへのリンクです。
類似したモデルの中からお選びください
アプリケーションが画像分類やオブジェクト検出などの一般的なユースケースに従っている場合は、ニーズに合った複数の TensorFlow.js モデルが見つかる可能性があります。自分のユースケースに適用できるモデルをいくつか用意したら、最適なソリューションを提供するモデルを特定する必要があります。これを行うには、各モデルの次の側面を考慮してください。
- 推論速度
- ファイルサイズ
- ランタイムRAM使用量
- モデルの特徴/能力
多数のモデルの中から選択する場合は、まずモデルのサイズ、データのサイズ、推論速度、精度などの最も限定的な制約に基づいてオプションを絞り込むことができます。
最も制限的な制約が何かわからない場合は、それがモデルのサイズであると想定し、利用可能な最小のモデルを選択してください。小規模なモデルを選択すると、モデルを適切にデプロイして実行できる場所に関して最も柔軟性が得られます。また、モデルが小さいほど推論が速くなり、予測が速くなるとエンド ユーザー エクスペリエンスも向上します。ただし、通常、モデルが小さいほど精度が低いため、予測精度が主な関心事である場合は、より大きなモデルを選択する必要がある場合があります。
モデルのソース
TensorFlow.js の事前に作成されたモデルは、通常 2 つの形式で利用できます。公式モデルは JavaScript クラスでラップされているため、アプリへのデプロイが簡単になります。他のものは生の形式であり、入力データと出力データを前処理/後処理するために追加のコードが必要になる場合があります。
TensorFlow.js で使用するモデルを検索および選択するための最初の宛先として、TensorFlow.js モデルを使用します。これらは TensorFlow.js チームによって提供される公式モデルであり、コードへの統合を容易にする JavaScript ラッパーがすでに含まれています。 TensorFlow Hubサイトでは追加のモデルが提供されています。ハブ内のモデルは生の形式である場合があり、統合するには追加の作業が必要になることに注意してください。
TensorFlow モデル
通常の TensorFlow モデルを TensorFlow.js 形式に変換することが可能です。モデルの変換の詳細については、 「モデル変換」トピックを参照してください。 TensorFlow モデルは、TensorFlow HubおよびTensorFlow Model Gardenで見つけることができます。
さらに読む
- すぐに使用できるモデルを見つける場所がわかったので、 React ネイティブチュートリアルを参照して、Web アプリでそのようなモデルを使用する方法を学びましょう。