如何访问 MLP 输出层中单个神经元的权重?

数据挖掘 神经网络 深度学习 喀拉斯 多类分类 毫升
2022-02-18 10:51:24

我正在使用 Keras 研究神经网络。它是一个 mlp(多层感知器)。输出层有 8 个神经元。有没有一种方法可以在每次迭代时访问输出层的单个神经元的权重和偏差?

2个回答

我猜你想要这样的东西:

model.layers[-1].get_weights()

回调函数可用于 model.layers[-1].get_weights()获取每次迭代的权重。

weights=[]
getweights = LambdaCallback(on_epoch_end=lambda batch, logs: weights.append(model.layers[-1].get_weights()[1]))
model.fit(x, y, batch_size=5,epochs=10, callbacks=[getweights])
print(weights)

在给定的代码中,权重是一个列表,其中包含输出层的第一个神经元/类的权重值。