TensorFlow 最大池化

2021-08-03 15:57:48 字數 1175 閱讀 2455

由 aphex34 (自己的作品) cc by-sa 4.0, 通過 wikimedia commons 共享

這是乙個最大池化的例子max pooling 用了 2x2 的濾波器 stride 為 2。四個 2x2 的顏色代表濾波器移動每個步長所產出的最大值。

例如[[1, 0], [4, 6]]生成6,因為6是這4個數字中最大的。同理[[2, 3], [6, 8]]生成8。 理論上,最大池化操作的好處是減小輸入大小,使得神經網路能夠專注於最重要的元素。最大池化只取覆蓋區域中的最大值,其它的值都丟棄。

tensorflow 提供了tf.nn.max_pool()函式,用於對卷積層實現 最大池化 。

...

conv_layer = tf.nn.conv2d(input, weight, strides=[1, 2, 2, 1], padding='same')

conv_layer = tf.nn.bias_add(conv_layer, bias)

conv_layer = tf.nn.relu(conv_layer)

conv_layer = tf.nn.max_pool(

conv_layer,

ksize=[1, 2, 2, 1],

strides=[1, 2, 2, 1],

padding='same')

tf.nn.max_pool()函式實現最大池化時,ksize引數是濾波器大小,strides引數是步長。2x2 的濾波器配合 2x2 的步長是常用設定。

ksizestrides引數也被構建為四個元素的列表,每個元素對應 input tensor 的乙個維度 ([batch, height, width, channels]),對ksizestrides來說,batch 和 channel 通常都設定成1

TensorFlow實現反池化

如下圖,將輸入的尺寸擴大為原來兩倍,輸入值填充到新的每個2 2網格的左上角,其餘三個填0。tensorflow中沒有反池化函式,以下是 實現。2x2反池化 def unpool value,name unpool with tf.name scope name as scope sh value.g...

簡述平均池化和最大池化

最大池化在googlenet的 中提到,先附上著名的網路結構googlenet及其延伸版本,以便自己日後的學習。inception v1 going deeper with convolutions inception v2 batch normalization accelerating deep...

池化選擇 全域性最大池化和全域性平均池化的實驗分析

類響應圖示例 圖中高亮區域就是根據label的注意圖高響應區域 具體得到的這個相應區的方法是 1 訓練主幹網路得到特徵圖 2 進行全域性池化 圖中用的gap,也可以使用gmp 3 對全域性池化的結果做全連線得到全連線引數 w 4 把全連線引數作為權重對特徵圖進行加權求和 上圖最下方的公式 根據對影象...