自分のデータセットでLeNetを学習しようとしています。私は長い1D vectordataセットからHDF5ファイルを生成し、次のようにHDF5データレイヤーを作成しました。私はHDF5を生成するときと同じようにトップブロブを指定しました。不明なボトムブロ 'データ'(レイヤー 'conv1'、ボトムインデックス0)
name: "Test_net"
layer {
name: "data"
type: "HDF5Data"
top: "Inputdata"
top: "label"
hdf5_data_param {
source:"~/*_hdf5_train.txt"
batch_size: 32
}
include{phase: TRAIN}
}
layer {
name: "data2"
type: "HDF5Data"
top: "Inputdata"
top: "label"
hdf5_data_param {
source:"~/*_hdf5_test.txt"
batch_size: 32
}
include{phase: TEST}
}
layer {
name: "conv1"
type: "convolution"
bottom: "data"
top: "conv1"
param {lr_mult:1}
param {lr_mult:2}
convolution_param{
num_output: 20
kernel_h: 1
kernel_w: 5
stride_h: 1
stride_w: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "xavier"
}
}
}
layer {
name: "pool1"
type: "pooling"
bottom: "conv1"
top: "pool1"
pooling_param{
pool: MAX
kernel_h: 1
kernel_w: 2
stride_h: 1
stride_w: 2
}
}
# more layers here...
layer{
name: "loss"
type: "SigmoidCrossEntropyLoss"
bottom: "ip2"
bottom: "label"
top: "loss"
}
しかし、訓練を試みると、insert_split.cpp
から次のエラーが発生しています。
insert_splits.cpp:29] Unknown bottom blob 'data' (layer 'conv1', bottom index 0) *** Check failure stack trace: *** @ 0x7f19d7e735cd google::LogMessage::Fail() @ 0x7f19d7e75433 google::LogMessage::SendToLog() @ 0x7f19d7e7315b google::LogMessage::Flush() @ 0x7f19d7e75e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7f19d82684dc caffe::InsertSplits() @ 0x7f19d8230d5e caffe::Net<>::Init() @ 0x7f19d8233f21 caffe::Net<>::Net() @ 0x7f19d829c68a caffe::Solver<>::InitTrainNet() @ 0x7f19d829d9f7 caffe::Solver<>::Init() @ 0x7f19d829dd9a caffe::Solver<>::Solver() @ 0x7f19d8211683 caffe::Creator_SGDSolver<>() @ 0x40a6c9 train() @ 0x4071c0 main @ 0x7f19d6dc8830 __libc_start_main @ 0x4079e9 _start @ (nil) (unknown) Aborted (core dumped)
私が間違って何をしたのですか?
乾杯、
[Caffe Unknown bottom blob]の複製が可能です。(http://stackoverflow.com/questions/38730972/caffe-unknown-bottom-blob) – Shai