如何在Keras中创建一个随epoch变化的损失函数



我想创建一个自定义损失函数,它有一个权重项,根据我所处的纪元更新。

例如

:假设我有一个损失函数,它具有beta权值,其中β在前20个epoch中增加…

def custom_loss(x, x_pred): 
    loss1 = objectives.binary_crossentropy(x, x_pred)
    loss2 = objectives.mse(x, x_pred)
    return (beta*current_epoch/20) * loss1 + loss2

我怎么能实现像这样的东西到keras损失函数?

查看他们的文档,他们提到可以使用ano/Tf符号函数为每个数据点返回一个标量。你可以这样写

loss = tf.contrib.losses.softmax_cross_entropy(x, x_pred) * 
       (beta * current_epoch / 20 ) +  
       tf.contrib.losses.mean_squared_error

你必须传递x和x_pred作为x和x_pred作为tf.占位符我认为对于模型创建,你可以使用keras但是你必须使用sess。run()

来运行计算图

引用:https://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html using-keras-models-with-tensorflow

相关内容

  • 没有找到相关文章

最新更新