问题标签 [cleverhans]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
183 浏览

tensorflow - 如何在 Cleverhans 中导出 Facenet 的对抗样本?

我正在尝试关注此博客https://brunolopezgarcia.github.io/2018/05/09/Crafting-adversarial-faces.html以针对 Facenet 生成对抗性人脸图像。代码在这里https://github.com/tensorflow/cleverhans/tree/master/examples/facenet_adversarial_faces并且工作正常!我的问题是如何导出这些对抗性图像。这个问题是不是太直白了,所以博文没有提及,只展示了一些样图。

我在想这不是一个难题,因为我知道生成的对抗样本在“adv”中。但是这个 adv (float32) 来自 faces1,经过预白化和标准化。要从 adv(float32) 恢复 int8 图像,我必须反转标准化和预白化过程。看起来如果我们想从 facenet 输出一些图像,我们必须做这个过程。

我是 Facenet 和 Cleverhans 的新手,我不确定这是否是最好的方法,还是人们从 Facenet 导出图像的常用方法(例如函数)。

在 facenet_fgsm.py 中,我们终于得到了对抗样本。我需要将 adv 导出为纯 int 图像。 adv = sess.run(adv_x, feed_dict=feed_dict)

在 set_loader.py 中。有某种标准化。

在 facenet.py load_data 函数中,有一个 prewhiten 过程。

希望高手能指点一下facenet或cleverhans中的一些隐藏功能,可以直接导出adv图像,否则逆向归一化和预白化过程似乎很尴尬。非常感谢。

0 投票
1 回答
117 浏览

cleverhans - 从 generate_np 方法获取异常

我正在尝试使用 generate_np 方法生成 MNIST 对抗图像。得到这个下面的异常。使用来自cleverhans 的默认 CNN 模型。

FailedPreconditionError:从容器读取资源变量dense_2/bias时出错:localhost。这可能意味着该变量未初始化。未找到:资源 localhost/dense_2/bias/N10tensorflow3VarE 不存在。[[节点模型_2_1/dense_2/BiasAdd/ReadVariableOp(定义在/anaconda3/envs/Python36/lib/python3.6/site-packages/cleverhans/utils_keras.py:228)]]

0 投票
2 回答
1609 浏览

python - Why won't tf.write_file write a file?

My code is:

Where FastGradientMethod is from cleverhans. This runs without an error, but the jpg's don't exist in my folder. What's missing?

0 投票
1 回答
88 浏览

python - 在 Keras ResNet 上激活 FGSM 时形状排名不匹配

我正在尝试使用 ResNet 50 激活 FGSM keras,但出现错误:

我的代码是:

系统配置 - 操作系统 - Python 3.7 版 - TensorFlow 1.13 版

0 投票
1 回答
112 浏览

python - convert_pytorch_model_to_tf() 是如何工作的?

我正在玩mnist_tutorial_pytorch.py​​ ,我eps = 0fgsm_params字典中设置了。

根据我的理解,这意味着fgsm攻击应该什么都不做,目标模型的准确性不会降低。

但是我得到了一个 pytorch 模型,它的测试精度99.05%和 adv 精度是97.94%。我注意到这个 pytorch 模型被convert_pytorch_model_to_tf()函数转换为 tensorflow 模型。那么,减少是由于转换还是其他原因造成的?

我用于复制的参数:

0 投票
1 回答
714 浏览

python - 使用 Cleverhans 的 CarliniWagnerL2 攻击 TensorFlow 模型导致 NotImplementedError

我正在尝试熟悉 tensorflow 和cleverhans。但似乎我把功能搞混了。

我用 tensorflow 建立了一个简单的模型,对其进行训练,然后想用cleverhans 的 CarliniWagnerL2-attack 制作一个对抗性图像。我通读了 tensorflows 和cleverhans 文档的代码并试图了解发生了什么,但我只是不知道我必须使用哪个库中的哪个函数。

这是我的简化示例代码。据我了解,我必须使用 CallableModelWrapper 将可调用函数转换为有效函数。那正确吗?还是我的模型不可调用?真的可以用tensorflow训练一个模型,然后用cleverhans攻击它吗?当我尝试生成对抗图像时会发生错误。

