作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试攻击位于文件 (model.h5) 中的 keras 神经网络模型,根据 foolbox 的文档,TensorFlowModel
支持 keras 模型。但是,当我将其应用于我的 keras 模型时,出现错误。请问是不是我用的foolbox版本的问题?
代码:
import foolbox
import numpy as np
import tensorflow as tf
from foolbox.attacks import FGSM
from foolbox.criteria import Misclassification
############## Loading the model and preprocessing #####################
tf.keras.backend.set_learning_phase(False)
model = tf.keras.load_model("model.h5")
_, (images, labels) = tf.keras.datasets.mnist.load_data()
images = images.reshape(images.shape[0], 28, 28, 1)
images = images / 255
images = images.astype(np.float32)
######################### Attacking the model ##########################
fmodel = foolbox.models.TensorFlowModel(model, bounds=(0, 1))
attack = foolbox.attacks.FGSM(fmodel, criterion=Misclassification())
adversarial = np.array([attack(images[0], label=labels[0])])
model_predictions = model.predict(adversarial)
print('real label: {}, label prediction; {}'.format(
labels[0], np.argmax(model_predictions)))
错误:
TypeError Traceback (most recent call last)
<ipython-input-28-29f5e9da9c7e> in <module>()
27 ######################### Attacking the model ##########################
28
---> 29 attack = foolbox.attacks.FGSM(fmodel, criterion=Misclassification())
30 adversarial = np.array([attack(images[0], label=labels[0])])
31
TypeError: __init__() missing 1 required positional argument: 'labels'
最佳答案
我今天刚遇到这个问题,很伤心地看到这里没有答案。但我想通了,所以我们开始吧。
在版本 2.4.0 和版本 3.0.0b1 之间,foolbox 将错误分类从一个没有参数的函数更改为需要“标签”参数的函数。使用 foolbox 2.4.0 应该可以解决这个问题。
关于python - 神经网络攻击傻瓜盒(FGSM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66422617/
我是一名优秀的程序员,十分优秀!