复现HAT: Hierarchical Aggregation Transformers for Person Reid ICCV21

1.下载数据集和代码

代码地址:GitHub - AI-Zhpp/HAT

Market1501:http://www.liangzheng.org/Project/project_reid.html 
或者:DukeMTMC-reID :https://github.com/layumi/DukeMTMC-reID_evaluation

2.除了pytorch环境,还要pip如下几个包。

pip install yacs
pip install pytorch-ignite==0.1.2
pip install einops

pytorch-ignite一定要0.1.2不然会报错。

3.下载resnet50-19c8e357.pth

https://download.pytorch.org/models/resnet50-19c8e357.pth

4.更改路径

configs\softmax_triplet.yml中PRETRAIN_PATH改为你的resnet50-19c8e357.pth路径

MODEL:
  PRETRAIN_CHOICE: 'imagenet'
  PRETRAIN_PATH: 'D:/HAT/resnet50-19c8e357.pth'

tools\train.py中也要更改路径,把

parser.add_argument(
    "--config_file", default="D:/HAT/configs/softmax_triplet.yml", help="path to config file", type=str
)
这里面的default改为你的configs/softmax_triplet.yml的路径
def main():
    # 新建一个ArgumentParser类对象,然后来添加若干个参数选项
    parser = argparse.ArgumentParser(description="ReID Baseline Training")
    # 给属性名之前加上“- -”,就能将之变为可选参数.这里的config_file是一个可选参数,返回给args的是 args.config_file
    parser.add_argument(
        "--config_file", default="D:/HAT/configs/softmax_triplet.yml", help="path to config file", type=str
    )
    parser.add_argument("opts", help="Modify config options using the command-line", default=None,  # help中的内容说明了参数的意义
                        nargs=argparse.REMAINDER)

    # 属性给与args实例: parser中增加的属性内容都在args实例中
    args = parser.parse_args()

然后就可以train了。

5.test

更改softmax_triplet.yml中的test里weight的路径,把train好的模型放入。

TEST:
  IMS_PER_BATCH: 1
  RE_RANKING: 'no'
  WEIGHT: "D:/HAT/tools/output/resnet50_model_150.pth"
  NECK_FEAT: 'after'
  FEAT_NORM: 'yes'

OUTPUT_DIR: "./output"

inference.py中去掉attribute,否则报错。

def _inference(engine, batch):
        model.eval()
        with torch.no_grad():
            data, pids, camids, attribute = batch 改为 data, pids, camids = batch

test中也要个更改config_file的路径,把default中内容改为softmax_triplet.yml的路径

def main():
    parser = argparse.ArgumentParser(description="ReID Baseline Inference")
    parser.add_argument(
        "--config_file", default="D:/HAT/configs/softmax_triplet.yml", help="path to config file", type=str
    )
    parser.add_argument("opts", help="Modify config options using the command-line", default=None,
                        nargs=argparse.REMAINDER)

    args = parser.parse_args()

然后就可以test了。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
HIVT(Hierarchical Vector Transformer for Multi-Agent Motion Prediction)是一种用于多智能体运动预测的分层向量变换器。该模型使用了向量变换器(Vector Transformer)的层级架构,用于对多智能体的运动轨迹进行预测。 HIVT模型旨在解决多智能体之间相互影响和合作的问题。在多智能体系统中,智能体之间的运动和行为往往会相互影响,因此准确预测智能体的运动轨迹变得非常重要。传统的方法往往难以捕捉到智能体之间的复杂相互作用和外部环境的影响,而HIVT模型通过分层向量变换器的架构,可以更好地捕捉到多智能体系统中的相互作用。 HIVT模型首先使用一个全局的向量变换器来处理整个多智能体系统的运动轨迹,以捕捉全局的趋势和相互作用。然后,对于每个智能体,模型使用一个局部的向量变换器来预测其个体的运动轨迹,以考虑个体特定的动态特征和周围智能体的影响。 通过分层向量变换器的架构,HIVT模型能够更好地处理多智能体系统中的动态变化和相互作用,提高了运动轨迹预测的准确性。同时,该模型还可以应用于多个领域,如智能交通、无人机团队协作等。 总而言之,HIVT模型是一种基于分层向量变换器的多智能体运动预测方法,通过捕捉多智能体系统中的相互作用和全局趋势,提高了运动轨迹预测的准确性和适用性。该模型在多个领域具有广泛的应用前景。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值