热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Keras自定义损失函数

Keras内置损失函数都预定义在keras.metrics.losses中,以MSE为例,其预定义方法如下:defmean_square

Keras内置损失函数都预定义在keras.metrics.losses中,以MSE为例,其预定义方法如下:

def mean_squared_error(y_true, y_pred):return K.mean(K.square(y_pred - y_true), axis=-1)

我们可以仿照其写法,定义自己的损失函数。例如何凯明大神在论文Focal Loss for Dense Object Detection中提出的focal loss,keras是没有预定义的,我们自己用keras实现一下:

def focal_loss_fixed(y_true, y_pred):# tensorflow backend, alpha and gamma are hyper-parameters which can set by youpt_1 = tf.where(tf.equal(y_true, 1), y_pred, tf.ones_like(y_pred))pt_0 = tf.where(tf.equal(y_true, 0), y_pred, tf.zeros_like(y_pred))return -K.sum(alpha * K.pow(1. - pt_1, gamma) * K.log(pt_1)) - K.sum((1 - alpha) * K.pow(pt_0, gamma) * K.log(1. - pt_0))

 


推荐阅读
author-avatar
看人生愤怒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有