mmselfsup/docs/MODEL_ZOO.md

20 KiB

Model Zoo

Method Config Remarks Download link
ImageNet - torchvision imagenet_r50-21352794.pth
Random - kaiming random_r50-5d0fa71b.pth
Relative-Loc selfsup/relative_loc/r50.py default
Rotation-Pred selfsup/rotation_pred/r50.py default rotation_r50-cfab8ebb.pth
DeepCluster selfsup/deepcluster/r50.py default deepcluster_r50-bb8681e2.pth
NPID selfsup/npid/r50.py default npid_r50-dec3df0c.pth
selfsup/npid/r50_ensure_neg.py default npid_r50_ensure_neg-ce09b7ae.pth
ODC selfsup/odc/r50_v1.py default odc_r50_v1-5af5dd0c.pth
MoCo selfsup/moco/r50_v1.py default moco_r50_v1-4ad89b5c.pth
MoCo v2 selfsup/moco/r50_v2.py default moco_r50_v2-58f10cfe.pth
selfsup/moco/r50_v2_simclr_neck.py -> SimCLR neck
moco_r50_v2_simclr_neck-70379356.pth
SimCLR selfsup/simclr/r50_bs256_ep200.py default simclr_r50_bs256_ep200-4577e9a6.pth
selfsup/simclr/r50_bs256_ep200_mocov2_neck.py -> MoCo v2 neck simclr_r50_bs256_ep200_mocov2_neck-0d6e5ff2.pth
BYOL selfsup/byol/r50.py default

Benchmarks

VOC07 SVM & SVM Low-shot

MethodConfigRemarksBest layerVOC07 SVMVOC07 SVM Low-shot
124816326496
ImageNet-torchvisionfeat587.1752.9963.5573.778.7981.7683.7585.1885.97
Random-kaimingfeat230.22
Relative-Locfeat5
Rotation-Predselfsup/rotation_pred/r50.pydefaultfeat467.38
DeepClusterselfsup/deepcluster/r50.pydefaultfeat574.26
NPIDselfsup/npid/r50.pydefaultfeat574.50
selfsup/npid/r50_ensure_neg.pyensure_neg=Truefeat575.70
ODCselfsup/odc/r50_v1.pydefaultfeat578.42
MoCoselfsup/moco/r50_v1.pydefaultfeat579.18
MoCo v2selfsup/moco/r50_v2.pydefaultfeat584.05
selfsup/moco/r50_v2_simclr_neck.py-> SimCLR neck
feat584.00
SimCLRselfsup/simclr/r50_bs256_ep200.pydefaultfeat578.95
selfsup/simclr/r50_bs256_ep200_mocov2_neck.py-> MoCo v2 neckfeat577.65
BYOLselfsup/byol/r50.pydefault

ImageNet Linear Classification

Note

  • Config: configs/benchmarks/linear_classification/imagenet/r50_multihead.py for ImageNet (Multi) and configs/benchmarks/linear_classification/imagenet/r50_moco.py for ImageNet (Last).
  • For DeepCluster, use the corresponding one with _sobel.
  • ImageNet (Multi) evaluates features in around 9k dimensions from different layers. Top-1 result of the last epoch is reported.
  • ImageNet (Last) evaluates the last feature after global average pooling, e.g., 2048 dimensions for resnet50. The best top-1 result among all epochs is reported.
MethodConfigRemarksImageNet (Multi)ImageNet (Last)
feat1feat2feat3feat4feat5avgpool
ImageNet-torchvision15.1833.9647.8667.5676.1774.12
Random-kaiming4.35
Relative-Locselfsup/relative_loc/r50.pydefault
Rotation-Predselfsup/rotation_pred/r50.pydefault12.8934.3044.9154.9949.0947.01
DeepClusterselfsup/deepcluster/r50.pydefault12.7830.8143.8857.7151.6846.92
NPIDselfsup/npid/r50.pydefault14.2831.2040.6854.4656.6156.60
ODCselfsup/odc/r50_v1.pydefault14.7631.8242.4455.7657.7053.42
MoCoselfsup/moco/r50_v1.pydefault15.3233.0844.6857.2760.6061.02
MoCo v2selfsup/moco/r50_v2.pydefault15.3534.5745.8160.9666.7267.02
selfsup/moco/r50_v2_simclr_neck.py-> SimCLR neck
15.1932.5443.1260.3667.08
SimCLRselfsup/simclr/r50_bs256_ep200.pydefault17.0931.3741.3854.3561.5760.06
selfsup/simclr/r50_bs256_ep200_mocov2_neck.py-> MoCo v2 neck16.9731.8841.7354.3359.9458.00
BYOLselfsup/byol/r50.pydefault

