为什么tf.write_file不写文件?

时间:2019-04-17 23:06:25

标签: python tensorflow cleverhans

我的代码是:

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在我的文件夹中不存在。缺少什么?

2 个答案:

答案 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)

其中 sesstf.session