☰
注意及流程
2026/10/24 2:00:07 网站建设 项目流程

开始

新开终端可以检查:

echo $OMP_NUM_THREADS
export OMP_NUM_THREADS=16 export MKL_NUM_THREADS=16 echo $OMP_NUM_THREADS echo $MKL_NUM_THREADS
export 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/pytorch
2. Duke → Mark 的 Before Attack
python test.py --name ft_ResNet50 --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch
3. Mark → MSMT 和 Duke → MSMT 的 Before Attack
python test.py --name ft_ResNet50 --use_data MSMT17_V1 --test_dir /root/autodl-tmp/data/MSMT17_V1/pytorch

before attack看target模型 | 跨数据集跨模型

(target)De-121

python test.py --name ft_net_dense --use_dense --use_data duke --test_dir /root/autodl-tmp/data/duke/pytorch
python test.py --name ft_net_dense --use_dense --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch
python 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/pytorch
python test.py --name ft_net_hr --use_hr --use_data Market-1501 --test_dir /root/autodl-tmp/data/Market-1501/pytorch
python 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。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询