【发布时间】:2021-05-15 08:05:03
【问题描述】:
我在 tensorflow 中定义一个模型,作为损失函数,我编写了自己的自定义损失函数。总的来说,我在正常的 MSE 函数之外加上了一个惩罚项:
return K.mean(K.square(y_true - y_pred)) + penalty
这个惩罚是由一些输入元素和一些目标之间的乘积和总和给出的(我没有报告代码,因为它与问题无关)。
现在,一切正常,但我需要向数据集中添加一种新的示例,其中一些特征和输出的值为零。
因此,在批处理中(在训练期间)两种类型的示例,即具有零值和没有它们的示例,我需要一种适用于整个批处理的条件语句,以便我可以计算 penalty in基于条件评估的两种不同方式。
可以吗?
【问题讨论】:
-
好像你在找
tf.cond -
是的,但我不确定我是否可以批量使用它。或者,如果我可以在批处理上使用它,我认为我不能仅根据 tf.cond 的结果对不同的批处理元素应用不同的计算。我正在考虑对批处理元素进行某种循环,然后在每个 tf.cond 上进行循环,但我没有找到类似的东西
-
贴一个你想做的简单例子,我看看能不能帮忙。
-
好的,我会清理一下我的自定义丢失,所以我们不需要任何背景知识,然后编辑问题
标签: python tensorflow deep-learning neural-network loss-function