理解keraspool2d

理解keraspool2d,keras,Keras,我的代码如下: from keras.models import Sequential from keras.layers.core import Dropout, Reshape import numpy as np from keras.layers import Convolution2D, ZeroPadding2D, MaxPooling2D import keras from keras import backend as K from keras.engine.topology i

我的代码如下:

from keras.models import Sequential
from keras.layers.core import Dropout, Reshape
import numpy as np
from keras.layers import Convolution2D, ZeroPadding2D, MaxPooling2D
import keras
from keras import backend as K
from keras.engine.topology import Layer, InputSpec

print K.image_data_format()
x = np.ones((1, 2, 2, 1))
x[0][0][0][0]=2
n = 2
squared = K.square(x)
print K.eval(squared)

pooled = K.pool2d(squared, (n, n), strides=(1, 1), padding="same", pool_mode="avg")
print K.eval(pooled)
以下是汇总的结果:

[[[[1.75]
   [1.  ]]

  [[1.  ]
   [1.  ]]]]
我理解平均池,但我不知道为什么结果是这样的。谁能给我解释一下结果吗? 我在tensorflow后端使用Keras,我的图像数据格式是“channels\u last”


谢谢。

你把问题弄得太复杂了。当您可以直接执行
x[0,0,0,0]=4
时,为什么要执行使用
K.square(x)
的步骤?请把你的问题说得更清楚、更简短。任何人都可以更容易地帮助你。啊,实际上这段代码只是大代码的一部分。我只是复制一个片段来运行并理解它是如何工作的。Tks。