赞
踩
计算卷积后的图片的大小
卷积核的使用
卷积核的特征数量
卷积函数的使用
池化函数的使用
定义如下:
O = 输出图像的尺寸。
I = 输入图像的尺寸。
K = 卷积层的核尺寸
N = 核数量
S = 移动步长
P =填充数
基本公式为:
O = ⌈ I − K + 2 × P S ⌉ + 1 O = \bigg\lceil\frac{I-K+2\times P}{S}\bigg\rceil+1 O=⌈SI−K+2×P⌉+1
**默认:**P = 0
符号:( ⌈ ⌉ \lceil \quad \rceil ⌈⌉ ):向上取整
输出图像尺寸的计算公式如下:
O = ⌈ I − K + 2 × 0 S ⌉ + 1 O = \bigg\lceil\frac{I-K+2\times 0}{S}\bigg\rceil+1 O=⌈SI−K+2×0⌉+1
例如:输入图片28x28,卷积核3x3 ,步长h=2, w=2,计算结果:
\bigg\lceil\frac{28-3+2\times 0}{2}\bigg\rceil+1=14
(28 -3)/2 = 12.5,向上取整为13 所以最后为14
注意:
默认:p = 1
公式为:
O = ⌈ I − K + 2 × p S ⌉ − 1 O = \bigg\lceil\frac{I-K+2\times p}{S}\bigg\rceil-1 O=⌈SI−K+2×p⌉−1
例如: 输入图片28x28,卷积核3x3 ,步长h=2, w=2,计算结果:
O = ⌈ 28 − 3 + 2 × 1 2 ⌉ − 1 = 13 O = \bigg\lceil\frac{28-3+2\times 1}{2}\bigg\rceil-1 = 13 O=⌈228−3+2×1⌉−1=13
(28-3+2)/2 =13.5 向上取整 14 减 1 = 13
在TensorFlow
中:池化操作:(tf.nn.max_pool()
)
步长为1 时,图片尺寸不变
步长相同,尺寸不同时,图片尺寸相同
步长不同,尺寸相同时,图片尺寸不同
定义如下:
O = 输出图像的尺寸。
I = 输入图像的尺寸。
S = 移动步长
PS = 池化层尺寸
**注意:**不同于卷积层,池化层的输出通道数不改变
输出图像尺寸的计算公式如下:
符号:($\lceil\quad \rceil$
) 代表向上取整
O =\bigg\lceil\frac{I - P_S}{S}\bigg\rceil+1
**例:**原图=[1,28,28,1] ksize=[1,2,2,1], strides=[1,3,3,1] 结果:(1, 10, 10, 1),计算过程
O=\bigg\lceil\frac{28-2}{3} \bigg\rceil +1 = 10
(28-2)/3 = 8.6666667 向上取整为:9 加1 = 10
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
import matplotlib.pyplot as plt
# 获取数据集
mnist = input_data.read_data_sets(r'E:\PycharmProjects\TensorflowTest\MNIST_data', one_hot=True)
# in_x = tf.Variable(tf.zeros([1,28,28,1]), dtype=tf.float32)
in_x = tf.placeholder(dtype=tf.float32, shape=[1,28,28,1])
pool1 = tf.nn.max_pool(in_x,ksize=[1,2,2,1],strides=[1,1,1,1],padding='SAME')
pool2 = tf.nn.max_pool(in_x,ksize=[1,2,<
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。