如何在Keras中创建自定义回调以在VAE训练中生成样本图像?

我正在训练一个简单的VAE模型,处理64*64的图像,我想在每个周期或每几批次后查看生成的图像以观察进展。

当我训练模型时,我会等到训练完成后再查看结果。

我尝试在Keras中创建一个自定义回调函数来生成并保存图像,但没有成功。这是可能的吗?我找不到任何类似的方法。

如果您能推荐一个解释如何操作的资源,或展示一个例子,那将非常棒。

注意:我对一个干净的Keras.callback解决方案感兴趣,而不是遍历每个周期,训练并生成样本


回答:

如果你仍然需要它,你可以定义一个Keras中的自定义回调,作为keras.callbacks.Callback的子类:

class CustomCallback(keras.callbacks.Callback):    def __init__(self, save_path, VAE):        self.save_path = save_path        self.VAE = VAE    def on_epoch_end(self, epoch, logs={}):        #加载图像        #使用self.VAE.encoder.predict(image)获取潜在空间        #使用self.VAE.decoder.predict(latent_space)获取重建图像        #使用matplotlib.pyplot绘制重建图像

然后定义回调为image_callback = CustomCallback(...),并将image_callback放入回调列表中

Related Posts

多维度Top-k评分

例如,在机器学习中的自然语言处理中,通常使用波束搜索来…

R – Caret train() “错误:停止” 与 “在newdata中未找到对象中使用的所有变量名”

我正在尝试为蘑菇数据构建一个简单的朴素贝叶斯分类器。我…

创建训练和测试数据集分割,数据嵌套在多个文件夹中

我正在准备数据以训练一个图像识别模型。目前我有一个文件…

我的神经网络预测出现错误:IndexError: list index out of range

我正在进行一个简单的垃圾邮件/非垃圾邮件文本分类。我的…

python 给出数组是一维的,但索引了两个维度错误

我已经为 miniBatchGradientDesce…

TensorFlow自定义训练步骤使用不同的损失函数

背景 根据TensorFlow文档,可以使用以下方式执…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注