将 TensorFlow 顺序层乘以固定整数

数据挖掘 深度学习 张量流 强化学习
2022-03-03 15:29:35

我正在尝试制作一个简单的强化学习模型,该模型可以做出以下三个决定之一:ABC然而,C实际上将是一个“什么都不做”的决定。因为C永远不会导致动作,所以它的值应该始终为 0。

所以我要做的就是将 3 个输出节点乘以 1、1、0。也就是说,我想用一个[1,1,0]张量进行逐元素乘法,以便AB节点保留它们来自前一层的值,并且C节点总是值为 0。

我看到有一个Multiply图层类,我认为它可能有效,但我看到了功能 API 的示例。是否有另一种方法可以使用 Sequential API 做到这一点?

1个回答

事实证明这很简单。我只是使用 Lambda 层将前一个输出层乘以乘法向量。

model.add(tf.keras.layers.Dense(3)) # previous output layer
model.add(tf.keras.layers.Lambda(lambda x: x * [1,1,0])) # new output layer

它似乎工作正常。