@@ -2901,5 +2901,69 @@ def test_unique(self):
2901
2901
# self._run_test_case([_OUTPUT, _OUTPUT1], {_INPUT: x_val})
2902
2902
self ._run_test_case ([_OUTPUT ], {_INPUT : x_val })
2903
2903
2904
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2905
+ def test_Conv2DBackpropInput_const (self ):
2906
+ input_sizes_val = np .array ([1 , 10 , 10 , 3 ], dtype = np .int32 )
2907
+ filter_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2908
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 10 , 10 , 5 ]).astype (np .float32 )
2909
+ _ = tf .nn .conv2d_backprop_input (input_sizes = input_sizes_val , filter = filter_val , out_backprop = out_backprop_val ,
2910
+ strides = [1 , 1 , 1 , 1 ], padding = 'SAME' , name = _TFOUTPUT )
2911
+ self ._run_test_case ([_OUTPUT ], {})
2912
+
2913
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2914
+ def test_Conv2DBackpropInput_const_strided (self ):
2915
+ input_sizes_val = np .array ([1 , 10 , 10 , 3 ], dtype = np .int32 )
2916
+ filter_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2917
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 5 , 5 , 5 ]).astype (np .float32 )
2918
+ _ = tf .nn .conv2d_backprop_input (input_sizes = input_sizes_val , filter = filter_val , out_backprop = out_backprop_val ,
2919
+ strides = [1 , 2 , 2 , 1 ], padding = 'SAME' , name = _TFOUTPUT )
2920
+ self ._run_test_case ([_OUTPUT ], {})
2921
+
2922
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2923
+ def test_Conv2DBackpropInput_const_valid (self ):
2924
+ input_sizes_val = np .array ([1 , 12 , 12 , 3 ], dtype = np .int32 )
2925
+ filter_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2926
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 10 , 10 , 5 ]).astype (np .float32 )
2927
+ _ = tf .nn .conv2d_backprop_input (input_sizes = input_sizes_val , filter = filter_val , out_backprop = out_backprop_val ,
2928
+ strides = [1 , 1 , 1 , 1 ], padding = 'VALID' , name = _TFOUTPUT )
2929
+ self ._run_test_case ([_OUTPUT ], {})
2930
+
2931
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2932
+ def test_Conv2DBackpropInput (self ):
2933
+ input_sizes_val = np .array ([1 , 10 , 10 , 3 ], dtype = np .int32 )
2934
+ input_sizes = tf .placeholder (tf .int32 , input_sizes_val .shape , name = _TFINPUT )
2935
+ filters_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2936
+ filters = tf .placeholder (tf .float32 , filters_val .shape , name = _TFINPUT1 )
2937
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 10 , 10 , 5 ]).astype (np .float32 )
2938
+ out_backprop = tf .placeholder (tf .float32 , out_backprop_val .shape , name = _TFINPUT2 )
2939
+ _ = tf .nn .conv2d_backprop_input (input_sizes , filters , out_backprop , strides = [1 , 1 , 1 , 1 ], padding = 'SAME' ,
2940
+ name = _TFOUTPUT )
2941
+ self ._run_test_case ([_OUTPUT ], {_INPUT : input_sizes_val , _INPUT1 : filters_val , _INPUT2 : out_backprop_val })
2942
+
2943
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2944
+ def test_Conv2DBackpropInput_strided (self ):
2945
+ input_sizes_val = np .array ([1 , 10 , 10 , 3 ], dtype = np .int32 )
2946
+ input_sizes = tf .placeholder (tf .int32 , input_sizes_val .shape , name = _TFINPUT )
2947
+ filters_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2948
+ filters = tf .placeholder (tf .float32 , filters_val .shape , name = _TFINPUT1 )
2949
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 5 , 5 , 5 ]).astype (np .float32 )
2950
+ out_backprop = tf .placeholder (tf .float32 , out_backprop_val .shape , name = _TFINPUT2 )
2951
+ _ = tf .nn .conv2d_backprop_input (input_sizes , filters , out_backprop , strides = [1 , 2 , 2 , 1 ], padding = 'SAME' ,
2952
+ name = _TFOUTPUT )
2953
+ self ._run_test_case ([_OUTPUT ], {_INPUT : input_sizes_val , _INPUT1 : filters_val , _INPUT2 : out_backprop_val })
2954
+
2955
+ @check_opset_min_version (10 , "Conv2DBackpropInput" )
2956
+ def test_Conv2DBackpropInput_valid (self ):
2957
+ input_sizes_val = np .array ([1 , 12 , 12 , 3 ], dtype = np .int32 )
2958
+ input_sizes = tf .placeholder (tf .int32 , input_sizes_val .shape , name = _TFINPUT )
2959
+ filters_val = np .random .randint (low = 0 , high = 256 , size = [3 , 3 , 3 , 5 ]).astype (np .float32 )
2960
+ filters = tf .placeholder (tf .float32 , filters_val .shape , name = _TFINPUT1 )
2961
+ out_backprop_val = np .random .randint (low = 0 , high = 256 , size = [1 , 10 , 10 , 5 ]).astype (np .float32 )
2962
+ out_backprop = tf .placeholder (tf .float32 , out_backprop_val .shape , name = _TFINPUT2 )
2963
+ _ = tf .nn .conv2d_backprop_input (input_sizes , filters , out_backprop , strides = [1 , 1 , 1 , 1 ], padding = 'VALID' ,
2964
+ name = _TFOUTPUT )
2965
+ self ._run_test_case ([_OUTPUT ], {_INPUT : input_sizes_val , _INPUT1 : filters_val , _INPUT2 : out_backprop_val })
2966
+
2967
+
2904
2968
if __name__ == '__main__' :
2905
2969
unittest_main ()
0 commit comments