tf.nn.conv2d的作用是实现卷积操作,其语法格式如下:
tf.nn.conv2d(
input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format='NHWC',
dilations=[1, 1, 1, 1],
name=None
)
其中:
1、input:为需要进行卷积操作的输入图像,其必须为一个张量(Tensor),具有[batch,in_height,in_width,in_channels]这样的4维shape,分别是图片数量、图片高度、图片宽度、图片通道数,数据类型为float32或float64。
2、filter:是卷积核,其也必须是张量(Tensor),具有[filter_height, filter_width, in_channels, out_channels]四个维的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同。需要注意,此处的图像通道数和input的需相同。
3、strides:卷积在每一维的步长,一般为一个一维向量,长度为4,一般为[1,stride,stride,1],注意第一位和最后一位必须是1.
4、padding:是一个字符串(string)类型的量,其一般有两个取值,即padding = “SAME”(边缘填充)或者padding = “VALID”(边缘不填充)。
注意:若padding = “SAME”,则输出特征图和输入图像尺寸相同;若padding = “VALID”,则输出特征图一般比输入图像小。
5、use_cudnn_on_gpu:bool 类型,是否使用 cudnn 加速,默认为 true。
注意该函数最后的返回值仍然是一个Tensor.