keras中使用cos loss(cosine proximity)

作者:luozhipeng   发表日期:2017-4-18  浏览:2,174次

 

修改losses.py中的cosine_proximity函数,如下:


def cosine_proximity(y_true, y_pred):
def l2_normalize(x, axis):
norm = K.sqrt(K.sum(K.square(x), axis=axis, keepdims=True))
return K.sign(x) * K.maximum(K.abs(x), K.epsilon()) / K.maximum(norm, K.epsilon())
y_true = l2_normalize(y_true, axis=-1)
y_pred = l2_normalize(y_pred, axis=-1)
return K.mean(y_true * y_pred, axis=-1)

注意:使用spyder时,需要重启才能生效。

本文固定链接: http://www.luozhipeng.com/?p=1222
转载请注明: luozhipeng 2017-4-18 于 罗志鹏的BLOG 发表

上一篇: :下一篇
返回顶部