这段代码出了什么问题?我使用cleverhans API - generate_np 方法生成了对抗性图像。并使用默认的cleverhans CNN分类器对图像进行分类。当我在生成图像后使用模型时,测试精度非常低。但是如果我保存并重新加载模型,精度太高了。请在此处检查代码。
https://github.com/csesivakumar/Adversarial_Defense/blob/master/Cleverhans_generatenp.ipynb
蟒蛇:3.6
这段代码出了什么问题?我使用cleverhans API - generate_np 方法生成了对抗性图像。并使用默认的cleverhans CNN分类器对图像进行分类。当我在生成图像后使用模型时,测试精度非常低。但是如果我保存并重新加载模型,精度太高了。请在此处检查代码。
https://github.com/csesivakumar/Adversarial_Defense/blob/master/Cleverhans_generatenp.ipynb
蟒蛇:3.6
从GitHub 问题跟踪器中粘贴我的答案,以防其他人面临同样的问题:
从您的代码看来,您在使用 Keras 训练模型之后正在初始化模型的权重、定义 tf 会话等。我的猜测是 adv_x 数组不包含对抗性图像。这可以解释为什么 [22] 的准确度输出接近随机——因为模型权重是随机的。当您恢复模型时,它的权重会再次设置为训练期间学习的值,以便恢复准确性(因为图像不是对抗性的)。