tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format=“NHWC”, name=None):
input:输入的tensor对象(x),会对该值进行卷积操作。默认形状为:[batch_size, height, width, channels], batch_size表示一个批次中的样本数目,height表示一个feature map的高度,width表示一个feature map的宽度,channels表示一个图像的feature map的数量。一般简写为NHWC。当data_format的格式为NHWC的时候,使用默认的形状,如果给给data_format给定位NCHW,那么input的格式为:[batch_size, channels, height, width]
filter: 卷积核Tensor对象(w),格式要求是一个4维的Tensor对象(一般为变量), 格式为: [height, width, in_channels, out_channels],height和width表示窗口的高度宽度,in_channels就是输入对象的通道数目,out_channels给定当前卷积之后的通道数目,也就是我们理论中所说的卷积核的数目。
strides: 给定卷积窗口的滑动步长,格式和data_format有关,是一个数组。格式: [batch, in_height, in_width, in_channels]或者[batch, in_channels, in_height, in_width], 其中batch和in_channels必须为1,in_height和in_width分别给定在高度和宽度上的滑动窗口大小。
padding:是否进行数据的填充操作,可选值:SAME表示进行最小填充,VALID表示不进行填充,直接删除多余的像素值。TensorFlow中有一个特征的值,当步长为1,padding为SAME的时候,卷积是不改变的feature map大小的。
data_format:给定数据格式是NHWC还是NCHW,默认是NHWC。
use_cudnn_on_gpu=True:是否进行cudnn加速,默认为True。
tf.nn.max_pool(value, ksize, strides, padding, data_format=“NHWC”, name=None):
value: 给定需要进行池化的tensor对象, 默认形状为:[batch_size, height, width, channels], batch_size表示一个批次中的样本数目,height表示一个feature map的高度,width表示一个feature map的宽度,channels表示一个图像的feature map的数量。一般简写为NHWC。当data_format的格式为NHWC的时候,使用默认的形状,如果给给data_format给定位NCHW,那么input的格式为:[batch_size, channels, height, width]
ksize: 包含四个整数的数组, 形状为: data_format为NHWC[batch, in_height, in_width, in_channels]或者data_format值为NCHW[batch, in_channels, in_height, in_width]; 要求batch和in_channels必须为1,in_height和in_width指定的就是池化窗口的高度和宽度
strides: 给定卷积窗口的滑动步长,格式和data_format有关,是一个数组。格式: [batch, in_height, in_width, in_channels]或者[batch, in_channels, in_height, in_width], 其中batch和in_channels必须为1,in_height和in_width分别给定在高度和宽度上的滑动窗口大小。
padding:是否进行数据的填充操作,可选值:SAME表示进行最小填充,VALID表示不进行填充,直接删除多余的像素值。TensorFlow中有一个特征的值,当步长为1,padding为SAME的时候,池化是不改变的feature map大小的。
data_format:给定数据格式是NHWC还是NCHW,默认是NHWC。
两个函数参数上主要的不同就是卷积的filter和池化的ksize的取值有所差别,前者格式为:[height, width, in_channels, out_channels],相当于输入通道和输出通道转换的一个桥梁;而后者的格式和输入数据value以及滑动步长stride是一致的,只不过ksize中的batch和in_channels均为1(和strides一样).