このガイドでは、Azure Custom Vision サービスを使用して、ニューラル ネットワーク モデルをトレーニングして食品の画像を分類する方法について説明します。モデルを ONNX 形式にエクスポートする。Windows デバイスでローカルに実行されている Windows Machine Learning (Windows ML) アプリケーションにモデルをデプロイします。 機械学習に関する以前の専門知識は必要ありません。 プロセスを順を追って説明します。
Custom Vision を使用してモデルを構築およびトレーニングする方法を学習する場合は、「 モデルのトレーニング」に進むことができます。
モデルがあり、Windows ML アプリを最初から作成する方法を学習したい場合は、 Windows ML アプリの完全なチュートリアルを参照してください。
Windows ML アプリ用の既存の Visual Studio プロジェクトから開始する場合は、 Custom Vision と Windows ML のチュートリアル サンプル アプリを複製し、それを出発点として使用できます。
シナリオ
このチュートリアルでは、Windows デバイスで実行される機械学習食品分類アプリケーションを作成します。 モデルは、食品の画像を分類する特定の種類のパターンを認識するようにトレーニングされ、画像が与えられると、分類タグと、その分類の関連するパーセンテージ信頼値が返されます。
モデル トレーニングの前提条件
モデルを構築してトレーニングするには、Azure Custom Vision サービスのサブスクリプションが必要です。
Azure を初めて使用する場合は、 Azure 無料アカウントにサインアップできます。 これで、Azure AI を使用して機械学習モデルを構築、トレーニング、デプロイする機会が得られます。
ヒント
Azure サインアップ オプションと Azure 無料アカウントの詳細については、ご興味をお持ちですか? 次に、「 Azure アカウントを作成する」を参照してください。
Windows ML アプリの展開の前提条件
Windows ML アプリを作成してデプロイするには、次のものが必要です。
- Windows 10 バージョン 1809 (ビルド 17763) 以降。
winver
] コマンド (Windows ロゴ キー + R) を使用してを実行することで、ビルドのバージョン番号を確認できます。 - ビルド 17763 以降の Windows SDK。 ダウンロードするには、 Windows SDK を参照してください。
- Visual Studio 2017 バージョン 15.7 以降。ただし、Visual Studio 2022 以降を使用することをお勧めします。 このチュートリアルの一部のスクリーンショットは、表示される UI とは異なる場合があります。 Visual Studio をダウンロードするには、「 Windows 開発用のダウンロードとツール」を参照してください。
- Windows ML Code Generator (
mlgen
) Visual Studio 拡張機能。 Visual Studio 2019 以降またはVisual Studio 2017 用にダウンロードします。 - ユニバーサル Windows プラットフォーム (UWP) アプリを作成する場合は、Visual Studio でユニバーサル Windows プラットフォーム開発ワークロードを有効にする必要があります。
- PC で開発者モードを有効にする - 「 デバイスを開発用に有効にする」を参照してください。
注
Windows ML API は、最新バージョンの Windows 10 (1809 以降) と Windows Server 2019 に組み込まれています。 ターゲット プラットフォームが古いバージョンの Windows の場合は、 Windows ML アプリを再頒布可能 NuGet パッケージ (Windows 8.1 以降) に移植できます。
データを準備する
機械学習モデルは、既存のデータでトレーニングする必要があります。 このガイドでは、Kaggle Open Datasets の食品画像のデータセットを使用します。 そのデータセットは、パブリック ドメイン ライセンスで配布されます。
重要
このデータセットを使用するには、Kaggle サイトの使用条件と、 Food-11
データセット自体に付随するライセンス条項に従う必要があります。 Microsoft は、サイトまたはこのデータセットに関して一切の保証または表明を行いません。
データセットには、評価、トレーニング、検証という 3 つの分割があり、11 の主要な食品カテゴリにグループ化された 16,643 個の食品画像が含まれています。 食品の各カテゴリのデータセット内の画像は個別のフォルダーに配置されるため、モデルのトレーニング プロセスがより便利になります。
Food-11 イメージ データセットからデータセットをダウンロードします。 データセットのサイズは約 1 GB で、Kaggle Web サイトでアカウントを作成してデータをダウンロードするように求められる場合があります。
必要に応じて、関連する画像の他のデータセットを使用することもできます。 少なくとも、最初のトレーニング セットでは、タグごとに少なくとも 30 個の画像を使用することをお勧めします。 また、トレーニング後にモデルをテストするために、いくつかの追加の画像を収集する必要があります。
さらに、すべてのトレーニング イメージが次の条件を満たしていることを確認します。
-
.jpg
、.png
、.bmp
、または.gif
形式。 - サイズが 6 MB 以下 (予測画像の場合は 4 MB)。
- 最短エッジで 256 ピクセル以下。これより短い画像は、Custom Vision Service によって自動的にスケールアップされます。
次のステップ
前提条件を整理し、データセットを準備したので、Windows ML モデルの作成に進むことができます。 次のパート (Custom Vision を使用してモデルをトレーニングする) では、Web ベースの Custom Vision インターフェイスを使用して分類モデルを作成し、トレーニングします。