我试图理解在TF2.0中,是否可以象征性地将另一个TF.变量添加到LSTM(self.kernel)的权重变量中,我将在训练期间控制它(它本身可能是不可训练的)
例如:
class AwesomeLSTM(tf.keras.layers.LSTM)
def build(...)
super().build(...)
self.new_weight = self.add_weight(shape=self.kernel.shape, ...)
self.kernel = self.kernel + self.new_weight
但是当我改变self.new_权重时,self.kernel的值没有改变。有什么想法吗
我在我的一个项目中遇到了类似的问题(但不是在LSTM上)。 从我所能看出的问题是,当调用
model.build()
时,取的是self.new_weight
的numpy值,而不是符号变量一个对我有效的解决方法是在调用函数中添加新的_权重。在这种情况下,您需要一个不同的内核,以便添加不会聚合:
在测试时,您需要记住
layer.kernel
在再次调用层之前不会改变希望这能有所帮助,当有人找到一种方法来象征性地做这件事时,我也会非常感兴趣
相关问题 更多 >
编程相关推荐