未验证 提交 78260ff3 编写于 作者: W wangguanzhong 提交者: GitHub

fix output_padding in conv (#33585)

* fix output padding conv

* add repr unittest for conv
上级 e6c5282e
......@@ -18,6 +18,7 @@ import unittest
import numpy as np
import paddle
import paddle.nn as nn
paddle.enable_static()
import paddle.fluid.core as core
import paddle.fluid as fluid
......@@ -898,5 +899,17 @@ class TestConv2DTransposeOpException(unittest.TestCase):
self.assertRaises(ValueError, attr_padding_with_data_format)
class TestConv2DTransposeRepr(unittest.TestCase):
def test_case(self):
paddle.disable_static()
x_var = paddle.uniform((2, 4, 8, 8), dtype='float32', min=-1., max=1.)
conv = nn.Conv2DTranspose(4, 6, (3, 3), output_padding=1, stride=2)
print(conv)
y_var = conv(x_var)
y_np = y_var.numpy()
self.assertIsNotNone(y_np)
paddle.enable_static()
if __name__ == '__main__':
unittest.main()
......@@ -98,7 +98,7 @@ class _ConvNd(layers.Layer):
'kernel_size')
self._padding = padding
self._padding_mode = padding_mode
self._output_padding = output_padding
self.output_padding = output_padding
if dims != 1:
self._updated_padding, self._padding_algorithm = _update_padding_nd(
padding, channel_last, dims)
......@@ -163,8 +163,8 @@ class _ConvNd(layers.Layer):
main_str += ', padding={_padding}'
if self._padding_mode is not 'zeros':
main_str += ', padding_mode={_padding_mode}'
if self._output_padding != 0:
main_str += ', output_padding={_output_padding}'
if self.output_padding != 0:
main_str += ', output_padding={output_padding}'
if self._dilation != [1] * len(self._dilation):
main_str += ', dilation={_dilation}'
if self._groups != 1:
......@@ -508,7 +508,7 @@ class Conv1DTranspose(_ConvNd):
self.weight,
bias=self.bias,
output_size=output_size,
output_padding=self._output_padding,
output_padding=self.output_padding,
padding=self._padding,
stride=self._stride,
dilation=self._dilation,
......@@ -824,7 +824,7 @@ class Conv2DTranspose(_ConvNd):
def forward(self, x, output_size=None):
if output_size is None:
output_padding = self._output_padding
output_padding = self.output_padding
else:
output_padding = 0
......@@ -1161,7 +1161,7 @@ class Conv3DTranspose(_ConvNd):
def forward(self, x, output_size=None):
if output_size is None:
output_padding = self._output_padding
output_padding = self.output_padding
else:
output_padding = 0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册