
使用卷积神经网络的深度计算机视觉
|
397
•
每个颜色通道的像素强度表示为从 0 到 255 的字节,因此我们除以 255 即可缩放这
些特征,得到从 0 到 1 的浮点数。
•
然后,我们创建两个 7
×
7 的滤波器(一个在中间带有垂直白线,另一个在中间带有
水平白线)。
•
我们使用 tf.nn.conv2d() 函数应用于两个图像,这是 TensorFlow 的低层深度学习
API 的一部分。在此示例中,我们使用零填充(padding
="SAME")和步幅为 1。
•
最后,绘制一个结果特征图(类似于图 14-5 中的右上图)。
tf.nn.conv2d() 行值得更多解释:
•
images 是输入的小批量(4D 张量,如前所述)。
•
filter 是要应用的一组滤波器(也是 4D 张量,如前所述)。
•
strides 等于 1,但也可以是包含四个元素的一维度组,其中两个中间元素是垂直步
幅和水平步幅(
s
h
和
s
w
)。第一个元素和最后一个元素必须等于 1。它们可能有一天用
于指定批处理步幅(跳过某些实例)和通道步幅(跳过某些上一层的特征图或通道)。
•
padding 必须为 "SAME" 或 "VALID":
◆
如果设置为 "SAME",则卷积层在必要时使用零填充。将输出大小设置为输入神
经元的数量除以步幅(向上取整)所得的值。例如,如果输入大小为 13 而步幅
为 5(见图 14-7),则输出大小为 3(即 13/5 = 2.6,向上舍入为 3)。然后根据
需要在输入周围尽可能均匀地添加零。当 ...