在自定义keras损失函数中创建对抗性示例

2024-04-20 11:02:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试为Keras模型创建一个自定义损失函数。你知道吗

我想让loss函数在它里面创建一个对抗性的例子,给出训练时正在处理的当前图像。对于对抗性的例子,我想使用傻瓜箱。你知道吗

我试过的是

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' object has no attribute 'min'

有没有办法把当前的图像输入CNN的训练过程?自模型输入显然,返回的只是一个输入张量,我不能/不知道如何处理。你知道吗


Tags: 函数模型图像truemodelnp对抗性例子