2017-03-12 12 views
0

[pythonからCNTK '2.0.beta12.0'を使用] "classification_error(z、label)"を使用して "trainer.previous_minibatch_evaluation_average()"を使用して私の19クラス分類モデルを評価しようとしています。ミニバッチの訓練とテストの後に。トレーニングセットで返される平均値は ".725"(合理的)ですが、テストセットで返される平均値は "3.875"(混乱します)です。cntkの平均分類エラー> 1

私は分類誤りが各サンプルの予測/ラベルを比較するための平均0または1の値として計算していたと思ったので、私はAVGは常に0と1

の間になるように返されたこのエラーがあれば誰もが知っていると予想このような問題につながる可能性のある共通のミスや、

ありがとう、ローランド。

+0

追加情報:私はちょうど私が私のトレーニングのサイズと同じ私のテストminibatchサイズを加えた場合、AVGはルックスを返さ発見します右(常に0〜1)です。私のトレーニングMBサイズ= 200と私のテストMBサイズ= 1000;私が正しいテスト平均に5を掛ければ、mbサイズ= 1000を使ったときに報告されたテスト平均が得られます。 –

+0

これはCNTKバグですか、それともミニバッチサイズを変更できないのですか?ありがとう... –

+0

あなたのポストの下にある "編集"リンクをクリックして、追加情報を追加するだけです。あなたが参照しているコードを追加してください。 – Neil

答えて

0

これはCNTKの制限/バグのようです。私が使用した問題を回避するには、サイズをテストするためにminibatchの比率によって返された平均誤差をスケーリングすることです:

avgTestError = float(trainer.previous_minibatch_evaluation_average) 
# correct for CNTK bug 
avgTestError *= minibatch_size/len(xTest) 
関連する問題