maemaewaterの日記スマートフォン用の表示で見るmaemaewaterの日記PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。Platform)での機械学習で使用されるONNX形式のモデルの使い方についてです。いくつか問題になるところがありましたので、その問題点と解決方法についてになります。モデルファイルの読み込みUWPアプリケーションでは、ファイルの読み込みを行う際にはユーザーの操作(ファイルやフォルダの選択ダイアログからなど)によってなど読み込む場所が限定されています。モデルなどはAssetに入れて置き読み込むのが良いと思われますが、ML.NET(Microsoft.ML.OnnxRuntime)の場合はモデルのファイルをパスで指定するため簡単にAssetから読み込みができるようではなさそうでした。Platformがあらかじめ用意されていました。こちらを使うのが素直な感じなのですね。PlatformのWindows.AI.MachineLearningを使っていくのが良さそうです。PlatformでもONNX形式のファイルを取り扱えますが、実は問題が発生していまいました。読み込もうとしていたONNXファイルで定義されているオペレーターのバージョンが対応していないというエラーになります。以下のページにバージョンについて書かれております。github.comdocs.microsoft.comWindows.AIの方では、バージョン8までの対応となっているため、このバージョンより新しい場合には変換することで対応できます。MicrosoftのWindows.AIのページにも書かれているのですが、ONNX(https://github.com/onnx/onnx)の方で変換のライブラリが用意されています。Pythonをあらかじめインストールしておく必要がありますが、次の手順で変換が行えます(Windowsでももちろん動きます)。"model_8.onnx")ONNXを使用する例UWPのプロジェクトでAssetに変換したONNXのファイルを追加します。ここで、プロパティでビルドアクションがコンテンツになっていない場合は変更します(変更しないとファイルが見つからないというエラーになります)。次がONNXを利用するコードになります。はてなブログProPHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。読者になるはてなブログをはじめよう!maemaewaterさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。