convolution¶
dragon.vm.tensorflow.nn.
convolution
(
input,
filters,
strides=1,
padding='VALID',
data_format='NHWC',
dilations=1,
name=None,
**kwargs
)[source]¶Apply the n-dimension convolution.
- If
data_format
is'NCHW'
, excepts input shape \((N, C_{\text{in}}, D1, D2, ...)\), filters shape \((C_{\text{out}}, C_{\text{in}}, D1_{\text{f}}, D2_{\text{f}}, ...)\), and output shape is \((N, C_{\text{out}}, D1_{\text{out}}, D2_{\text{out}}, ...)\). - If
data_format
is'NHWC'
, excepts input shape \((N, D1, D2, ..., C_{\text{in}})\), filters shape \((C_{\text{out}}, D1_{\text{f}}, D2_{\text{f}}, ..., C_{\text{in}})\), and output shape is \((N, D1_{\text{out}}, D2_{\text{out}}, ..., C_{\text{out}})\). padding
could be'VALID'
,'SAME'
or explicit padding size.
Examples:
for i in range(3): ndim = i + 1 x = tf.ones((1,) + (2,) * ndim + (2,)) filters = tf.ones((3,) + (1,) * ndim + (2,)) y = tf.nn.convolution(x, filters) assert y.shape == (1,) + (2,) * ndim + (3,)
- Parameters:
- input (dragon.Tensor) – The input tensor.
- filters (dragon.Tensor) – The filters tensor.
- strides (Union[int, Sequence[int]], optional, default=1) – The stride of convolution window.
- padding (Union[int, Sequence[int], str], optional, default='VALID') – The padding algorithm or size.
- data_format (str, optional, default='NHWC') –
'NCHW'
or'NHWC'
. - dilations (Union[int, Sequence[int]], optional, default=1) – The rate of dilated filters.
- name (str, optional) – The operation name.
- Returns:
dragon.Tensor – The output tensor.
- If