TensorFlow函数教程:tf.nn.erosion2d
2019-01-31 13:47 更新
tf.nn.erosion2d函数
tf.nn.erosion2d(
value,
kernel,
strides,
rates,
padding,
name=None
)
定义在:tensorflow/python/ops/nn_ops.py
请参阅指南:神经网络>形态学滤波
计算4-D value和3-D kernel张量的灰度腐蚀.
value张量具有shape [batch, in_height, in_width, depth],并且kernel张量具有shape [kernel_height, kernel_width, depth],即,每个输入通道都独立于其他输入通道(具有自己的结构功能)进行处理.该output张量具有shape [batch, out_height, out_width, depth].输出张量的空间维度取决于padding算法.我们目前只支持默认的“NHWC” data_format.
详细地说,灰度形态2-D腐蚀由下列式子给出:
output[b, y, x, c] =
min_{dy, dx} value[b,
strides[1] * y - rates[1] * dy,
strides[2] * x - rates[2] * dx,
c] -
kernel[dy, dx, c]
对偶性:kernel对value的侵蚀等于反射kernel对-value的扩张的否定.
参数:
- value:一个Tensor,是4-D的,具有shape [batch, in_height, in_width, depth].
- kernel:一个Tensor,必须与value具有相同类型,是3-D的,具有shape [kernel_height, kernel_width, depth].
- strides:ints列表,长度>= 4.1-D的,长度为4.输入张量的每个维度的滑动窗口的步幅.必须是:[1, stride_height, stride_width, 1].
- rates:ints列表,长度>= 4.1-D的,长度为4.输入步幅为atrous形态扩张.必须是:[1, rate_height, rate_width, 1].
- padding:string,可以是:"SAME", "VALID".要使用的填充算法的类型.
- name:操作的名称(可选).如果未指定,则使用“erosion2d”.
返回:
该函数返回一个Tensor.与value具有相同的类型.4-D的,具有shape [batch, out_height, out_width, depth].
可能引发的异常:
- ValueError:如果value深度与kernel的shape不匹配,或者填充不是'VALID'或者'SAME'.