tutorial software caffe2 machine-learning neural-network deep-learning caffe

machine-learning - software - mxnet



Desconocido bottom blob ''data''(capa ''conv1'', índice inferior 0) (1)

Intentando entrenar a LeNet en mi propio conjunto de datos. Genere un archivo HDF5 a partir de mi conjunto largo de datos vectoriales 1D y he creado la capa de datos HDF5 de la siguiente manera: denominé los blobs superiores como lo hice cuando genero mi HDF5.

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" }

Pero cuando traté de entrenar, estoy teniendo el siguiente error de 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)

¿Qué hice mal?

Aclamaciones,


Su capa de datos genera dos "blobs": "label" y "Inputdata" . Su capa "conv1" espera como entrada un "blob" llamado "data" . Caffe no sabe que tu quisiste decir "Inputdata" y "data" para ser el mismo blob ...
Ahora, como ya guardó los archivos hdf5 con el nombre "Inputdata" , no puede cambiar este nombre en la capa "HDF5Data" , lo que puede hacer es cambiar "data" a "Inputdata" en la "parte inferior" de la capa "conv1" .

PD,
Su capa de pérdida requiere dos " ip2 ": ip2 y la label que olvidó alimentar.