我意识到我要问的内容可能无法实现,但是我想尝试一下。 我正在构建一个NN分类器,并想使用一个自定义损失函数,该函数涉及使用多个库和numpy函数完成的复杂计算。一个非常简单(天真)的尝试是:
def custom_loss(y_true, y_pred):
return compute_loss(y_pred, some_feature)
其中compute_loss
是为我提供所需数量的函数(这还取决于训练过程中未提供给NN的其他功能)。
TensorFlow使用此方法抱怨张量不具有compute_loss
中使用的某些属性。在返回值前加上tf.constant无济于事。最明显的方法(至少对我而言)是将compute_loss
中的每个操作转换为tf函数,但这会花费一些时间,并且容易出错。所以我的问题是:
是否有一种方法(除了将函数中的所有内容转换为tf函数之外),可以使用不对张量进行运算的自定义损失函数?
如何根据模型或训练数据中不存在的数量创建损失函数?我已经看到了用于此功能的Lambda图层,但我不确定如何确定细节
感谢您的帮助,如果问题不清楚,我深表歉意