私は画像分類にCaffe(http://caffe.berkeleyvision.org/)を使用しています。私はWindows上でそれを使用しており、すべてがうまくコンパイルされているようだ。Caffe - MNSIT - 1つの画像でネットワークを使用するにはどうすればいいですか?
私はMNISTのチュートリアル(http://caffe.berkeleyvision.org/gathered/examples/mnist.html)に従って学習を始めました。私はデータをダウンロードし、\ caffe.exe train --solver = ... examples \ mnist \ lenet_solver.prototxtを実行しました。これは10.000回実行され、精度は98.5であり、lenet_iter_10000.solverstateとlenet_iter_10000.caffemodelの2つのファイルが生成されました。
私自身のイメージを分類しようとするのは面白いかもしれませんが、それは簡単でしょうか?
私は、https://software.intel.com/en-us/articles/training-and-deploying-deep-learning-networks-with-caffe-optimized-for-intel-architecture#Examplesのようなリソースを見つけることができます。しかし、チュートリアル/記事がCNNに実際に1つのインスタンスを入れるようになるたびに、次のポイントにスキップし、新しいモデルをダウンロードするよう指示します。いくつかのリソースはclassifier.bin/.exeを使用するように指示しますが、このファイルはmnistに対してimagenet_mean.binaryprotoなどを使用します。私はこのファイルをどこで見つけて生成するのか分かりません。
私はCaffeを使ってCNNを訓練したとき、1枚の画像を入力して、すでに持っているファイルを使って出力を得る方法を教えてください。
更新:ヘルプに基づいて、ネットワークに画像を認識させましたが、ネットワークの精度が99.0%であっても認識が正しくありません。画像を認識するために、次のPythonコードを使用しました。
NET_FILE = 'deploy.prototxt'
MODEL_FILE = 'lenet_iter_10000.caffemodel'
net = caffe.Net(NET_FILE, MODEL_FILE, caffe.TEST)
im = Image.open("img4.jpg")
in_ = np.array(im, dtype=np.float32)
net.blobs['data'].data[...] = in_
out = net.forward() # Run the network for the given input image
print out;
MNISTの例で画像を正しくフォーマットするかどうかはわかりません。画像は、基本的な4×28×28のグレースケール画像です。画像にさらに多くの変形を加える必要がありますか?
ネットワーク(展開)このようになります(開始および終了):
input: "data"
input_shape {
dim: 1 # batchsize
dim: 1 # number of colour channels - rgb
dim: 28 # width
dim: 28 # height
}
....
layer {
name: "loss"
type: "Softmax"
bottom: "ip2"
top: "loss"
}
ありがとうございます。私はPythonを有効にして、それは働いているようだ。私は明日のあなたのアプローチをテストします:) – MortenGR
更新を見て、あなたはそれが動作していない理由がありますか? – MortenGR