python - 自定义 Keras 损失(不具有 f(y_true, y_pred) 形式)
问题描述
def charbonnier(I_x, I_y, I_t, U, V, e):
loss = K.sqrt(K.pow((U*I_x + V*I_y + I_t), 2) + e)
return K.sum(loss)
我想使用这个成本函数并针对 U 和 V 对其进行优化。我目前正在努力让它与 Keras 一起工作,因为 Keras 损失函数只能具有 f(y_true, y_pred) 的形式。
我的模型是完全无人监督的,我没有真实情况。I_x、I_y 和 I_t 是常数,模型的目标是学习最小化 E(F) 的 U 和 V。所以我的问题是:在 Keras 中实现这种损失函数(不具有 f(y_true, y_pred) 形式)的正确方法是什么?
解决方案
定义损失函数如下:
def charbonnier(I_x, I_y, I_t, U, V, e)
def loss_fun(y_true, y_pred):
loss = K.sqrt(K.pow((U*I_x + V*I_y + I_t), 2) + e)
return K.sum(loss)
return loss_fun
推荐阅读
- firebase - 如何将凭据添加到firebse testlab以在flutter android应用程序中自定义登录
- echo - cmd echo 可以从重定向到标准输入的文件中获取输入吗?
- python - Omsnx 图具有透明背景
- c++ - 如何正确处理注入的dll的依赖关系
- javascript - 滚动时如何在菜单栏下隐藏日历
- sql - Oracle 12c:WHERE NOT 与 WHERE ... 或
- javascript - DevExpress Reactive 使用自定义过滤器时获取所有过滤器
- java - 如何将默认方法提取到扩展 java.util.function.Predicate 的基本 Predicate
- python - ModuleNotFoundError 尽管安装了 Python 模块 PyBluez
- javascript - Sinonjs没有存根类方法