Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
July 1, 2020 22:02
January 15, 2021 18:24
March 8, 2021 15:17
June 14, 2021 16:43
July 2, 2020 23:42
July 1, 2020 22:02
July 1, 2020 22:02
October 13, 2020 23:54
July 31, 2020 00:52



OpenUnReID is an open-source PyTorch-based codebase for both unsupervised learning (USL) and unsupervised domain adaptation (UDA) in the context of object re-ID tasks. It provides strong baselines and multiple state-of-the-art methods with highly refactored codes for both pseudo-label-based and domain-translation-based frameworks. It works with Python >=3.5 and PyTorch >=1.1.

We are actively updating this repo, and more methods will be supported soon. Contributions are welcome.

Major features

  • Distributed training & testing with multiple GPUs and multiple machines.
  • High flexibility on various combinations of datasets, backbones, losses, etc.
  • GPU-based pseudo-label generation and k-reciprocal re-ranking with quite high speed.
  • Plug-and-play domain-specific BatchNorms for any backbones, sync BN is also supported.
  • Mixed precision training is supported, achieving higher efficiency.
  • A strong cluster baseline, providing high extensibility on designing new methods.
  • State-of-the-art methods and performances for both USL and UDA problems on object re-ID.

Supported methods

Please refer to for trained models and download links, and please refer to for the leaderboard on public benchmarks.

Method Reference USL UDA
UDA_TP PR'20 (arXiv'18)
SSG ICCV'19 ongoing ongoing
strong_baseline Sec. 3.1 in ICLR'20
SpCL NeurIPS'20
SDA arXiv'20 n/a ongoing


[2020-08-02] Add the leaderboard on public benchmarks:

[2020-07-30] OpenUnReID v0.1.1 is released:

  • Support domain-translation-based frameworks, CycleGAN and SPGAN.
  • Support mixed precision training (torch.cuda.amp in PyTorch>=1.6), use it by adding TRAIN.amp True at the end of training commands.

[2020-07-01] OpenUnReID v0.1.0 is released.


Please refer to for installation and dataset preparation.

Get Started

Please refer to for the basic usage of OpenUnReID.


OpenUnReID is released under the Apache 2.0 license.


If you use this toolbox or models in your research, please consider cite:

  title={Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification},
  author={Yixiao Ge and Dapeng Chen and Hongsheng Li},
  booktitle={International Conference on Learning Representations},

    title={Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID},
    author={Yixiao Ge and Feng Zhu and Dapeng Chen and Rui Zhao and Hongsheng Li},
    booktitle={Advances in Neural Information Processing Systems},


Some parts of openunreid are learned from torchreid and fastreid. We would like to thank for their projects, which have boosted the research of supervised re-ID a lot. We hope that OpenUnReID could well benefit the research community of unsupervised re-ID by providing strong baselines and state-of-the-art methods.


This project is developed by Yixiao Ge (@yxgeee), Tong Xiao (@Cysu), Zhiwei Zhang (@zwzhang121).