开始
新开终端可以检查:
echo $OMP_NUM_THREADSexport OMP_NUM_THREADS=16 export MKL_NUM_THREADS=16 echo $OMP_NUM_THREADS echo $MKL_NUM_THREADSexport HF_ENDPOINT=https://hf-mirror.com跑黑白盒
aab.py调用过aa_test脚本
对抗样本保存在同一个目录里面,就是MI....的已经被覆盖了
Before Attack不需要对抗样本目录 |跨数据集
1. Mark → Duke 的 Before Attack
python test.py --name ft_ResNet50 --use_data duke --test_dir /root/autodl-tmp/data/duke/pytorch2. Duke → Mark 的 Before Attack
python test.py --name ft_ResNet50 --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch3. Mark → MSMT 和 Duke → MSMT 的 Before Attack
python test.py --name ft_ResNet50 --use_data MSMT17_V1 --test_dir /root/autodl-tmp/data/MSMT17_V1/pytorchbefore attack看target模型 | 跨数据集跨模型
(target)De-121
python test.py --name ft_net_dense --use_dense --use_data duke --test_dir /root/autodl-tmp/data/duke/pytorchpython test.py --name ft_net_dense --use_dense --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorchpython test.py --name ft_net_dense --use_dense --use_data MSMT17_V1 --test_dir /root/autodl-tmp/data/MSMT17_V1/pytorch(target)Hr-18
python test.py --name ft_net_hr --use_hr --use_data duke --test_dir /root/autodl-tmp/data/duke/pytorchpython test.py --name ft_net_hr --use_hr --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorchpython test.py --name ft_net_hr --use_hr --use_data MSMT17_V1 --test_dir /root/autodl-tmp/data/MSMT17_V1/pytorch跨数据集跨模型
注意特征攻击odfa,lta,gaga去掉分类头再跑crossdata.py
crossdata.py换掉aa_test.py里面的cece.py
可以使用aaaacross.py调用这个过程(生成对抗、跑黑白盒)
详细改crossdata、改bai、hei测试里的相关使用的数据集名字看另一个博客文章。
防御攻击
a_defence_test.py<a_defence.py< defence.py
其实应该先跑这个,因为对抗样本被覆盖了,
运行a_gen.py分两批生成res-50的对抗样本,改cece.py的分类头去
然后使用a_defence_test.py直接调用运行各个方法的攻击防御模型即可。
集成攻击
具体攻击方法
改adv_data_test.py / adv_data_black_test.py里面的数据集相关的路径
然后,jicheng.py要更根据是不是分类或者特征攻击的方法修改--feature
所以,最后分两步用aab.py调用aa_test.py里面的函数进行完成。
before attack
Before attack不需要生成对抗样本,也不管你是不是集成攻击。
它就是:
干净 query + 干净 gallery 正常测试每个 target 模型的 Rank-1 / mAP所以这行只用test.py跑正常测试。
比如 Market 上这张表:
python test.py --name ft_ResNet50 --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到Re-50*的 Before attack。
python test.py --name ft_net_dense --use_dense --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到De-121*的 Before attack。
python test.py --name ft_net_hr --use_hr --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到Hr-18*的 Before attack。
python test.py --name ft_net_convnext --use_convnext --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到Conv的 Before attack。
python test.py --name ft_net_swin --use_swin --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到Swin的 Before attack。
python test.py --name ft_net_swinv2 --use_swinv2 --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch解释:得到Swinv2的 Before attack。