Azure Machine Learning Sample Bug

こんにちは、上坂です。
そういえばなぜかAzure Machine Learningについてまったく記事を書いていなかったのでぼちぼち書いていこうと思います。

2015年3月にAzure Machine Learningはトレーニングしたモデルを別のデータを使って再トレーニングできるAPIを公開しました。
公式の説明はこちらです。

プログラムによる Machine Learning のモデルの再トレーニング

このドキュメントに従って設定していけば、再トレーニングまでのバッチ処理の流れは理解できると思います。手順7にて、追加のエンドポイントに公開されるトレーニング済みモデル更新用のAPIを叩くところの解説があるのですが、ドキュメントではここでいきなりC#のコードの画像(!)が出てきます。

C#コード画像 

このC#コードの画像から写経して実装するのは勝手が悪いので、ほとんどの方は管理ポータルで追加したエンドポイントを開くと表示される、「リソースの更新」というリンクをクリックして、そこに記載されたサンプルコードを利用されているかと思います。


リソースの更新

でも、このサンプルコード、一か所間違えているんです。

場所はここ、RESTで更新リクエストを投げるときのBODYのサンプルです。

サンプルコード画像

ここでは

"Id" : = "MyExperiment [trained model]",

となっていますが、このまま使用するとそんなリソースはない、というメッセージとともにInvalidResourceというエラーが帰ってきてしまいます。

正解は

"Name" : "MyExperiment [trained model]",

です。トレーニング済みのExperimentの指定は名前で行ってください。
Idでもできるんじゃないかと思ってExpermentのResourceIdをどうにかして取得できないかとPowerShell叩いて調べてみましたが、現段階では取得できないようです。

ちなみに、C#のコードサンプルはちゃんと"Name"としてリクエストを投げてくれますので問題なく動作しますのでご安心を。今回はFiddlerで確認していて、たまたま気付きました。RESTで実装される方は気を付けてください。


ネクストスケープ企業サイトへ

NEXTSCAPE

検索する

タグ

メタデータ

投稿のRSS