Place Linear Classification

Coming soon.

ImageNet Semi-Supervised Classification

Note

  • In this benchmark, the necks or heads are removed and only the backbone CNN is evaluated by appending a linear classification head. All parameters are fine-tuned.
  • Config: under configs/benchmarks/semi_classification/imagenet_1percent/ for 1% data, and configs/benchmarks/semi_classification/imagenet_10percent/ for 10% data.
  • When training with 1% ImageNet, we find hyper-parameters especially the learning rate greatly influence the performance. Hence, we prepare a list of settings with the base learning rate from {0.001, 0.01, 0.1} and the learning rate multiplier for the head from {1, 10, 100}. We choose the best performing setting for each method.
  • Please use --deterministic in this benchmark.
MethodConfigRemarksOptimal setting for ImageNet 1%ImageNet 1%
top-1top-5
ImageNet-torchvisionr50_lr0_001_head100.py68.6888.87
Random-kaimingr50_lr0_01_head1.py1.564.99
Relative-Locselfsup/relative_loc/r50.pydefault
Rotation-Predselfsup/rotation_pred/r50.pydefaultr50_lr0_01_head100.py18.9844.05
DeepClusterselfsup/deepcluster/r50.pydefaultr50_lr0_01_head1_sobel.py33.4458.62
NPIDselfsup/npid/r50.pydefaultr50_lr0_01_head100.py27.9554.37
ODCselfsup/odc/r50_v1.pydefaultr50_lr0_1_head100.py32.3961.02
MoCoselfsup/moco/r50_v1.pydefaultr50_lr0_01_head100.py33.1561.30
MoCo v2selfsup/moco/r50_v2.pydefaultr50_lr0_01_head100.py38.7167.90
selfsup/moco/r50_v2_simclr_neck.py-> SimCLR neck
r50_lr0_01_head100.py31.37
59.65
SimCLRselfsup/simclr/r50_bs256_ep200.pydefaultr50_lr0_01_head100.py36.0964.50
selfsup/simclr/r50_bs256_ep200_mocov2_neck.py-> MoCo v2 neckr50_lr0_01_head100.py36.3164.68
BYOLselfsup/byol/r50.pydefault
MethodConfigRemarksOptimal setting for ImageNet 1%ImageNet 1%
top-1top-5
ImageNet-torchvisionr50_lr0_01_head1.py63.1085.73
Random-kaimingr50_lr0_01_head1.py1.564.99
Relative-Locselfsup/relative_loc/r50.pydefault
Rotation-Predselfsup/rotation_pred/r50.pydefaultr50_lr0_01_head100.py18.9844.05
DeepClusterselfsup/deepcluster/r50.pydefaultr50_lr0_01_head1_sobel.py33.4458.62
NPIDselfsup/npid/r50.pydefaultr50_lr0_01_head100.py27.9554.37
ODCselfsup/odc/r50_v1.pydefaultr50_lr0_1_head100.py32.3961.02
MoCoselfsup/moco/r50_v1.pydefaultr50_lr0_01_head100.py33.1561.30
MoCo v2selfsup/moco/r50_v2.pydefaultr50_lr0_01_head100.py38.7167.90
selfsup/moco/r50_v2_simclr_neck.py-> SimCLR neck
SimCLRselfsup/simclr/r50_bs256_ep200.pydefaultr50_lr0_01_head100.py36.0964.50
selfsup/simclr/r50_bs256_ep200_mocov2_neck.py-> MoCo v2 neck
BYOLselfsup/byol/r50.pydefault

PASCAL VOC07+12 Object Detection

Coming soon.