CaffeインストールのMNISTの例では、Caffe:softmaxスコアを印刷してください
どのテスト画像でも、各カテゴリのsoftmaxスコアを取得し、それらの処理をいくつか行いますか?それらの平均と分散を計算します。
私は初心者ですので詳細は私には大いに役立ちます。モデルを訓練してテスト機能を使用して予測を得ることはできますが、上記の結果を得るためにはどのファイルを編集するのかわかりません。
CaffeインストールのMNISTの例では、Caffe:softmaxスコアを印刷してください
どのテスト画像でも、各カテゴリのsoftmaxスコアを取得し、それらの処理をいくつか行いますか?それらの平均と分散を計算します。
私は初心者ですので詳細は私には大いに役立ちます。モデルを訓練してテスト機能を使用して予測を得ることはできますが、上記の結果を得るためにはどのファイルを編集するのかわかりません。
あなたは今、あなたは(キーが出力ブロブの名前です)辞書out
であなたのネットの出力を持っている
import caffe
net = caffe.Net('/path/to/deploy.prototxt', '/path/to/weights.caffemodel', caffe.TEST)
in_ = read_data(...) # this is up to you to read a sample and convert it to numpy array
out_ = net.forward(data=in_) # assuming your net expects "data" in blob
Pythonインタフェースを使用することができます。いくつかの例のループでそれを実行することができます。
私はあなたの質問に答えてみることができます。あなたは@に基づいてコードを追加することにより、各カテゴリの確率を得ることができ、提供@Shaiコードと組み合わせて、データを処理し、あなたのPythonコードで
layer {
name: "prob"
type : "Softmax"
bottom: "fc6"
top: "prob"
}
:あなたの展開ネットに仮定すると、ソフトマックス層は、以下のようなものですシャイのコード:
predicted_prob = net.blobs['prob'].data
predicted_probは、すべてのカテゴリを持つ確率を含む配列が返されます。例えば、2つのカテゴリしかない場合、predicted_prob[0][0]
はこのテストデータが1つのカテゴリに属する確率になり、predicted_prob[0][1]
は他のカテゴリの確率になります。
PS:
あなたは、任意の追加のPythonスクリプトを記述したくない場合は、https://github.com/BVLC/caffe/tree/master/examples/mnist によると、この例では、自動的にテストするすべての500回の繰り返しを行う予定だという。 https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_solver.prototxt
などの「500」がソルバーで定義されているため、ソルバーファイルを処理するcaffeソースコードをトレースバックする必要があります。私はそれがすべきだと思いますhttps://github.com/BVLC/caffe/blob/master/src/caffe/solver.cpp
私はsolver.cppがあなたが見る必要がある正しいファイルであることを確信していません。しかし、このファイルでは、いくつかの値のテストと計算の機能を持っていることがわかります。誰もあなたの質問に答えることができない場合は、それがあなたにいくつかのアイデアを与えることができれば幸いです
どのようにあなたのpythonのスキルですか? – Shai
私は少なくとも学歴が低いと言います。 –
次にdeploy.prototxtでPythonインターフェイスを使用して、出力で何でもできます – Shai