В настоящее время я пытаюсь создать собственную функцию потерь для модели Keras.
Я хочу, чтобы функция потерь создала состязательный пример ВНУТРИ этого, учитывая текущее изображение, которое обрабатывается во время обучения. Для создания состязательного примера я хочу использовать foolbox.
я попробовал следующее
def custom_loss(y_true, y_pred):
# create adversarial with foolbox
x_adv = attack(model.input, np.argmax(y_true))
# calc robust loss
loss_n = categorical_crossentropy(y_pred, y_true)
loss_robust = kldiv(np.log(softmax(model(x_adv))),softmax(y_pred))
loss = loss_n + loss_robust
return loss
Но когда я пытаюсь скомпилировать модель с этой потерей, я получаю:
AttributeError: объект 'Tensor' не имеет атрибута 'min'
Есть ли способ получить текущее изображение, которое подается в учебный процесс CNN? Поскольку model.input, по-видимому, возвращает только входной тензор, с которым я не могу / не знаю, как работать.