| 26 | using singa::CudnnPooling; |
| 27 | using singa::Shape; |
| 28 | TEST(CudnnPooling, Setup) { |
| 29 | CudnnPooling pool; |
| 30 | // EXPECT_EQ("CudnnPooling", pool.layer_type()); |
| 31 | |
| 32 | singa::LayerConf conf; |
| 33 | singa::PoolingConf *poolconf = conf.mutable_pooling_conf(); |
| 34 | poolconf->set_pool(singa::PoolingConf_PoolMethod_MAX); |
| 35 | poolconf->set_kernel_h(1); |
| 36 | poolconf->set_kernel_w(2); |
| 37 | poolconf->set_pad_h(1); |
| 38 | poolconf->set_pad_w(0); |
| 39 | poolconf->set_stride_h(2); |
| 40 | poolconf->set_stride_w(1); |
| 41 | pool.Setup(Shape{1, 3, 3}, conf); |
| 42 | |
| 43 | EXPECT_EQ(singa::PoolingConf_PoolMethod_MAX, pool.pool_method()); |
| 44 | EXPECT_EQ(1u, pool.kernel_h()); |
| 45 | EXPECT_EQ(2u, pool.kernel_w()); |
| 46 | EXPECT_EQ(1u, pool.pad_h()); |
| 47 | EXPECT_EQ(0u, pool.pad_w()); |
| 48 | EXPECT_EQ(2u, pool.stride_h()); |
| 49 | EXPECT_EQ(1u, pool.stride_w()); |
| 50 | EXPECT_EQ(1u, pool.channels()); |
| 51 | EXPECT_EQ(3u, pool.height()); |
| 52 | EXPECT_EQ(3u, pool.width()); |
| 53 | } |
| 54 | |
| 55 | TEST(CudnnPooling, Forward) { |
| 56 | const size_t batchsize = 1, c = 1, h = 3, w = 3; |
nothing calls this directly
no test coverage detected