torch.nn.ZeroPad2d

类的定义

CLASS torch.nn.ZeroPad2d(padding)
Pads the input tensor boundaries with zero.For N-dimensional padding, use torch.nn.functional.pad().

参数

padding (int, tuple) – the size of the padding. If is int, uses the same padding in all boundaries. If a 4-tuple, uses (padding_left, padding_right,padding_top,padding_bottom).

输入、输出

  • Input: (N, C, \(H_{in}\), \(W_{in}\)) or (N,C,\(H_{in}\),\(W_{in}\)) .

  • Output: (N, C, \(H_{out}\), \(W_{out}\)) or (C, \(H_{out}\), \(W_{out}\)), where
    \(H_{out}\) = \(H_{in}\) + padding_top + padding_bottom
    \(W_{out}\) = \(W_{in}\) + padding_left + padding_right

例子

>>> m = nn.ZeroPad2d(2)
>>> input = torch.randn(1, 1, 3, 3)
>>> input
tensor([[[[-0.1678, -0.4418,  1.9466],
          [ 0.9604, -0.4219, -0.5241],
          [-0.9162, -0.5436, -0.6446]]]])
>>> m(input)
tensor([[[[ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
          [ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
          [ 0.0000,  0.0000, -0.1678, -0.4418,  1.9466,  0.0000,  0.0000],
          [ 0.0000,  0.0000,  0.9604, -0.4219, -0.5241,  0.0000,  0.0000],
          [ 0.0000,  0.0000, -0.9162, -0.5436, -0.6446,  0.0000,  0.0000],
          [ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
          [ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000,  0.0000]]]])
>>> # using different paddings for different sides
>>> m = nn.ZeroPad2d((1, 1, 2, 0))
>>> m(input)
tensor([[[[ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
          [ 0.0000,  0.0000,  0.0000,  0.0000,  0.0000],
          [ 0.0000, -0.1678, -0.4418,  1.9466,  0.0000],
          [ 0.0000,  0.9604, -0.4219, -0.5241,  0.0000],
          [ 0.0000, -0.9162, -0.5436, -0.6446,  0.0000]]]])

posted on 2021-05-12 20:13  朴素贝叶斯  阅读(401)  评论(0)    收藏  举报

导航