我的代码是:
i = 0
fgsm = FastGradientMethod(wrap)
adv = fgsm.generate(x_test_tensor, **fgsm_params)
for adv_x in tf.unstack(adv):
img = tf.cast(adv_x, dtype=tf.uint8)
tf_image = tf.image.encode_jpeg(img)
tf.write_file('adversarial_examples/' + str(i) + '.jpg', tf_image)
i += 1
FastGradientMethod来自cleverhans
。这可以正常运行,但是jpg在我的文件夹中不存在。缺少什么?
答案 0 :(得分:1)
目标文件的路径可能不正确
import os
for adv_x in tf.unstack(adv):
img = tf.cast(adv_x, dtype=tf.uint8)
tf_image = tf.image.encode_jpeg(img)
pth = os.path.join('adversarial_examples', '%s.jpg'%i)
tf.write_file(pth, tf_image)
i += 1
答案 1 :(得分:0)
你应该:
op = tf.write_file(pth, tf_image)
sess.run(op)
其中 sess
是 tf.session
。