python内で画像+ラベルのバッチを読み込み、ネットワークを鍛えるために使用しようとするといくつか問題があります。 私は画像のペアを使って作業しています。たとえば、両方の画像から等価なピクセルを平均化して1つに変換し、それをネットワークに送ります。ペアの数が大きすぎる(個々のイメージを2つずつ組み合わせて)、すべてをメモリに格納するため、各繰り返しで各バッチを作成しています。ネットワークに渡したいと思います。入力ネットワーク層がで定義されているCaffe:微調整のためにpython内に画像とラベルをロード
solver = caffe.get_solver(path_to_solver_file)
:私の以前の実験では
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TRAIN
}
image_data_param {
batch_size: 1
new_height: 227
new_width: 227
}
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
}
image_data_param {
batch_size: 1
new_height: 227
new_width: 227
}
}
が、私はimage_data_param内ソースパラメータを持っていた
私はこの方法でネットワークをインスタンス化しています、私は画像とラベルのファイルをトレーニングとテストの両方に渡します。私のpython内でそれらをロードするよう はしかし、私はソースパラメータを削除しますが、次のエラーを得た:
0830 17:01:49.014819 1967923200 layer_factory.hpp:77] Creating layer data
I0830 17:01:49.014858 1967923200 net.cpp:91] Creating Layer data
I0830 17:01:49.014868 1967923200 net.cpp:399] data -> data
I0830 17:01:49.014890 1967923200 net.cpp:399] data -> label
I0830 17:01:49.014910 1967923200 image_data_layer.cpp:38] Opening file
I0830 17:01:49.014935 1967923200 image_data_layer.cpp:53] A total of 0 images.
Segmentation fault: 11
私はまだこの時点になっていないが、私はインスタンス化することができるよ後ネットワーク、私はバッチをロードして使用してSGDの最適化の一歩を実行するつもりだった。
net.blobs["data"].data[...] = images
net.blobs["label"].data[...] = labels
net.step(1)
私のpythonを使用して微調整とテストを行う例やチュートリアル(例えば、hereとhere)で検索しましたしかし、大多数は試験段階の間に往路についてのみ論じるが、ネットワークを微調整すると、ソースパラメータを使ってトレーニングデータ(ラベルや画像)を定義し、Pythonインタフェースから直接ロードすることはできません。
この回答を確認してください: http://stackoverflow.com/a/39097123/5465000 – AHA