带有可分离滤波器的二维卷积。
用法
tf.nn.separable_conv2d(
input, depthwise_filter, pointwise_filter, strides, padding, data_format=None,
dilations=None, name=None
)
参数
-
input
4-DTensor
形状根据data_format
。 -
depthwise_filter
4-DTensor
形状为[filter_height, filter_width, in_channels, channel_multiplier]
。包含深度为 1 的in_channels
卷积滤波器。 -
pointwise_filter
4-DTensor
形状为[1, 1, channel_multiplier * in_channels, out_channels]
。depthwise_filter
空间卷积后的逐点过滤以混合通道。 -
strides
大小为 4 的一维。input
的每个维度的深度卷积的步幅。 -
padding
控制在应用深度卷积之前如何填充图像。可以是字符串"SAME"
或"VALID"
指示要使用的填充算法的类型,或者是一个 Python 列表,指示每个维度的开始和结束处的显式填充。当使用显式填充且 data_format 为"NHWC"
时,应采用[[0, 0], [pad_top, pad_bottom], [pad_left, pad_right], [0, 0]]
的形式。当使用显式填充且 data_format 为"NCHW"
时,应采用[[0, 0], [0, 0], [pad_top, pad_bottom], [pad_left, pad_right]]
的形式。 -
data_format
输入的数据格式。 "NHWC"(默认)或"NCHW"。 -
dilations
大小为 2 的 1-D。我们在空洞卷积中跨height
和width
维度对输入值进行采样的膨胀率。如果大于 1,则所有步幅值都必须为 1。 -
name
此操作的名称(可选)。
返回
-
一个 4-D
Tensor
,形状根据 'data_format'。例如,data_format="NHWC",形状为 [batch, out_height, out_width, out_channels]。
执行单独作用于通道的深度卷积,然后执行混合通道的点卷积。请注意,这是维度 [1, 2]
和 3
之间的可分离性,而不是维度 1
和 2
之间的空间可分离性。
详细地说,使用默认的 NHWC 格式,
output[b, i, j, k] = sum_{di, dj, q, r}
input[b, strides[1] * i + di, strides[2] * j + dj, q] *
depthwise_filter[di, dj, q, r] *
pointwise_filter[0, 0, q * channel_multiplier + r, k]
strides
仅控制深度卷积的步幅,因为逐点卷积的隐含步幅为 [1, 1, 1, 1]
。必须有 strides[0] = strides[3] = 1
。对于相同水平和垂直步幅的最常见情况,strides = [1, stride, stride, 1]
。如果 rate
中的任何值大于 1,我们将执行深度深度卷积,在这种情况下,strides
张量中的所有值都必须等于 1。
相关用法
- Python tf.nn.scale_regularization_loss用法及代码示例
- Python tf.nn.softmax用法及代码示例
- Python tf.nn.sigmoid_cross_entropy_with_logits用法及代码示例
- Python tf.nn.space_to_depth用法及代码示例
- Python tf.nn.safe_embedding_lookup_sparse用法及代码示例
- Python tf.nn.sparse_softmax_cross_entropy_with_logits用法及代码示例
- Python tf.nn.sampled_softmax_loss用法及代码示例
- Python tf.nn.softmax_cross_entropy_with_logits用法及代码示例
- Python tf.nn.embedding_lookup_sparse用法及代码示例
- Python tf.nn.RNNCellResidualWrapper.set_weights用法及代码示例
- Python tf.nn.dropout用法及代码示例
- Python tf.nn.gelu用法及代码示例
- Python tf.nn.RNNCellDeviceWrapper.set_weights用法及代码示例
- Python tf.nn.embedding_lookup用法及代码示例
- Python tf.nn.RNNCellDeviceWrapper.get_weights用法及代码示例
- Python tf.nn.local_response_normalization用法及代码示例
- Python tf.nn.RNNCellResidualWrapper.add_loss用法及代码示例
- Python tf.nn.max_pool用法及代码示例
- Python tf.nn.RNNCellDropoutWrapper.set_weights用法及代码示例
- Python tf.nn.l2_loss用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.nn.separable_conv2d。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。