MCPcopy Create free account
hub / github.com/OpenGVLab/HumanBench / conv2d_pad

Function conv2d_pad

PATH/core/models/ops/conv2d_helpers.py:53–77  ·  view source on GitHub ↗
(in_chs, out_chs, kernel_size, **kwargs)

Source from the content-addressed store, hash-verified

51
52
53def conv2d_pad(in_chs, out_chs, kernel_size, **kwargs):
54 padding = kwargs.pop('padding', '')
55 kwargs.setdefault('bias', False)
56 if isinstance(padding, str):
57 # for any string padding, the padding will be calculated for you, one of three ways
58 padding = padding.lower()
59 if padding == 'same':
60 # TF compatible 'SAME' padding, has a performance and GPU memory allocation impact
61 if _is_static_pad(kernel_size, **kwargs):
62 # static case, no extra overhead
63 padding = _get_padding(kernel_size, **kwargs)
64 return nn.Conv2d(in_chs, out_chs, kernel_size, padding=padding, **kwargs)
65 else:
66 # dynamic padding
67 return Conv2dSame(in_chs, out_chs, kernel_size, **kwargs)
68 elif padding == 'valid':
69 # 'VALID' padding, same as padding=0
70 return nn.Conv2d(in_chs, out_chs, kernel_size, padding=0, **kwargs)
71 else:
72 # Default to PyTorch style 'same'-ish symmetric padding
73 padding = _get_padding(kernel_size, **kwargs)
74 return nn.Conv2d(in_chs, out_chs, kernel_size, padding=padding, **kwargs)
75 else:
76 # padding was specified as a number or pair
77 return nn.Conv2d(in_chs, out_chs, kernel_size, padding=padding, **kwargs)
78
79
80class MixedConv2d(nn.Module):

Callers 2

__init__Method · 0.85
select_conv2dFunction · 0.85

Calls 3

_is_static_padFunction · 0.85
_get_paddingFunction · 0.85
Conv2dSameClass · 0.85

Tested by

no test coverage detected