python - Keras 加权二元交叉熵卡住
问题描述
我正在尝试在 Keras 中实现来自 TF 的加权交叉熵。来自 TF 网站的文档:https ://www.tensorflow.org/api_docs/python/tf/nn/weighted_cross_entropy_with_logits
这就是我所做的:
import tensorflow as tf
from keras import backend as K
# Create the custom loss function
def weighted_binary_crossentropy(weights):
def w_binary_crossentropy(y_true, y_pred):
return K.mean(tf.nn.weighted_cross_entropy_with_logits(
y_true,
y_pred,
weights,
name=None
), axis=-1)
return w_binary_crossentropy
# Optimizers, Loss and Compile
adam = Adam(lr=0.0001)
weighted_loss = weighted_binary_crossentropy(weights=1)
model.compile(optimizer=adam, loss=weighted_loss, metrics=['accuracy'])
训练开始,但损失没有得到更新/卡住。我的期望是如果我将权重设置为 1,那么结果将与标准交叉熵损失相同。我错过了什么吗?
解决方案
推荐阅读
- jquery - 防止 JQM 导致页面在表单提交时滚动到顶部
- c# - 具有正确距离的 WriteLine/Print Arraylist
- python - 将 Pandas DataFrame 中的过滤行替换为另一个 DataFrame
- pddl - PDDL 如何为多个谓词分配编号
- php - 根据用户角色向未登录用户显示 WooCommerce 折扣的可能折扣
- javascript - 有没有一种简单的方法来提及所有 Discord 用户的角色?
- sql - oracle sql:“获取或插入”存储过程
- python - list_filter 以选择作为值
- javascript - 我试图通过改变宽度来隐藏数组中的所有元素。在函数内部使用了 setInterval 但它只对最后一个元素正确运行
- prolog - Prolog:查找并放入列表中的重复项