GitHub:ASMR-ICCV-2021复现

 作者链接:GitHub - BoseungJeong/ASMR-ICCV-2021: This repository is official implementation of "ASMR: Learning Attribute-Based Person Search with Adaptive Semantic Margin Regularizer" (ICCV 2021)

conda env create -f ASMR.yaml


conda create -n ASMR


conda activate ASMR


#python prepare_Market.py中修改目录格式为D:/dataset/Market-1501
python prepare_Market.py


#python prepare_Market_Attribute.py中修改目录格式为D:/dataset/Market-1501
python prepare_Market_Attribute.py


#train_AR.py中修改目录格式为D:/dataset/Market-1501/tmp_2


#train_AR.py顶端加入如下代码
import multiprocessing
if __name__ == '__main__':
    multiprocessing.freeze_support()


#避免多进程报错,将参数num_workers设置为0 
num_workers=0


#手动创建/model/Pretrained_AR_Market目录


#改小了训练参数
python train_AR.py --AR --train_all --lr 0.001 --batchsize 16 --num_epoch 15


#test.py及train.py中修改目录格式为D:/dataset/Market-1501/tmp_2/


#自己创建config.yaml文件,内容如下:
# dataset configuration
dataset:
  name: Market1501
  root: D:/dataset/Market-1501/
  train_all: true
  cuhk03_labeled: false
  cuhk03_classic_split: false

# model configuration
model:
  name: resnet50_ibn_a
  last_stride: 1
  pretrained: true
  num_classes: 751

# training configuration
train:
  epochs: 10
  batch_size: 16
  lr: 0.001
  momentum: 0.9
  weight_decay: 0.0005
  print_freq: 20
  eval_freq: 10


#Train_and_Test_ASMR_Market.sh中代码更改如下:
#!/bin/bash
#Basic range in for loop
SET=$(seq 1 10)
ids=0
pre_epoch=4

echo Training is start. 
lamb=6

name=Market_pretrained_${pre_epochs}_s12_m02_lambda_${lamb}
python train.py --MA_loss --batchsize 16 --seed 1 --decay 5 --gpu_ids $ids --name $name --num_epoch 10 --s 12 --m 0.2 --lr 0.001 --lamd $lamb --Pretrained --pre_epoch $pre_epoch --train_all
for epochs in $SET
do
    echo Evaluation at $epochs
    python test.py --batchsize 16 --which_epoch $epochs --gpu_ids $ids --name $name
done
echo All done


#执行sh Train_and_Test_ASMR_Market.sh
#报告:
Epoch 10/10
----------
Train Epoch: 10 [809/809 (100%)] Loss: 0.446990  Cos_mu: 0.000428 Acc: 100.000%: 100%|██████████████████████████████████████████████████████████████████| 809/809 [07:01<00:00,  1.92it/s]
train Loss: 0.6211 R@1: 0.9982
tensor([3.8435, 7.5290, 8.2935, 8.9338, 2.6598, 5.0313, 1.1629, 4.3981, 0.5412,
        4.7621], device='cuda:0', grad_fn=<SqueezeBackward1>)
Training complete in 70m 44s
但报错: 
File "D:\code\code_reid\ASMR-ICCV-2021-main\test.py", line 51, in <module>
    config = yaml.load(stream)
TypeError: load() missing 1 required positional argument: 'Loader'


#考虑将config = yaml.load(stream)替换为:
config = yaml.load(stream, Loader=yaml.FullLoader)


#预训练模型保存在D:\code\code_reid\ASMR-ICCV-2021-main\model\Market_pretrained__s12_m02_lambda_6
python test.py --batchsize 16 --which_epoch 10 --gpu_ids 0 --name Market_pretrained__s12_m02_lambda_6


#成功出结果!!!
R@1:    44.835
R@5:    61.777
R@10:   67.975
mAP:    29.268






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值