我在执行以下.prototxt
时遇到错误,我完全不知道为什么会出现这个错误:
layer { name: "conv" type: "Convolution" bottom: "image" top: "conv" convolution_param { num_output: 2 kernel_size: 5 pad: 2 stride: 1 weight_filler { type: "xavier" } bias_filler { type: "constant" value: 0 } }}
这是错误输出。我在最新的caffe-master-branch
中看到,应该可以使用5D-Blobs
。
I1202 14:54:58.617269 2393 hdf5_data_layer.cpp:93] Number of HDF5 files: 9I1202 14:54:58.631134 2393 hdf5.cpp:35] Datatype class: H5T_INTEGERI1202 14:54:59.159739 2393 net.cpp:150] Setting up train-dataI1202 14:54:59.159760 2393 net.cpp:157] Top shape: 1 1 1 128 128 (16384)I1202 14:54:59.159765 2393 net.cpp:157] Top shape: 1 1 8 128 128 (131072)I1202 14:54:59.159766 2393 net.cpp:165] Memory required for data: 589824I1202 14:54:59.159773 2393 layer_factory.hpp:77] Creating layer down_level_0_convI1202 14:54:59.159790 2393 net.cpp:100] Creating Layer down_level_0_convI1202 14:54:59.159795 2393 net.cpp:434] down_level_0_conv <- imageI1202 14:54:59.159804 2393 net.cpp:408] down_level_0_conv -> down_level_0_convF1202 14:54:59.159915 2393 blob.hpp:140] Check failed: num_axes() <= 4 (5 vs. 4) Cannot use legacy accessors on Blobs with > 4 axes.
我需要切换到某个分支吗?我再次从caffe-master-branch
拉取以确保是最新版本。然后我执行了make clean make all命令,但仍然不起作用。
回答:
据我所知,这个错误来自"Xavier"
填充器:这个填充器计算输入和输出通道之间的比率。如果你用不同的填充器替换它,你应该可以使用ND blob。