Custom Vision からエクスポートされた 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 を開きます。

アプリケーションをテストする

  1. Visual Studio で F5 キーを押すと、アプリケーションが起動します。 開発者モードを有効にするよう求めるメッセージが表示される場合があります。
  2. アプリケーションの起動時に、ボタンを使用してスコア付け用のイメージを選択します。 既定の ONNX モデルは、さまざまな種類のプランクトンを分類するようトレーニングされています。

自分で用意したモデルを使用する

独自の画像分類モデルを使用するには、次の手順を実行します。

  1. Custom Vision Service を使用して分類器を作成してトレーニングします。 この方法の手順については、分類器を作成してトレーニングする方法に関する記事を参照してください。 [全般 (コンパクト)] などのコンパクト ドメインのいずれかを使用します。
    • 別のドメインを使用する分類器が既に存在する場合は、プロジェクト設定でコンパクトに変換できます。 次に、プロジェクトを再トレーニングしてから続行します。
  2. モデルをエクスポートします。 [パフォーマンス] タブに切り替えて、コンパクト ドメインでトレーニングされたイテレーションを選択します。 表示される [エクスポート] ボタンを選択します。 次に、 [ONNX] を選択してから [エクスポート] を選択します。 ファイルの準備ができたら、 [ダウンロード] ボタンを選択します。 エクスポート オプションの詳細については、モデルのエクスポートに関する記事を参照してください。
  3. ダウンロードした .zip ファイルを開き、そこから model.onnx ファイルを抽出します。 このファイルには、独自の分類モデルが含まれています。
  4. Visual Studio のソリューション エクスプローラーで、 [Assets] フォルダーを右クリックし、 [既存項目の追加] を選択します。 ONNX ファイルを選択します。
  5. ソリューション エクスプローラーで、ONNX ファイルを右クリックし、 [プロパティ] を選択します。 ファイルの以下のプロパティを変更します。
    • [ビルド アクション] ->[コンテンツ]
    • [出力ディレクトリにコピー] ->[新しい場合はコピーする]
  6. 次に、MainPage.xaml.cs を開き、_ourOnnxFileName の値を ONNX ファイルの名前に変更します。
  7. プロジェクトをビルドして実行するには、F5 を使用します。
  8. ボタンを選択して、評価するイメージを選択します。

次のステップ

Custom Vision モデルをエクスポートして使用する別の方法については、次のドキュメントを参照してください。

Windows ML で ONNX モデルを使用する方法については、「Windows ML でモデルをアプリに統合する」を参照してください。