在keras回调中使用带有自定义参数的自定义函数

阿西姆

我正在训练喀拉拉邦的模型,我想在每个时期后绘制结果图。我知道keras回调提供了“ on_epoch_end”函数,如果一个人想在每个纪元后进行一些计算,可以重载,但是我的函数需要一些附加参数,这些参数给出时会因元类错误而使代码崩溃。详细信息如下:

这是我现在正在做的事情,工作正常:-

class NewCallback(Callback):

def on_epoch_end(self, epoch, logs={}):  #working fine, printing epoch after each epoch
    print("EPOCH IS: "+str(epoch))


epochs=5
batch_size = 16
model_saved=False
if model_saved:
    vae.load_weights(args.weights)
else:
    # train the autoencoder
    vae.fit(x_train,
            epochs=epochs,
            batch_size=batch_size,
            validation_data=(x_test, None),
           callbacks=[NewCallback()])

但我想要这样的回调函数:-

class NewCallback(Callback,models,data,batch_size):
   def on_epoch_end(self, epoch, logs={}):
     print("EPOCH IS: "+str(epoch))
     x=models.predict(data)
     plt.plot(x)
     plt.savefig(epoch+".png")

如果我这样称呼它:

callbacks=[NewCallback(models, data, batch_size=batch_size)]

我收到此错误:

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases 

我正在寻找一个更简单的解决方案来调用我的函数或解决此元类错误,任何帮助将不胜感激!

佩德罗·马克斯

我认为您想做的是定义一个从回调派生的类,并将模型,数据等作为构造函数参数。所以:

class NewCallback(Callback):
    """ NewCallback descends from Callback
    """
    def __init__(self, models, data, batch_size):
        """ Save params in constructor
        """
        self.models = models

    def on_epoch_end(self, epoch, logs={}):
        x = self.models.predict(self.data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在回调函数中使用自定义钩子

在prepareForSegue中使用自定义init(带有参数)

处理带有额外回调的自定义登录

Javascript 自定义回调函数

在Wordpress中使用CMB2添加具有自定义回调功能的自定义元框?

如何在JavaScript中使用自定义参数执行回调

带有参数的jQuery自定义函数

从带有参数的自定义文件中调用函数

Keras:无法在模型中使用自定义损失函数

带有 HTACCESS 的自定义参数

使用带有自定义构造函数的std :: set自定义比较器

使用带有搜索参数的自定义 Hook

在翻新回调中接收自定义参数

Quickblox:自定义模块-自定义回调函数,而不是默认的“ completedWithResult”

在 tidyverse 中使用自定义函数

在HugSQL中使用自定义函数

在 ddply 中使用自定义函数

如何为回调创建自定义函数-TensorFlow

Ajax可自定义的错误回调函数

jQuery函数自定义加扰回调

使用 purrr 使用带有 2 个或更多参数的自定义函数进行映射

在方法参数中使用带有自定义对象的泛型

在带有多个参数的自定义模板标签的模板中使用“ if”

在Pandas滚动时使用带有参数的自定义函数

如何在C ++中使用带有自定义排序成员函数的sort()?

在python中使用带有apply的自定义函数时出现IndexingError

在 R 中使用带有自定义函数的 apply 删除 for 循环

提供自定义组件的回调

带有回调的自定义 React Hook 正在关闭