Почему tf.write_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 не существует в моей папке. Чего не хватает?

2 ответа

Решение

Может быть путь к файлу назначения неверен

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)

сессия. запуск (op)

Где сессия - tf.session

Другие вопросы по тегам