みなさん、機械学習してますか? 私はボチボチしています。
機械学習をしていると、作ったモデルを別のフレームワーク上に持っていきたいなって思うことがありませんか? ありますよね。そう、あるんです。
そこで、今回はAzure Machine Learningで、他のフレームワークで作られたモデルを管理したいと思います。
Azure Machine Learningでモデル管理すると、ML Opsを構築するときに考えることが減りますし、なによりあっちこっちでモデル管理をするってことがなくなるのでおすすめです。
使うサービスは「Azure Machine Learning」と「Custom Vision」です。Custom Visionで作ったモデルをAzure Machine Learningで管理したいと思います。
まずは「Custom Vision」で写真を識別するモデルを作ります。ポータルでCustom Visionの準備をします。
Custom Visionを作ったら、リソースに移動して、Custom Visionポータルへのリンクをクリックします。
Custom Visionポータルに移動したら、プロジェクトを新しく作ります。そのときに、Domainsだけは「(compact)」にしてください。(compact)にしてあると作成したモデルをエクスポートできるようになります。
今回は蕎麦の画像から蕎麦屋を判別するものをつくりますので、インターネットから富士そばの画像とゆで太郎の画像を10枚ずつかき集めてきました。インターネットって便利ですね。
トレーニングを行なうと、蕎麦の画像から店名を予測するモデルができあがります。本来であれば作成したモデルの精度などを確認して、追加学習させたりするのですが、今回は予測精度に重きを置いていないのでしません。
そして、作成したモデルをエクスポートします。いくつかの形式でエクスポートできますが、今回はONNXという形式にしましょう。
選択するとzipファイルがダウンロードされます。解凍する必要はありません。
ONNXはモデルを様々なフレームワークで利用するための共通規格のようなもので、今回行なうAzure Machine Learningはもちろん、TensorFlowやPyTorchにも対応しています。詳しくは知りたい場合は公式のGithubを読みましょう。
https://github.com/onnx/tutorials
次にAzure Machine Learningのリソースを作成し、管理画面に移動します。リソースの作成方法は過去の記事参考にしてください。
ONNXのモデルを登録していきます。「モデル」に移動します。
モデルの登録をしていきます。「モデル フレームワーク」でONNXを指定して、「ファイルのアップロード」で先ほどダウンロードしたzipファイルを指定します。
モデルの登録が完了すると、Azure Machine Learningで作成したモデルと同様に扱うことができます。「デプロイ」を押せばAKSやACIにデプロイすることもできます。
今回はここまでです。ぜひ皆さんも各フレームワークで作ったモデルをAzure Machine Learningで管理してみてください。
山本 和貴/FIXER
MLの本とか書いてます。
[転載元]
Custom Visionで作ったモデルをAzure Machine Learningで管理しよう #Azureリレー