我正在寻找一种方法来使用tf.scatter_add与Keras批次 . 输出形状: (?, 1000) 以及索引和更新的形状各为 (?, 100) .

尝试1:使用Keras张量

vals = tf.scatter_add(outputs, indices, updates)

这会引发错误:

'Tensor'对象没有属性'_lazy_read'

Try2:尝试使用应该可更新的k.variable

vals = K.variable(outputs)
vals = tf.scatter_add(vals, inputs[1], inputs[2])

ValueError:initial_value必须具有指定的形状:Tensor(“scatter_add_43 / zeros_like:0”,shape =(?,1000),dtype = float32))

有什么线索吗? Scatter_addbatch_scatter_add 导致相同的错误 . 我需要为此编写自定义图层吗?似乎甚至会遇到上述错误之一 .