| 30 | using singa::Shape; |
| 31 | |
| 32 | TEST(OpenclConvolution, Setup) { |
| 33 | OpenclConvolution conv; |
| 34 | EXPECT_EQ("OpenclConvolution", conv.layer_type()); |
| 35 | |
| 36 | singa::LayerConf conf; |
| 37 | singa::ConvolutionConf *convconf = conf.mutable_convolution_conf(); |
| 38 | convconf->set_kernel_h(2); |
| 39 | convconf->set_kernel_w(2); |
| 40 | convconf->set_pad_h(1); |
| 41 | convconf->set_pad_w(1); |
| 42 | convconf->set_stride_h(1); |
| 43 | convconf->set_stride_w(1); |
| 44 | convconf->set_num_output(2); |
| 45 | convconf->set_bias_term(true); |
| 46 | conv.Setup(Shape{1, 3, 3}, conf); |
| 47 | |
| 48 | EXPECT_EQ(2u, conv.kernel_h()); |
| 49 | EXPECT_EQ(2u, conv.kernel_w()); |
| 50 | EXPECT_EQ(1u, conv.pad_h()); |
| 51 | EXPECT_EQ(1u, conv.pad_w()); |
| 52 | EXPECT_EQ(1u, conv.stride_h()); |
| 53 | EXPECT_EQ(1u, conv.stride_w()); |
| 54 | EXPECT_EQ(2u, conv.num_filters()); |
| 55 | EXPECT_EQ(true, conv.bias_term()); |
| 56 | EXPECT_EQ(1u, conv.channels()); |
| 57 | EXPECT_EQ(3u, conv.height()); |
| 58 | EXPECT_EQ(3u, conv.width()); |
| 59 | } |
| 60 | |
| 61 | TEST(OpenclConvolution, Forward) { |
| 62 | const size_t batchsize = 2, c = 1, h = 3, w = 3; |
nothing calls this directly
no test coverage detected