我实际上想获得对抗性图像,但无论我尝试什么,似乎我都使用了两个库的混合,并且它们不能很好地结合在一起。我得到:

NotImplementedError:必须实现get_logits或必须定义 logits 输出fprop

任何人都可以帮忙吗?

基本上我只是想了解我可以将哪些模型用于cleverhans.attacks !:)

提前致谢。

罗尔

编辑

这是我的回溯:

我分别用 path_to_project 或 me 替换了我的内部目录结构。

0 投票
1 回答
110 浏览

python - 如何修复 Python 中的“您必须使用 dtype float 和 shape [?,1,680,1] 为占位符张量“Placeholder_2”提供值?

我在 Cleverhans 库中运行修改后的代码时遇到问题。我正在尝试运行mnist_blackbox.py示例的修改版本。输入是 3*680*1 而不是 28*28*1。这x_adv_sub是一个 1*680*1 张量,并与x_test_rest_tf2*680*1 张量相结合,为函数生成一个 3*680*1concat_adv张量model_eval

但是,当它运行时,它会引发以下错误:

“tensorflow.python.framework.errors_impl.InvalidArgumentError:您必须为占位符张量'Placeholder_2'提供一个dtype float和shape [?,1,680,1]的值”

我什至尝试连接相同的三个 1*680*1x_adv_sub张量以使输入model_eval起作用,但我仍然遇到相同的错误。
concat_adv=tf.concat([x_adv_sub, x_adv_sub,x_adv_sub], 1)

我不知道如何连接定义为占位符的张量。如果有人可以帮助我,我真的很感激。

这是代码的一部分:

0 投票
1 回答
75 浏览

python-3.x - Cleverhans,如何选择单个 GPU 设备?

我正在使用cleverhans 复制一个基本的MNIST 教程。我可以使用多 GPU 机器,而且该库似乎在训练期间充分利用了多 GPU 架构,这很棒。

但是,我希望能够指定我想用于培训的 gpu 设备。

我知道函数的devices参数train,但是我已经为该字段尝试了多个值,它总是在所有 gpus 上分配内存。

有没有办法使用单个(或几个)特定的 gpu,并且只在那里分配内存?

谢谢

0 投票
1 回答
50 浏览

deep-learning - Cleverhans : Adversarial Images - 分类准确率太高

这段代码出了什么问题?我使用cleverhans API - generate_np 方法生成了对抗性图像。并使用默认的cleverhans CNN分类器对图像进行分类。当我在生成图像后使用模型时,测试精度非常低。但是如果我保存并重新加载模型,精度太高了。请在此处检查代码。

https://github.com/csesivakumar/Adversarial_Defense/blob/master/Cleverhans_generatenp.ipynb

蟒蛇:3.6

0 投票
1 回答
364 浏览

python - 不能使用 utils_keras.Sequential 仍然认为它不是 Cleverhans 模型

我正在尝试使用cleverhans 进行显着性映射方法。

我的模型需要是 keras 顺序的,因此我搜索并找到了cleverhans.utils_keras,Sequential 使用 KerasModelWrapper。但是由于某种原因,我仍然认为它应该是cleverhans模型。这是堆栈跟踪

2 # https://github.com/tensorflow/cleverhans/blob/master/cleverhans/utils_keras.py 3 ----> 4 jsma = SaliencyMapMethod(model, sess=sess) 5 jsma_params = {'theta': 10.0, 'gamma': 0.15, 6 'clip_min': 0., 'clip_max': 1.,

c:\users\jeredriq\appdata\local\programs\python\python35\lib\site-packages\cleverhans\attacks__init__.py in init (self, model, sess, dtypestr, **kwargs) 911 """ 912 -- > 913 super(SaliencyMapMethod, self) .init (model, sess, dtypestr, **kwargs) 914 915 self.feedable_kwargs = ('y_target',)

c:\users\jeredriq\appdata\local\programs\python\python35\lib\site-packages\cleverhans\attacks__init__.py in init (self, model, sess, dtypestr, **kwargs) 55 56 if not isinstance(model , Model): ---> 57 raise TypeError("The model argument should be an instance of "58" thecleverhans.model.Model class.") 59

TypeError:模型参数应该是cleverhans.model.Model 类的实例。

这是我的代码

我在github上也有同样的问题。