2017-07-15 4 views
1

これはすでにgithubで質問されていますが、具体的な回答は出されておらず、Caffeフレームワークなどいくつかの変更が加えられているので、私は再度尋ねる方がよいと思いました。テストセットのCaffe Perdictionラベルを見るには?

Caffeフレームワークの学習/テスト段階では、各繰り返しでLossとAccuracyの値が得られますが、Accuracyは測定パラメータではないため、テスト画像の各予測を1つずつ参照する必要があります。を使用して、PrecisionやRecallなどの他の測定パラメータを計算します。

私が実行している場合:

import caffe 

net = caffe.Net('/path/to/model_def.prototxt', '/path/to/model/weights') 
out = net.forward() 

それはout['prob']に私たちの最初のバッチ画像の予測を与えるだろう、と私は画像のバッチのための予測をしたくない、どのようにiを1テーマ1を得ることができますか?

+0

サイズ1のバッチを使用するだけですか?または、画像のバッチを分析するだけですか?私は問題を見ない。 –

+0

@MatiasValdenegroでは、deploy prototxtでバッチサイズを変更することはできません。メインプロトタイプではバッチサイズを1に変更することはできません。 –

答えて

2

結果はout['prob'].dataアレイに格納されます。配列の最初の次元はバッチに対応します。したがって、i番目の画像の結果を表示するには、値をout['prob'].data[i]にチェックしてください。

これは、各画像がすべてのクラスに割り当てられた値を持つ分類であると仮定すると、jクラスの画像のiに対応する出力はout['prob'].data[i][j]にあります。

+0

ありがとうございます。良いアイデア。しかしCaffeはイメージファイルの私のcsvを順番に読んでいますか? (私はlmdbデータベースを作成していませんでした) –

+0

@comeymacdonald入力をどうやって提供していますか? – GoodDeeds

+0

私は([画像/アドレス] [ラベル])のCSVファイルを作って、それをデータレイヤーのcaffeに与えました。 –

関連する問題