TYPED_TEST(NetTest, TestReshape) {
typedef typename TypeParam::Dtype Dtype;
// We set up bottom blobs of two different sizes, switch between
- // them, and check that forward and backward both run and the results
- // are the same.
+ // them, check that forward and backward both run and the results
+ // are the same, and check that the output shapes change.
Caffe::set_random_seed(this->seed_);
Caffe::set_mode(Caffe::CPU);
FillerParameter filler_param;
for (int i = 0; i < output2.count(); ++i) {
EXPECT_FLOAT_EQ(*(output2.cpu_data() + i), *(output_blob->cpu_data() + i));
}
+
+ EXPECT_EQ(output1.num(), blob1.num());
+ EXPECT_EQ(output2.num(), blob2.num());
+ bool same_spatial_shape = true;
+ const int kFirstSpatialAxis = 2;
+ for (int i = kFirstSpatialAxis; i < output1.num_axes(); ++i) {
+ if (output1.shape(i) != output2.shape(i)) {
+ same_spatial_shape = false;
+ break;
+ }
+ }
+ EXPECT_FALSE(same_spatial_shape);
}
TYPED_TEST(NetTest, TestSkipPropagateDown) {