如何在Keras自定义图层计算中使用一些动态变量
我试图基于在on_epoch_end回调中填充的列表对象在Keras自定义层中执行一些操作,但是问题在于,自定义层初始化时会实例化此“列表”对象以及其中发生的所有更改“列表”的回调不会传播到自定义图层列表实例化。
class MyLayer(Layer):
def __init__(self, num, **kwargs):
super(MyLayer, self).__init__(**kwargs)
self.num = num
def build(self, input_shape):
super(MyLayer, self).build(input_shape)
def call(self, x):
return dostuff(x,self.num,self
.getlis())
def compute_output_shape(self, input_shape):
return input_shape
def getlis(n):
return stat.lis
类统计: lis = []
我想在回调函数中更改此lis对象,并在正向传递中发挥作用
目前,我确实在自定义图层计算中看到了更新列表对象的效果,我怀疑在初始化图层时,其所有变量都是静态初始化的