【整理】Tensorflow 学习笔记_CNN

tf.nn.conv2d(input_batch, kernel, strides = [1,2,3,1], padding = 'SAME')

参数input_batch:准备进行卷积的张量,如input_batch = tf.constant([

[ # 第一个输入

[[0.0], [1.0]],

[[2.0], [3.0]]

],

[ # 第二个输入

[[2.0], [4.0]],

[[6.0], [8.0]]

]

])

参数kernel:用于卷积的核(矩阵),如kenel = tf.constant([[[[1.0, 2.0]]]])


参数strides:strides参数表示的是滑窗在输入张量各个维度上的移动步长,包含四个参数,与输入向量格式相同,[batch, height, width, channels],如[1,3,3,1]

参数解析:

batch:strides[0] = 1,也即在 batch 维度上的移动为 1,也就是不跳过任何一个样本,否则当初也不该把它们作为输入(input)

height, width:单个样本的行和列维度的移动

channels:strides[3] = 1,也即在 channels 维度上的移动为 1,也就是不跳过任何一个颜色通道;


参数padding:边界填充

SAME:卷积输出与输入尺寸相同,缺失采用0填充,卷积核扫过的像素数超过图像实际像素。如:out_height = ceil(float(in_height) / float(strides[1]))

VALID:考虑滤波器尺寸,卷积核尽量不越过边界,多余部分可能丢失。如:out_height = ceil(float(in_height - filter_height + 1) / float(strides1))

你可能感兴趣的:(Tensorflow.CNN)