深度學習-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

相關文章
相關標籤/搜索