Python 使用vae.fit in Keras时出现值错误
我在mnist数据集上创建了一个vae模型,希望能够根据时代绘制损失函数。但是,我遇到一些问题,无法在线找到解决方案。在导入过程中,我有以下导入(只是为了给代码提供一些上下文): 我还创建了一个名为bn的函数,用于我自己的损失计算,并创建了类KL disferencelayer,它在最终模型损失中添加了一个KL发散层 代码: 我得到的错误信息如下:Python 使用vae.fit in Keras时出现值错误,python,tensorflow,machine-learning,keras,deep-learning,Python,Tensorflow,Machine Learning,Keras,Deep Learning,我在mnist数据集上创建了一个vae模型,希望能够根据时代绘制损失函数。但是,我遇到一些问题,无法在线找到解决方案。在导入过程中,我有以下导入(只是为了给代码提供一些上下文): 我还创建了一个名为bn的函数,用于我自己的损失计算,并创建了类KL disferencelayer,它在最终模型损失中添加了一个KL发散层 代码: 我得到的错误信息如下: ValueError: Layer model expects 2 input(s), but it received 1 input tensor
ValueError: Layer model expects 2 input(s), but it received 1 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(100, 784) dtype=float32>]
ValueError:层模型需要2个输入,但收到1个输入张量。收到的投入:[]
问题出在您的eps层。这不是一个模型输入
您可以将其替换为以下简单图层:
eps = Lambda(lambda t: K.random_normal(stddev=1.0, shape=(K.shape(t)[0], latent_dim)))(z_log_var)
你可以在这里找到跑步笔记本:
非常感谢您!你的解决方案成功了,干杯。
ValueError: Layer model expects 2 input(s), but it received 1 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(100, 784) dtype=float32>]
eps = Lambda(lambda t: K.random_normal(stddev=1.0, shape=(K.shape(t)[0], latent_dim)))(z_log_var)