私はカフェモデル動物園(微調整なし)から事前に訓練されたグーグルネットモデルを実行しようとしています。モデルとdeploy.prototxtは両方以下Caffe GoogleNetのモデルの予測は常に同じです
https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenetからダウンロードされた私が使用しているコードです:
net = caffe.Net('deploy.prototxt', 'bvlc_googlenet.caffemodel', caffe.TEST)
net.blobs['data'].reshape(1,3,224,224)
image_path = '1.png'
img = caffe.io.load_image(image_path)
img = caffe.io.resize(img, (224, 224, 3))
# mean subtraction
img[0,:,:] -= 104/255.0
img[1,:,:] -= 117/255.0
img[2,:,:] -= 123/255.0
# 224,224,3 -> 3,224,224
img = np.transpose(img, (2, 0, 1))
out = net.forward(data=np.array([img]))['prob']
print(np.argmax(out))
は、モデルのロードのように正常に見えるが、それにもかかわらず、入力に関わらず、常に同じクラス(885)を出力します。理由は何でしょうか?
UPD:実際には、減算を行うかどうかにかかわらず、同じ問題が他のモデルにも適用されます。常に検出されているクラスだけが異なるものに変更されます。
素晴らしい、ありがとう。 –