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

时间:2019-03-22 15:32:33

标签: python keras conv-neural-network

我目前正在尝试为Keras模型创建自定义损失函数。

考虑到训练时正在处理的当前图像,我希望损失函数为其创建一个对抗示例。对于对抗性示例创建,我想使用傻瓜框。

我尝试的是以下

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显然只返回我不知道/不知道如何使用的输入张量。

0 个答案:

没有答案