#include #include "caffe/layers/input_layer.hpp" namespace caffe { template void InputLayer::LayerSetUp(const vector*>& bottom, const vector*>& top) { const int num_top = top.size(); const InputParameter& param = this->layer_param_.input_param(); const int num_shape = param.shape_size(); CHECK(num_shape == 0 || num_shape == 1 || num_shape == num_top) << "Must specify 'shape' once, once per top blob, or not at all: " << num_top << " tops vs. " << num_shape << " shapes."; if (num_shape > 0) { for (int i = 0; i < num_top; ++i) { const int shape_index = (param.shape_size() == 1) ? 0 : i; top[i]->Reshape(param.shape(shape_index)); } } } INSTANTIATE_CLASS(InputLayer); REGISTER_LAYER_CLASS(Input); } // namespace caffe