在Keras中對批次資料呼叫合併層(將層的輸出平均化)

2024-10-01 00:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Keras函数API,我对训练批处理中前一层的平均输出很感兴趣。在

我试着简单地调用密集层输出的Keras平均层。在

下面是一个简单的例子。在

from keras.models import  Model
from keras import layers
from keras import Input
from keras.utils import plot_model

input_tensor = layers.Input(shape=(784,))
output = layers.Dense(10,)(input_tensor)
average = layers.Average()(output)
avgout = Model(input_tensor, avgout)
avgout.summary()

我想要的是“avgout”层来给出输出层的平均输出。结果是:

^{pr2}$


Tags: 函数fromimportapiinputoutputmodellayers
1条回答
网友
1楼 · 发布于 2024-10-01 00:32:34

keras中的平均层计算多个张量的平均值,而不是一个张量的平均值。在

您可以使用keras后端意味着:

from keras import backend as K
from keras.models import  Model
from keras import layers
from keras import Input
from keras.utils import plot_model

def mean(input):
    return K.mean(input, axis=1)

input_tensor = layers.Input(shape=(784,))
output = layers.Dense(10,)(input_tensor)
average = layers.Lambda(mean, input_shape=(10,))(output)
avgout = Model(input_tensor, average)
avgout.summary()

相关问题 更多 >