Custom Vision からエクスポートされた ONNX モデルを Windows ML (プレビュー) で使用する
Custom Vision Service からエクスポートされた ONNX モデルを Windows ML (プレビュー) で使用する方法について説明します。
このガイドでは、Custom Vision Service からエクスポートされた ONNX ファイルを Windows ML で使用する方法について説明します。 トレーニングされた独自の画像分類器で、サンプルの UWP アプリケーションを使用します。
前提条件
- Windows 10 バージョン 1809 以降
- ビルド 17763 以降の Windows SDK
- Visual Studio 2017 バージョン 15.7 以降がインストールされ、 ユニバーサル Windows プラットフォーム開発 ワークロードが有効にされている。
- PC の開発者モードが有効にされている。 詳細については、「デバイスを開発用に有効にする」を参照してください。
サンプル アプリについて
含まれているアプリケーションは汎用 Windows UWP アプリケーションです。 これにより、コンピューターから画像を選択し、ローカルに保存された分類モデルで処理できるようになります。 モデルから返されたタグとスコアは、イメージの横に表示されます。
サンプル コードを入手する
このサンプル アプリケーションは、GitHub の Azure AI サービス ONNX Custom Vision サンプル リポジトリで入手できます。 それをローカル コンピューターに複製し、Visual Studio で SampleOnnxEvaluationApp.sln を開きます。
アプリケーションをテストする
- Visual Studio で
F5
キーを押すと、アプリケーションが起動します。 開発者モードを有効にするよう求めるメッセージが表示される場合があります。 - アプリケーションの起動時に、ボタンを使用してスコア付け用のイメージを選択します。 既定の ONNX モデルは、さまざまな種類のプランクトンを分類するようトレーニングされています。
自分で用意したモデルを使用する
独自の画像分類モデルを使用するには、次の手順を実行します。
- Custom Vision Service を使用して分類器を作成してトレーニングします。 この方法の手順については、分類器を作成してトレーニングする方法に関する記事を参照してください。 [全般 (コンパクト)] などのコンパクト ドメインのいずれかを使用します。
- 別のドメインを使用する分類器が既に存在する場合は、プロジェクト設定でコンパクトに変換できます。 次に、プロジェクトを再トレーニングしてから続行します。
- モデルをエクスポートします。 [パフォーマンス] タブに切り替えて、コンパクト ドメインでトレーニングされたイテレーションを選択します。 表示される [エクスポート] ボタンを選択します。 次に、 [ONNX] を選択してから [エクスポート] を選択します。 ファイルの準備ができたら、 [ダウンロード] ボタンを選択します。 エクスポート オプションの詳細については、モデルのエクスポートに関する記事を参照してください。
- ダウンロードした .zip ファイルを開き、そこから model.onnx ファイルを抽出します。 このファイルには、独自の分類モデルが含まれています。
- Visual Studio のソリューション エクスプローラーで、 [Assets] フォルダーを右クリックし、 [既存項目の追加] を選択します。 ONNX ファイルを選択します。
- ソリューション エクスプローラーで、ONNX ファイルを右クリックし、 [プロパティ] を選択します。 ファイルの以下のプロパティを変更します。
- [ビルド アクション] ->[コンテンツ]
- [出力ディレクトリにコピー] ->[新しい場合はコピーする]
- 次に、MainPage.xaml.cs を開き、
_ourOnnxFileName
の値を ONNX ファイルの名前に変更します。 - プロジェクトをビルドして実行するには、
F5
を使用します。 - ボタンを選択して、評価するイメージを選択します。
次のステップ
Custom Vision モデルをエクスポートして使用する別の方法については、次のドキュメントを参照してください。
- モデルをエクスポートする
- エクスポートされた Tensorflow モデルを Android アプリケーションで使用する
- エクスポートされた CoreML モデルを Swift iOS アプリケーションで使用する
- エクスポートされた CoreML モデルを Xamarin を使って iOS アプリケーションで使用する
Windows ML で ONNX モデルを使用する方法については、「Windows ML でモデルをアプリに統合する」を参照してください。