为什么 tf.write_file 不写入文件?

Why won't tf.write_file write a file?

我的代码是:

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

可能目标文件的路径不正确

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

你应该:

op = tf.write_file(pth, tf_image)
sess.run(op)

其中 sesstf.session