/cavaface.pytorch

:beers: :rocket: :city_sunset: face recognition project(pytorch)

Primary LanguagePythonMIT LicenseMIT

cavaface.pytorch: A Pytorch Training Framework for Deep Face Recognition

python-url pytorch-url License: MIT HitCount

By Yaobin Li and Liying Chi

Introduction

This repo provides a high-performance distribute parallel training framework for face recognition with pytorch, including various backbones (e.g., ResNet, IR, IR-SE, ResNeXt, AttentionNet-IR-SE, ResNeSt, HRNet, etc.), various losses (e.g., Softmax, Focal, SphereFace, CosFace, AmSoftmax, ArcFace, ArcNegFace, CurricularFace, Li-Arcface, QAMFace, etc.), various data augmentation(e.g., RandomErasing, Mixup, RandAugment, Cutout, CutMix, etc.) and bags of tricks for improving performance (e.g., FP16 training(apex), Label smooth, LR warmup, etc)

Main requirements

  • torch == 1.4.0
  • torchvision == 0.5.0
  • tensorboardX == 1.7
  • bcolz == 1.2.1
  • Python 3
  • Apex == 0.1

Features

(click to collapse)
  • Backbone
    • ResNet(IR-SE)
    • ResNeXt
    • DenseNet
    • MobileFaceNet
    • MobileNetV3
    • EfficientNet
    • ProxylessNas
    • GhostNet
    • AttentionNet-IRSE
    • ResNeSt
    • ReXNet
    • MobileNetV2
    • MobileNeXt
  • Attention Module
    • SE
    • CBAM
    • ECA
    • GCT
  • Loss
    • Softmax
    • SphereFace
    • Am_Softmax
    • CosFace
    • ArcFace
    • Combined Loss
    • AdaCos
    • SV-X-Softmax
    • CurricularFace
    • ArcNegFace
    • Li-Arcface
    • QAMFace
    • Circle Loss
  • Parallel Training
    • Data Parallel
    • Model Parallel
  • Automatic Mixed Precision
    • Apex
  • Optimizer
    • LR_Scheduler(faireq,rwightman)
    • Optim(SGD,Adam,RAdam,LookAhead,Ranger,AdamP,SGDP)
  • Data Augmentation
    • RandomErasing(官方版torchvision.transforms.RandomErasing)
    • Mixup
    • RandAugment
    • Cutout
    • CutMix
    • Colorjitter
  • Distillation
    • KnowledgeDistillation
    • Multi Feature KD
  • Bag of Tricks
    • Label smooth
    • LR warmup
    • Zero gamma

Installation

See INSTALL.md.

Quick start

See GETTING_STARTED.md.

Model Zoo and Baselines

See MODEL_ZOO.md.

License

cavaface.pytorch is released under the MIT license.

Acknowledgement

Contact

cavallyb@gmail.com