首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用tensorflow sess更改Cleverhans 'test_imagenet_attacks.py‘?

如何使用tensorflow sess更改Cleverhans 'test_imagenet_attacks.py‘?
EN

Stack Overflow用户
提问于 2019-08-14 22:39:39
回答 1查看 113关注 0票数 0

在Cleverhans示例中: cleverhans/examples/test_imagenet_attacks.py

他们使用sess=None实现了SPSA攻击。

但在克利夫汉斯攻击库中,有很多方法不能将sess设置为None,如CW、DeepFool、BFGS等。

如何使用sess更改代码并使用这些方法生成对抗性示例?

链接:https://github.com/tensorflow/cleverhans/blob/master/examples/test_imagenet_attacks.py

一个ImagNet上SPSA攻击的代码聚合:

代码语言:javascript
复制
attack = SPSA(model)
x_adv = attack.generate(x_input, ...)
logits = model.get_logits(x_adv)
acc = _top_1_accuracy(logits, y_label)

saver = tf.train.Saver(slim.get_model_variables())
session_creator = tf.train.ChiefSessionCreator(...)

with tf.train.MonitoredSession(session_creator) as sess:
     for i in xrange(num_images):
          feed_dict_i = {x_input, y_label}
          acc_val = sess.run(acc, feed_dict=feed_dict_i)

但是对于DeepFool,我们不能写attack =SPSA(模型),因为它必须是attack =DeepFool(模型,会话)。

EN

回答 1

Stack Overflow用户

发布于 2019-08-22 00:32:30

如果你想传递一个会话给攻击对象,你可以在实例化它的时候这样做:

代码语言:javascript
复制
attack = SPSA(model, sess=sess)
attack = LBFGS(model, sess)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57496919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档