在 Keras(带有 Tensorflow 后端)中,当前输入模式可用于我的自定义损失函数吗?
当前输入模式被定义为用于产生预测的输入向量。例如,请考虑以下情况:X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42, shuffle=False)
。那么当前输入模式是与 y_train 关联的当前 X_train 向量(在损失函数中称为 y_true)。
在设计自定义损失函数时,我打算优化/最小化需要访问当前输入模式的值,而不仅仅是当前的预测。
我已经浏览过了https://github.com/fchollet/keras/blob/master/keras/losses.py https://github.com/fchollet/keras/blob/master/keras/losses.py
我也看过《成本函数不仅仅是 y_pred、y_true? https://github.com/fchollet/keras/issues/7379"
我也熟悉以前的示例来生成定制的损失函数:
import keras.backend as K
def customLoss(y_true,y_pred):
return K.sum(K.log(y_true) - K.log(y_pred))
想必(y_true,y_pred)
在别处定义。我浏览了源代码但没有成功,我想知道我是否需要自己定义当前的输入模式,或者我的损失函数是否已经可以访问它。