@@ -1235,7 +1235,8 @@ def same_padding_deconvolution(input, weight, strides, dilations):
12351235 input_cols = input .size (3 )
12361236
12371237 out_rows = input_rows * strides [0 ] - strides [0 ] + 1
1238- out_cols = input_rows * strides [1 ] - strides [1 ] + 1
1238+ out_cols = input_cols * strides [1 ] - strides [1 ] + 1
1239+
12391240
12401241 padding_rows = max (0 , (input_rows - 1 ) * strides [0 ] + (filter_rows - 1 ) * dilations [0 ] + 1 - out_rows )
12411242 padding_cols = max (0 , (input_cols - 1 ) * strides [1 ] + (filter_cols - 1 ) * dilations [1 ] + 1 - out_cols )
@@ -1250,8 +1251,8 @@ def same_padding_deconvolution(input, weight, strides, dilations):
12501251 input_depth = input .size (4 )
12511252
12521253 out_rows = input_rows * strides [0 ] - strides [0 ] + 1
1253- out_cols = input_rows * strides [1 ] - strides [1 ] + 1
1254- out_depth = input_rows * strides [2 ] - strides [2 ] + 1
1254+ out_cols = input_cols * strides [1 ] - strides [1 ] + 1
1255+ out_depth = input_depth * strides [2 ] - strides [2 ] + 1
12551256
12561257 padding_rows = max (0 , (input_rows - 1 ) * strides [0 ] + (filter_rows - 1 ) * dilations [0 ] + 1 - out_rows )
12571258 padding_cols = max (0 , (input_cols - 1 ) * strides [1 ] + (filter_cols - 1 ) * dilations [1 ] + 1 - out_cols )
@@ -1410,7 +1411,7 @@ def __call__(self, input, filters, output_size):
14101411 if self .data_format == 'NHWC' :
14111412 input = nhwc_to_nchw (input )
14121413 if self .padding == 'same' :
1413- out = self .conv2d_transpore_same (input , filters , output_size )
1414+ out = self .conv2d_transpore_same (input , filters )
14141415 else :
14151416 out_padding = self ._output_padding (input , output_size , self .strides , (0 if isinstance (self .padding , str ) else self .padding ),
14161417 filters .shape ,
@@ -1428,15 +1429,13 @@ def __call__(self, input, filters, output_size):
14281429 out = nchw_to_nhwc (out )
14291430 return out
14301431
1431- def conv2d_transpore_same (self ,input , filters , output_size ):
1432+ def conv2d_transpore_same (self ,input , filters ):
14321433 rows_odd , cols_odd , padding_rows , padding_cols = same_padding_deconvolution (input , filters , self .strides , (1 , 1 ))
14331434 if rows_odd or cols_odd :
14341435 input = F .pad (input , [0 , int (rows_odd ), 0 , int (cols_odd )])
14351436 out_padding = 0
14361437 else :
14371438 out_padding = 1
1438- out_padding = self ._output_padding (input , output_size , self .strides , (padding_rows // 2 , padding_cols // 2 ), filters .shape ,
1439- 2 , self .dilations )
14401439 out = F .conv_transpose2d (input , weight = filters , padding = (padding_rows // 2 , padding_cols // 2 ), stride = self .strides ,
14411440 dilation = self .dilations , output_padding = out_padding , groups = self .groups )
14421441 return out
0 commit comments