深度学习-Maxpool

以前只是知道maxpool是取一个区域内的最大值,却没关心maxpool究竟是怎么作的ide

今天来补一下spa

 

网上的例子都是输入为4*4或者8*8等偶数形式的,对于奇数输入的maxpool却没有多少解释code

咱们这里主要解释奇数形式的maxpoolblog

对于偶数形式,网上已经讲的很是清楚了it

对于奇数形式,tensorflow是这么作的io

import os import cv2 import tensorflow as tf import numpy as np value = np.array([[[[1],[2],[3],[4],[5]],  [[6],[7],[8],[9],[10]], [[11],[12],[13],[14],[-1]]]]) print(value.shape) mat_1 = tf.Variable(value) mat_2 = tf.nn.max_pool(mat_1,  ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME') with tf.Session() as sess: sess.run(tf.global_variables_initializer()) out = sess.run(mat_2) print(out) print(out.shape)

输出为class

[[[[ 7] [ 9] [10]] [[12] [14] [-1]]]] (1, 2, 3, 1)

那么就能够看出,他是能作maxpool的先作maxpoolimport

对于凑不够2*2的,,他会在map周围补上一圈值为-inf的数,再作maxpooltensorflow

相关文章
相关标签/搜索