2024-07-03 05:53:43 发布
网友
我想在Keras中实现一个自定义丢失,它将最后一个仿射层作为输入。这是Hariharan et al. 2017中描述的SGM损耗
这意味着损失函数不仅得到y_真和y_预测作为参数,而且还得到最后一个仿射层。如何在keras中实现这一点?在
您可以创建自己的自定义层并在call方法中调用self.add_loss。该值应为批处理中样本的平均标量张量。在编译模型时,这将被添加到通常的损失函数中(即y_true和{}的函数)。如果这不是必需的,您还可以选择指定loss=None。在
call
self.add_loss
y_true
loss=None
例如参见https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py,其中KL散度与Bernoulli负对数似然相加,形成变分自动编码器的负证据下限损失。在
您可以创建自己的自定义层并在}的函数)。如果这不是必需的,您还可以选择指定
call
方法中调用self.add_loss
。该值应为批处理中样本的平均标量张量。在编译模型时,这将被添加到通常的损失函数中(即y_true
和{loss=None
。在例如参见https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py,其中KL散度与Bernoulli负对数似然相加,形成变分自动编码器的负证据下限损失。在
相关问题 更多 >
编程相关推荐