@@ -465,6 +465,21 @@ def testConv2D2x2Depth3ValidBackpropInputStride1x2(self):
465
465
data_format = data_format ,
466
466
use_gpu = use_gpu )
467
467
468
+ def testConv2DStrideTwoFilterOneSameBackpropInput (self ):
469
+ expected_output = [1.0 , 0.0 , 2.0 , 0.0 ,
470
+ 0.0 , 0.0 , 0.0 , 0.0 ,
471
+ 3.0 , 0.0 , 4.0 , 0.0 ,
472
+ 0.0 , 0.0 , 0.0 , 0.0 ]
473
+ for (data_format , use_gpu ) in GetTestConfigs ():
474
+ self ._RunAndVerifyBackpropInput (input_sizes = [1 , 4 , 4 , 1 ],
475
+ filter_sizes = [1 , 1 , 1 , 1 ],
476
+ output_sizes = [1 , 2 , 2 , 1 ],
477
+ strides = [2 , 2 ],
478
+ padding = "SAME" ,
479
+ expected = expected_output ,
480
+ data_format = data_format ,
481
+ use_gpu = use_gpu )
482
+
468
483
# Testing for backprops
469
484
def _RunAndVerifyBackpropFilter (self , input_sizes , filter_sizes , output_sizes ,
470
485
strides , padding , expected , data_format ,
@@ -568,6 +583,18 @@ def testConv2D2x2Depth3ValidBackpropFilterStride1x2(self):
568
583
data_format = data_format ,
569
584
use_gpu = use_gpu )
570
585
586
+ def testConv2DStrideTwoFilterOneSameBackpropFilter (self ):
587
+ expected_output = [78. ]
588
+ for (data_format , use_gpu ) in GetTestConfigs ():
589
+ self ._RunAndVerifyBackpropFilter (input_sizes = [1 , 4 , 4 , 1 ],
590
+ filter_sizes = [1 , 1 , 1 , 1 ],
591
+ output_sizes = [1 , 2 , 2 , 1 ],
592
+ strides = [2 , 2 ],
593
+ padding = "SAME" ,
594
+ expected = expected_output ,
595
+ data_format = data_format ,
596
+ use_gpu = use_gpu )
597
+
571
598
# Gradient checkers
572
599
def ConstructAndTestGradient (self , batch , input_rows , input_cols , filter_rows ,
573
600
filter_cols , in_depth , out_depth , stride_rows ,
0 commit comments