【实验记录】AGW | Visible-Infrared Re-ID

【RT】Visible Thermal Re-IDDeep Learning for Person Re-identification: A Survey and Outlook中提出了一个针对单/跨模态行人重识别的baseline:AGW
【实验记录】AGW | Visible-Infrared Re-ID_第1张图片

做过两次,在测试阶段有问题,现在再重做一次Code
【实验记录】AGW | Visible-Infrared Re-ID_第2张图片

RTX3090

修改数据集路径:test.py, train.py, data_loader.py, pre_process_sysu.py

on the SYSU-MM01

Train

(caiman)$ python pre_process_sysu.py

一些路径和文件命名问题,修改一下
然后可以跑了,同样只用第二张卡,防止占用
13:00

python train.py --dataset sysu --lr 0.1 --method agw --gpu 1

服务器主动断开了,在37epoch,,终端长时间无操作

Best Epoch [18]:

Rank-1 Rank-5 Rank-10 Rank-20 mAP mINP
POOL 46.49% 74.70% 84.17% 93.27% 45.66% 32.76%
FC 49.96% 75.57% 84.12% 92.22% 47.47% 33.79%

三次实验best epoch都是在20左右的,问题不大

Test

python test.py --mode all --resume ‘save_model/sysu_agw_p4_n8_lr_0.1_seed_0_trial_1_best.t’ --dataset sysu --gpu 1

仍然不行
在这里插入图片描述
下载作者提供的训练好的权重titledsysu_awg_p4_n8_lr_0.1_seed_0.t(ps:如下问题解决之后这个权重用不了❓)
同样不行,
没读到best checkpoint,地址有误?

问题看test.py151行代码
【实验记录】AGW | Visible-Infrared Re-ID_第3张图片
多了checkpoint_path,重复给地址(最终模型加载的地址错误),但代码报错时,又不显示这个多余的checkpoint_path,只显示resume给的那串

因为我resume传参给的完整地址,要么调整①:resume传参只给模型权重的名,(是作者本意吧)

i.e. python test.py --mode all --resume 'sysu_agw_p4_n8_lr_0.1_seed_0_best.t' --dataset sysu --gpu 1

实际我(个人习惯,传参带路径)修改②:删除151行checkpoint_path这个参数

总之,终于解决✌️

十次取平均(因为数据集太小):

Rank-1 Rank-5 Rank-10 Rank-20 mAP mINP
POOL 47.33% 74.97% 84.90% 92.95% 45.99% 32.76%
FC 49.96% 75.57% 85.30% 94.12% 45.34% 32.85%

on the RegDB

Train

python train.py --dataset regdb --lr 0.1 --method agw --gpu 0,1

用不到30min
【实验记录】AGW | Visible-Infrared Re-ID_第4张图片

Test

python test.py --resume 'save_model/regdb_agw_p4_n8_lr_0.1_seed_0_trial_1_best.t' --dataset regdb --gpu 0,1 

同样,修改读取已保存模型的路径修改一致
数据集太小,测试十次,取均值作为最后结果:

Rank-1 Rank-5 Rank-10 Rank-20 mAP mINP
POOL 86.96% 92.28% 94.68% 97.04% 83.06% 73.91%
FC 85.67% 90.99% 93.88% 96.43% 82.42% 73.70%

这结果怎么这么好

你可能感兴趣的:(实验记录,备忘录模式,计算机视觉,pytorch)