depthwise_conv2d¶
dragon.nn.
depthwise_conv2d
(
inputs,
kernel_shape=3,
strides=1,
pads=0,
dilations=1,
padding='VALID',
data_format='NCHW',
**kwargs
)[source]¶Apply the 2d depthwise convolution. [Chollet, 2016].
- If
data_format
is'NCHW'
, excepts input shape \((N, C_{\text{in}}, H, W)\), weight shape \((C_{\text{out}}, 1, H_{\text{k}}, W_{\text{k}})\), and output shape is \((N, C_{\text{out}}, H_{\text{out}}, W_{\text{out}})\). - If
data_format
is'NHWC'
, excepts input shape \((N, H, W, C_{\text{in}})\), weight shape \((C_{\text{out}}, H_{\text{k}}, W_{\text{k}}, 1)\), and output shape is \((N, H_{\text{out}}, W_{\text{out}}, C_{\text{out}})\). - If
padding
is'VALID'
,pads
controls the explicit padding size. Otherwise, size are computed automatically use the given method.
Examples:
x = dragon.ones((1, 2, 2, 2)) w = dragon.ones((2, 1, 1, 1)) y = dragon.nn.depthwise_conv2d([x, w], kernel_shape=1) assert y.shape == (1, 2, 2, 2)
- Parameters:
- inputs (Sequence[dragon.Tensor]) – The tensor
x
,weight
and optionalbias
. - kernel_shape (Union[int, Sequence[int]], optional, default=3) – The shape of convolution window.
- strides (Union[int, Sequence[int]], optional, default=1) – The stride of convolution window.
- pads (Union[int, Sequence[int]], optional, default=0) – The zero padding size.
- dilations (Union[int, Sequence[int]], optional, default=1) – The rate of dilated convolution.
- padding (str, optional, default='VALID') –
'VALID'
,'SAME'
,'SAME_UPPER'
or'SAME_LOWER'
. - data_format (str, optional, default='NCHW') –
'NCHW'
or'NHWC'
.
- inputs (Sequence[dragon.Tensor]) – The tensor
- Returns:
dragon.Tensor – The output tensor.
- If