在代码中,我们使用crossdata.py 来做跨数据集的实验. 其实他是cece.py生成对抗样本的修改.
(主要修改在生成对抗样本哪里,测试的东西什么都不需要改)
需要修改的是 --test_dir --use_data --adv_query
先介绍一下什么是跨数据集攻击:
在生成对抗样本时,我们攻击的数据集的任何信息都不知道。
只有 query可知,用来测试.
因此,我们的目标是生成对抗query.
举例子: Market-1501 ----------Duke
表示使用Market-1501上训练的模型, 在Duke的query上生成对抗query.
就是 在原来的cece.py里 将Duke的模型改为market模型.
例如
–test_dir 用来加载目标数据集(Duke)的query
–use_data 用来加载已知数据集(Market-1501)的模型
–adv_query 生成的对抗query 保存到duke的对抗样本集
因此我们在使用crossdata.py时,
例如Market-1501 ----------Duke ;
我们需要将里面的内容修改 --test_dir Duke --use_data --adv_query Duke
改完以后直接按照生成对样本的方式运行. (一般 我们用market的res-50模型生成 测试的时候也是攻击duke的res-50模型)
跨模型跨数据集就是:我们用market的res-50模型生成 测试的时候也是攻击duke的其他任何模型
如果投期刊需要的实验多 可以增加一个模型 除了re-50 我们还可以用dense等
3037

被折叠的 条评论
为什么被折叠?



