TYPED_TEST(ConcatLayerTest, TestSetupNum) {
LayerParameter layer_param;
- layer_param.set_concat_dim(0);
+ layer_param.mutable_concat_param()->set_concat_dim(0);
ConcatLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_1, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->num(),
TYPED_TEST(ConvolutionLayerTest, TestSetup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(4);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(4);
shared_ptr<Layer<TypeParam> > layer(
new ConvolutionLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->height(), 2);
EXPECT_EQ(this->blob_top_->width(), 2);
// setting group should not change the shape
- layer_param.set_num_output(3);
- layer_param.set_group(3);
+ convolution_param->set_num_output(3);
+ convolution_param->set_group(3);
layer.reset(new ConvolutionLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->num(), 2);
ConstantFiller<TypeParam> filler(filler_param);
filler.Fill(this->blob_bottom_);
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(4);
- layer_param.mutable_weight_filler()->set_type("constant");
- layer_param.mutable_weight_filler()->set_value(1);
- layer_param.mutable_bias_filler()->set_type("constant");
- layer_param.mutable_bias_filler()->set_value(0.1);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(4);
+ convolution_param->mutable_weight_filler()->set_type("constant");
+ convolution_param->mutable_weight_filler()->set_value(1);
+ convolution_param->mutable_bias_filler()->set_type("constant");
+ convolution_param->mutable_bias_filler()->set_value(0.1);
shared_ptr<Layer<TypeParam> > layer(
new ConvolutionLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
}
}
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(3);
- layer_param.set_group(3);
- layer_param.mutable_weight_filler()->set_type("constant");
- layer_param.mutable_weight_filler()->set_value(1);
- layer_param.mutable_bias_filler()->set_type("constant");
- layer_param.mutable_bias_filler()->set_value(0.1);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(3);
+ convolution_param->set_group(3);
+ convolution_param->mutable_weight_filler()->set_type("constant");
+ convolution_param->mutable_weight_filler()->set_value(1);
+ convolution_param->mutable_bias_filler()->set_type("constant");
+ convolution_param->mutable_bias_filler()->set_value(0.1);
shared_ptr<Layer<TypeParam> > layer(
new ConvolutionLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(ConvolutionLayerTest, TestCPUGradient) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(2);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(2);
+ convolution_param->mutable_weight_filler()->set_type("gaussian");
+ convolution_param->mutable_bias_filler()->set_type("gaussian");
Caffe::set_mode(Caffe::CPU);
ConvolutionLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-3);
TYPED_TEST(ConvolutionLayerTest, TestCPUGradientGroup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(3);
- layer_param.set_group(3);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(3);
+ convolution_param->set_group(3);
+ convolution_param->mutable_weight_filler()->set_type("gaussian");
+ convolution_param->mutable_bias_filler()->set_type("gaussian");
Caffe::set_mode(Caffe::CPU);
ConvolutionLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-3);
TYPED_TEST(ConvolutionLayerTest, TestGPUGradient) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(2);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(2);
+ convolution_param->mutable_weight_filler()->set_type("gaussian");
+ convolution_param->mutable_bias_filler()->set_type("gaussian");
Caffe::set_mode(Caffe::GPU);
ConvolutionLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-3);
TYPED_TEST(ConvolutionLayerTest, TestGPUGradientGroup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_num_output(3);
- layer_param.set_group(3);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
+ convolution_param->set_num_output(3);
+ convolution_param->set_group(3);
+ convolution_param->mutable_weight_filler()->set_type("gaussian");
+ convolution_param->mutable_bias_filler()->set_type("gaussian");
Caffe::set_mode(Caffe::GPU);
ConvolutionLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-3);
TYPED_TEST(DataLayerTest, TestRead) {
LayerParameter param;
- param.set_batchsize(5);
- param.set_source(this->filename);
+ DataParameter* data_param = param.mutable_data_param();
+ data_param->set_batch_size(5);
+ data_param->set_source(this->filename);
DataLayer<TypeParam> layer(param);
layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_);
EXPECT_EQ(this->blob_top_data_->num(), 5);
// The data file we are reading has 10 rows and 8 columns,
// with values from 0 to 10*8 reshaped in row-major order.
LayerParameter param;
- int batchsize = 5;
- param.set_batchsize(batchsize);
- param.set_source(*(this->filename));
+ HDF5DataParameter* hdf5_data_param = param.mutable_hdf5_data_param();
+ int batch_size = 5;
+ hdf5_data_param->set_batch_size(batch_size);
+ hdf5_data_param->set_source(*(this->filename));
int num_rows = 10;
int num_cols = 8;
int height = 5;
// Test that the layer setup got the correct parameters.
HDF5DataLayer<TypeParam> layer(param);
layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_);
- EXPECT_EQ(this->blob_top_data_->num(), batchsize);
+ EXPECT_EQ(this->blob_top_data_->num(), batch_size);
EXPECT_EQ(this->blob_top_data_->channels(), num_cols);
EXPECT_EQ(this->blob_top_data_->height(), height);
EXPECT_EQ(this->blob_top_data_->width(), width);
- EXPECT_EQ(this->blob_top_label_->num(), batchsize);
+ EXPECT_EQ(this->blob_top_label_->num(), batch_size);
EXPECT_EQ(this->blob_top_label_->channels(), 1);
EXPECT_EQ(this->blob_top_label_->height(), 1);
EXPECT_EQ(this->blob_top_label_->width(), 1);
// On even iterations, we're reading the first half of the data.
// On odd iterations, we're reading the second half of the data.
- int label_offset = (iter % 2 == 0) ? 0 : batchsize;
- int data_offset = (iter % 2 == 0) ? 0 : batchsize * data_size;
+ int label_offset = (iter % 2 == 0) ? 0 : batch_size;
+ int data_offset = (iter % 2 == 0) ? 0 : batch_size * data_size;
// Every two iterations we are reading the second file,
// which has the same labels, but data is offset by total data size,
// which is 2000 (see generate_sample_data).
int file_offset = (iter % 4 < 2) ? 0 : 2000;
- for (int i = 0; i < batchsize; ++i) {
+ for (int i = 0; i < batch_size; ++i) {
EXPECT_EQ(
label_offset + i,
this->blob_top_label_->cpu_data()[i]);
}
- for (int i = 0; i < batchsize; ++i) {
+ for (int i = 0; i < batch_size; ++i) {
for (int j = 0; j < num_cols; ++j) {
for (int h = 0; h < height; ++h) {
for (int w = 0; w < width; ++w) {
TYPED_TEST(Im2colLayerTest, TestSetup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
Im2colLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->num(), 2);
TYPED_TEST(Im2colLayerTest, TestCPU) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
Im2colLayer<TypeParam> layer(layer_param);
Caffe::set_mode(Caffe::CPU);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(Im2colLayerTest, TestGPU) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
Im2colLayer<TypeParam> layer(layer_param);
Caffe::set_mode(Caffe::GPU);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(Im2colLayerTest, TestCPUGradient) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
Caffe::set_mode(Caffe::CPU);
Im2colLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-2);
TYPED_TEST(Im2colLayerTest, TestGPUGradient) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ ConvolutionParameter* convolution_param =
+ layer_param.mutable_convolution_param();
+ convolution_param->set_kernel_size(3);
+ convolution_param->set_stride(2);
Caffe::set_mode(Caffe::GPU);
Im2colLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-2);
TYPED_TEST(InnerProductLayerTest, TestSetUp) {
LayerParameter layer_param;
- layer_param.set_num_output(10);
+ InnerProductParameter* inner_product_param =
+ layer_param.mutable_inner_product_param();
+ inner_product_param->set_num_output(10);
shared_ptr<InnerProductLayer<TypeParam> > layer(
new InnerProductLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(InnerProductLayerTest, TestCPU) {
LayerParameter layer_param;
+ InnerProductParameter* inner_product_param =
+ layer_param.mutable_inner_product_param();
Caffe::set_mode(Caffe::CPU);
- layer_param.set_num_output(10);
- layer_param.mutable_weight_filler()->set_type("uniform");
- layer_param.mutable_bias_filler()->set_type("uniform");
- layer_param.mutable_bias_filler()->set_min(1);
- layer_param.mutable_bias_filler()->set_max(2);
+ inner_product_param->set_num_output(10);
+ inner_product_param->mutable_weight_filler()->set_type("uniform");
+ inner_product_param->mutable_bias_filler()->set_type("uniform");
+ inner_product_param->mutable_bias_filler()->set_min(1);
+ inner_product_param->mutable_bias_filler()->set_max(2);
shared_ptr<InnerProductLayer<TypeParam> > layer(
new InnerProductLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(InnerProductLayerTest, TestGPU) {
if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) {
LayerParameter layer_param;
+ InnerProductParameter* inner_product_param =
+ layer_param.mutable_inner_product_param();
Caffe::set_mode(Caffe::GPU);
- layer_param.set_num_output(10);
- layer_param.mutable_weight_filler()->set_type("uniform");
- layer_param.mutable_bias_filler()->set_type("uniform");
- layer_param.mutable_bias_filler()->set_min(1);
- layer_param.mutable_bias_filler()->set_max(2);
+ inner_product_param->set_num_output(10);
+ inner_product_param->mutable_weight_filler()->set_type("uniform");
+ inner_product_param->mutable_bias_filler()->set_type("uniform");
+ inner_product_param->mutable_bias_filler()->set_min(1);
+ inner_product_param->mutable_bias_filler()->set_max(2);
shared_ptr<InnerProductLayer<TypeParam> > layer(
new InnerProductLayer<TypeParam>(layer_param));
layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(InnerProductLayerTest, TestCPUGradient) {
LayerParameter layer_param;
+ InnerProductParameter* inner_product_param =
+ layer_param.mutable_inner_product_param();
Caffe::set_mode(Caffe::CPU);
- layer_param.set_num_output(10);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_min(1);
- layer_param.mutable_bias_filler()->set_max(2);
+ inner_product_param->set_num_output(10);
+ inner_product_param->mutable_weight_filler()->set_type("gaussian");
+ inner_product_param->mutable_bias_filler()->set_type("gaussian");
+ inner_product_param->mutable_bias_filler()->set_min(1);
+ inner_product_param->mutable_bias_filler()->set_max(2);
InnerProductLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-3);
checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_),
TYPED_TEST(InnerProductLayerTest, TestGPUGradient) {
if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) {
LayerParameter layer_param;
+ InnerProductParameter* inner_product_param =
+ layer_param.mutable_inner_product_param();
Caffe::set_mode(Caffe::GPU);
- layer_param.set_num_output(10);
- layer_param.mutable_weight_filler()->set_type("gaussian");
- layer_param.mutable_bias_filler()->set_type("gaussian");
+ inner_product_param->set_num_output(10);
+ inner_product_param->mutable_weight_filler()->set_type("gaussian");
+ inner_product_param->mutable_bias_filler()->set_type("gaussian");
InnerProductLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-2);
checker.CheckGradient(&layer, &(this->blob_bottom_vec_),
blob_bottom.height(), blob_bottom.width());
const Dtype* bottom_data = blob_bottom.cpu_data();
Dtype* top_data = blob_top->mutable_cpu_data();
- Dtype alpha = layer_param.alpha();
- Dtype beta = layer_param.beta();
- int size = layer_param.local_size();
+ LRNParameter lrn_param = layer_param.lrn_param();
+ Dtype alpha = lrn_param.alpha();
+ Dtype beta = lrn_param.beta();
+ int size = lrn_param.local_size();
for (int n = 0; n < blob_bottom.num(); ++n) {
for (int c = 0; c < blob_bottom.channels(); ++c) {
for (int h = 0; h < blob_bottom.height(); ++h) {
// Now, check values
const TypeParam* bottom_data = this->blob_bottom_->cpu_data();
const TypeParam* top_data = this->blob_top_->cpu_data();
- float scale = 1. / (1. - layer_param.dropout_ratio());
+ float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio());
for (int i = 0; i < this->blob_bottom_->count(); ++i) {
if (top_data[i] != 0) {
EXPECT_EQ(top_data[i], bottom_data[i] * scale);
// Now, check values
const TypeParam* bottom_data = this->blob_bottom_->cpu_data();
const TypeParam* top_data = this->blob_top_->cpu_data();
- float scale = 1. / (1. - layer_param.dropout_ratio());
+ float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio());
for (int i = 0; i < this->blob_bottom_->count(); ++i) {
if (top_data[i] != 0) {
EXPECT_EQ(top_data[i], bottom_data[i]);
// Now, check values
const TypeParam* bottom_data = this->blob_bottom_->cpu_data();
const TypeParam* top_data = this->blob_top_->cpu_data();
- float scale = 1. / (1. - layer_param.dropout_ratio());
+ float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio());
for (int i = 0; i < this->blob_bottom_->count(); ++i) {
if (top_data[i] != 0) {
EXPECT_EQ(top_data[i], bottom_data[i] * scale);
// Now, check values
const TypeParam* bottom_data = this->blob_bottom_->cpu_data();
const TypeParam* top_data = this->blob_top_->cpu_data();
- float scale = 1. / (1. - layer_param.dropout_ratio());
+ float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio());
for (int i = 0; i < this->blob_bottom_->count(); ++i) {
if (top_data[i] != 0) {
EXPECT_EQ(top_data[i], bottom_data[i]);
TYPED_TEST(PoolingLayerTest, TestSetup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
PoolingLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num());
/*
TYPED_TEST(PoolingLayerTest, PrintGPUBackward) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_pool(LayerParameter_PoolMethod_MAX);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_MAX);
Caffe::set_mode(Caffe::GPU);
PoolingLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_pool(LayerParameter_PoolMethod_MAX);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_MAX);
Caffe::set_mode(Caffe::CPU);
PoolingLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-4, 1e-2);
TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_pool(LayerParameter_PoolMethod_MAX);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_MAX);
Caffe::set_mode(Caffe::GPU);
PoolingLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-4, 1e-2);
TYPED_TEST(PoolingLayerTest, TestCPUGradientAve) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_pool(LayerParameter_PoolMethod_AVE);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_AVE);
Caffe::set_mode(Caffe::CPU);
PoolingLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-2);
TYPED_TEST(PoolingLayerTest, TestGPUGradientAve) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
- layer_param.set_pool(LayerParameter_PoolMethod_AVE);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_AVE);
Caffe::set_mode(Caffe::GPU);
PoolingLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-2, 1e-2);
TYPED_TEST(StochasticPoolingLayerTest, TestSetup) {
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
PoolingLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num());
Caffe::set_mode(Caffe::GPU);
Caffe::set_phase(Caffe::TRAIN);
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
-
- layer_param.set_pool(LayerParameter_PoolMethod_STOCHASTIC);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_STOCHASTIC);
PoolingLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_));
Caffe::set_mode(Caffe::GPU);
Caffe::set_phase(Caffe::TEST);
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
-
- layer_param.set_pool(LayerParameter_PoolMethod_STOCHASTIC);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_STOCHASTIC);
PoolingLayer<TypeParam> layer(layer_param);
layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_));
layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_));
Caffe::set_mode(Caffe::GPU);
Caffe::set_phase(Caffe::TRAIN);
LayerParameter layer_param;
- layer_param.set_kernelsize(3);
- layer_param.set_stride(2);
-
- layer_param.set_pool(LayerParameter_PoolMethod_STOCHASTIC);
+ PoolingParameter* pooling_param = layer_param.mutable_pooling_param();
+ pooling_param->set_kernel_size(3);
+ pooling_param->set_stride(2);
+ pooling_param->set_pool(PoolingParameter_PoolMethod_STOCHASTIC);
PoolingLayer<TypeParam> layer(layer_param);
GradientChecker<TypeParam> checker(1e-4, 1e-2);
// it is too expensive to call curand multiple times, so we don't do an