其作用是给定一个4维的输入和一个四维的卷积核,计算得到一个四维的卷积结果
先看看参数:
def conv2d(input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format="NHWC",
dilations=[1, 1, 1, 1],
name=None)
input:被卷积对象,一个四维的输入张量,默认的维度顺序是[batch,in_height,in_width,in_channels],可以根据参数‘data_format’的值进行修改。数据类型只能是‘half’,'bfloat16','float32','float64'中的一种
filter:卷积核,也是四维[filter_height,filter_width,in_channels,out_channels],其中的in_channels必须与input中的inchannels一致,
(filter_height,filter_width)就是我们能想到的在input上移动的小方块的,out_channels是对应于一个输入你希望它有几个输 出,注意out_channels与in_channels没有必然联系,因为计算时多个in_channels的结果会相加到一个输出结果中
strides:长度为4的列表,卷积时在每一维上滑动的步数,每一分量对应input每一维的滑动步数,但第0维和第3维上的值必须是 1,即对一批数据中每个输入通道上的数据都要进行计算。一般让水平和竖直的滑动步数相同,即strides= [1,stride,stride,1]
padding:指定卷积方式,是‘SAME’的话卷积结果与input的维度相同(通过在input中补0来实现),是‘VALID’的话就不补0
use_cudnn_on_gpu:是否用GPU加速,默认是
data_format:输入数据的组织方式,默认是‘NHWC’,即[batch,height,width,channels],也可选择用'NCHW',
即[batch,channels,height,width]
dilations:长度为4的一维张量,.The dilation factor for each dimension of`input`. If set to k > 1, there will be k-1
skipped cells between each filter element on that dimension. Dilations in the batch and depth dimensions
must be 1.(这个不太理解)
name: A name for the operation (optional)