源自于一个项目github对抗干扰的项目
项目使用框架为tensorflow和keras,图片在进行攻击之后进行了一个存储,但是在存储的时候会发现API过时,通过简单的修改可以让其正常运行
print ("============================== Saving Images ==============================")
images = (x_test[:100]*255).astype("uint8")
images = np.reshape(images,(10,10,28,28))
images = np.transpose(images,(0,2,1,3))
images = np.reshape(images,(280,280))
misc.imsave("normal_images.png",images)
attack_images, = attack_func([x_test[:100], y_test[:100], eps, 0])
images = (attack_images*255).astype("uint8")
images = np.reshape(images,(10,10,28,28))
images = np.transpose(images,(0,2,1,3))
images = np.reshape(images,(280,280))
misc.imsave("attack_images.png",images)
这个是文件的后半段内容代码,报错提示misc.imsave已经被弃用了,使用新的API接口imageio解决。
先通过pip或者conda下载新的API
pip install imageio
然后直接在源代码的基础之上修改为:
import imageio #添加新的内容
#…………省略中间内容…………#
print ("============================== Saving Images ==============================")
images = (x_test[:100]*255).astype("uint8")
images = np.reshape(images,(10,10,28,28))
images = np.transpose(images,(0,2,1,3))
images = np.reshape(images,(280,280))
#misc.imsave("normal_images.png",images)
imageio.imwrite("normal_images.png",images)
attack_images, = attack_func([x_test[:100], y_test[:100], eps, 0])
images = (attack_images*255).astype("uint8")
images = np.reshape(images,(10,10,28,28))
images = np.transpose(images,(0,2,1,3))
images = np.reshape(images,(280,280))
#misc.imsave("attack_images.png",images)
imageio.imwrite("attack_images.png",images)
就可以正常运行了,其文件会直接保存在项目当前路径中。
imageio.imwrite(“路径地址”,图片信息)
路径地址分为 相对地址 和 绝对地址 两类,相对地址会以当前代码存储的路径为基础,图片信息就是我们处理和对抗的内容了。
第一次在linux上面水博客文章QWQ
Post Views:
1,967