在ecery-batch-keras中获取训练数据
我想知道是否有可能获得每批KERA中使用的培训数据集 很容易得到y_true和y_pred,但我想知道在该批次中用于预测的训练数据集在ecery-batch-keras中获取训练数据,keras,deep-learning,loss-function,Keras,Deep Learning,Loss Function,我想知道是否有可能获得每批KERA中使用的培训数据集 很容易得到y_true和y_pred,但我想知道在该批次中用于预测的训练数据集 def my_loss(y_true, y_pred): loss=K.mean(K.abs(y_true-y_pred)) return loss model.compile(loss=my_loss, optimizer='rmsprop', metrics=['mae']) 这是OK 但我想要这样的东西: def my_loss(y_tr
def my_loss(y_true, y_pred):
loss=K.mean(K.abs(y_true-y_pred))
return loss
model.compile(loss=my_loss, optimizer='rmsprop', metrics=['mae'])
这是OK
但我想要这样的东西:
def my_loss(y_true, y_pred, x_train):
my_loss() missing 1 required positional argument: 'x_train'
def custom_loss(x_train):
def my_loss(y_true, y_pred):
loss=K.mean(K.abs(y_true-y_pred))
# do something with x_train
return loss
return my_loss
感谢您的帮助如果您希望传递除
y\u true
和y\u pred
之外的参数,您可以这样定义自定义损失:
def my_loss(y_true, y_pred, x_train):
my_loss() missing 1 required positional argument: 'x_train'
def custom_loss(x_train):
def my_loss(y_true, y_pred):
loss=K.mean(K.abs(y_true-y_pred))
# do something with x_train
return loss
return my_loss
编译时,可以传递与x\u序列相同形状的张量
input_tensor = Input(shape=input_shape) #specify your input shape, same as x_train.
model.compile(loss=custom_loss(input_tensor), optimizer='rmsprop', metrics=['mae'])
这是定义自定义损失的方式。此外,您还需要获得当前批次的x_train
,现在批处理是您必须自己处理的事情。
最后,在培训期间您可以使用。谢谢,现在我有一些新信息要继续