diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 00000000..2a023629
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,5 @@
+include requirements/*.txt
+include mmselfsup/VERSION
+include mmselfsup/.mim/model-index.yml
+recursive-include mmselfsup/.mim/configs *.py *.yml
+recursive-include mmselfsup/.mim/tools *.sh *.py
diff --git a/configs/selfsup/byol/metafile.yml b/configs/selfsup/byol/metafile.yml
new file mode 100644
index 00000000..e6374786
--- /dev/null
+++ b/configs/selfsup/byol/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: BYOL
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - LARS
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - BYOL
+    Paper:
+        URL: https://arxiv.org/abs/2006.07733
+        Title: "Bootstrap your own latent: A new approach to self-supervised Learning"
+    README: configs/selfsup/byol/README.md
+
+Models:
+  - Name: byol_resnet50_8xb32-accum16-coslr-200e_in1k
+    In Collection: BYOL
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 67.68
+    Config: configs/selfsup/byol/byol_resnet50_8xb32-accum16-coslr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/byol/byol_resnet50_8xb32-accum16-coslr-200e_in1k_20211213-30dbaef1.pth
diff --git a/configs/selfsup/deepcluster/metafile.yml b/configs/selfsup/deepcluster/metafile.yml
new file mode 100644
index 00000000..ce343567
--- /dev/null
+++ b/configs/selfsup/deepcluster/metafile.yml
@@ -0,0 +1,29 @@
+Collections:
+  - Name: DeepCluster
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - DeepCluster
+    Paper:
+        URL: https://arxiv.org/abs/1807.05520
+        Title: "Deep clustering for unsupervised learning of visual features"
+    README: configs/selfsup/deepcluster/README.md
+
+Models:
+  - Name: deepcluster-sobel_resnet50_8xb64-steplr-200e_in1k
+    In Collection: DeepCluster
+    Metadata:
+      Epochs: 200
+      Batch Size: 512
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 46.92
+    Config: configs/selfsup/deepcluster/deepcluster-sobel_resnet50_8xb64-steplr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/deepcluster/deepcluster-sobel_resnet50_8xb64-steplr-200e_in1k-bb8681e2.pth
diff --git a/configs/selfsup/densecl/metafile.yml b/configs/selfsup/densecl/metafile.yml
new file mode 100644
index 00000000..99397045
--- /dev/null
+++ b/configs/selfsup/densecl/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: DenseCL
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+    Paper:
+        URL: https://arxiv.org/abs/2011.09157
+        Title: "Dense contrastive learning for self-supervised visual pre-training"
+    README: configs/selfsup/densecl/README.md
+
+Models:
+  - Name: densecl_resnet50_8xb32-coslr-200e_in1k
+    In Collection: DenseCL
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 63.34
+    Config: configs/selfsup/densecl/densecl_resnet50_8xb32-coslr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/densecl/densecl_resnet50_8xb32-coslr-200e_in1k_20211214-1efb342c.pth
diff --git a/configs/selfsup/moco/metafile.yml b/configs/selfsup/moco/metafile.yml
new file mode 100644
index 00000000..be633471
--- /dev/null
+++ b/configs/selfsup/moco/metafile.yml
@@ -0,0 +1,32 @@
+Collections:
+  - Name: MoCo
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - MoCo
+    Paper:
+        URL: https://arxiv.org/abs/1911.05722
+        Title: "Momentum Contrast for Unsupervised Visual Representation Learning"
+    README: configs/selfsup/moco/README.md
+
+Models:
+  - Name: mocov2_resnet50_8xb32-coslr-200e_in1k
+    In Collection: MoCo
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 67.56
+    Config: configs/selfsup/moco/mocov2_resnet50_8xb32-coslr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/moco/mocov2_resnet50_8xb32-coslr-200e_in1k_20211213-7ce8f840.pth
+    Paper:
+        URL: https://arxiv.org/abs/2003.04297
+        Title: "Improved Baselines with Momentum Contrastive Learning"
diff --git a/configs/selfsup/npid/metafile.yml b/configs/selfsup/npid/metafile.yml
new file mode 100644
index 00000000..739bbbe9
--- /dev/null
+++ b/configs/selfsup/npid/metafile.yml
@@ -0,0 +1,29 @@
+Collections:
+  - Name: NPID
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - NPID
+    Paper:
+        URL: https://arxiv.org/abs/1805.01978
+        Title: "Unsupervised Feature Learning via Non-Parametric Instance Discrimination"
+    README: configs/selfsup/npid/README.md
+
+Models:
+  - Name: npid_resnet50_8xb32-steplr-200e_in1k
+    In Collection: NPID
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 58.16
+    Config: configs/selfsup/npid/npid_resnet50_8xb32-steplr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/npid/npid_resnet50_8xb32-steplr-200e_in1k_20211213-b5fec6df.pth
diff --git a/configs/selfsup/odc/metafile.yml b/configs/selfsup/odc/metafile.yml
new file mode 100644
index 00000000..d5dff6ca
--- /dev/null
+++ b/configs/selfsup/odc/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: ODC
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+    Paper:
+        URL: https://arxiv.org/abs/2006.10645
+        Title: "Online deep clustering for unsupervised representation learning"
+    README: configs/selfsup/odc/README.md
+
+Models:
+  - Name: odc_resnet50_8xb64-steplr-440e_in1k
+    In Collection: ODC
+    Metadata:
+      Epochs: 200
+      Batch Size: 512
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 53.42
+    Config: configs/selfsup/odc/odc_resnet50_8xb64-steplr-440e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/odc/odc_resnet50_8xb64-steplr-440e_in1k-5af5dd0c.pth
diff --git a/configs/selfsup/relative_loc/metafile.yml b/configs/selfsup/relative_loc/metafile.yml
new file mode 100644
index 00000000..e4e451af
--- /dev/null
+++ b/configs/selfsup/relative_loc/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: RelativeLocation
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+    Paper:
+        URL: https://arxiv.org/abs/1505.05192
+        Title: "Unsupervised visual representation learning by context prediction"
+    README: configs/selfsup/relative_loc/README.md
+
+Models:
+  - Name: relative-loc_resnet50_8xb64-steplr-70e_in1k
+    In Collection: RelativeLocation
+    Metadata:
+      Epochs: 70
+      Batch Size: 512
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 39.65
+    Config: configs/selfsup/relative_loc/relative-loc_resnet50_8xb64-steplr-70e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/relative_loc/relative-loc_resnet50_8xb64-steplr-70e_in1k_20211213-cdd3162f.pth
diff --git a/configs/selfsup/rotation_pred/metafile.yml b/configs/selfsup/rotation_pred/metafile.yml
new file mode 100644
index 00000000..fe809133
--- /dev/null
+++ b/configs/selfsup/rotation_pred/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: RotationPrediction
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+    Paper:
+        URL: https://arxiv.org/abs/1803.07728
+        Title: "Unsupervised representation learning by predicting image rotations"
+    README: configs/selfsup/rotation_pred/README.md
+
+Models:
+  - Name: rotation-pred_resnet50_8xb16-steplr-70e_in1k
+    In Collection: RotationPrediction
+    Metadata:
+      Epochs: 70
+      Batch Size: 128
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 39.65
+    Config: configs/selfsup/rotation_pred/rotation-pred_resnet50_8xb16-steplr-70e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/rotation_pred/rotation-pred_resnet50_8xb16-steplr-70e_in1k_20211213-513972ac.pth
diff --git a/configs/selfsup/simclr/metafile.yml b/configs/selfsup/simclr/metafile.yml
new file mode 100644
index 00000000..e9d98f71
--- /dev/null
+++ b/configs/selfsup/simclr/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: SimCLR
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - LARS
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - SimCLR
+    Paper:
+        URL: https://arxiv.org/abs/2002.05709
+        Title: "A simple framework for contrastive learning of visual representations"
+    README: configs/selfsup/simclr/README.md
+
+Models:
+  - Name: simclr_resnet50_8xb32-coslr-200e_in1k
+    In Collection: SimCLR
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 58.92
+    Config: configs/selfsup/simclr/simclr_resnet50_8xb32-coslr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/simclr/simclr_resnet50_8xb32-coslr-200e_in1k_20211213-d0e53669.pth
diff --git a/configs/selfsup/simsiam/metafile.yml b/configs/selfsup/simsiam/metafile.yml
new file mode 100644
index 00000000..c7eae1c2
--- /dev/null
+++ b/configs/selfsup/simsiam/metafile.yml
@@ -0,0 +1,40 @@
+Collections:
+  - Name: SimSiam
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - SGD with Momentum
+        - Weight Decay
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+    Paper:
+        URL: https://arxiv.org/abs/2011.10566
+        Title: "Exploring simple siamese representation learning"
+    README: configs/selfsup/simsiam/README.md
+
+Models:
+  - Name: simsiam_resnet50_8xb32-coslr-100e_in1k
+    In Collection: SimSiam
+    Metadata:
+      Epochs: 100
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 67.88
+    Config: configs/selfsup/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/simsiam/simsiam_resnet50_8xb32-coslr-100e_in1k_20211213-925d628c.pth
+  - Name: simsiam_resnet50_8xb32-coslr-200e_in1k
+    In Collection: SimSiam
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 69.80
+    Config: configs/selfsup/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k.py
+    Weights: https://download.openmmlab.com/mmselfsup/simsiam/simsiam_resnet50_8xb32-coslr-200e_in1k_20211213-b605f9f1.pth
diff --git a/configs/selfsup/swav/metafile.yml b/configs/selfsup/swav/metafile.yml
new file mode 100644
index 00000000..f20a3bdf
--- /dev/null
+++ b/configs/selfsup/swav/metafile.yml
@@ -0,0 +1,28 @@
+Collections:
+  - Name: SwAV
+    Metadata:
+      Training Data: ImageNet-1k
+      Training Techniques:
+        - LARS
+      Training Resources: 8x V100 GPUs
+      Architecture:
+        - ResNet
+        - SwAV
+    Paper:
+        URL: https://arxiv.org/abs/2006.09882
+        Title: "Unsupervised Learning of Visual Features by Contrasting Cluster Assignments"
+    README: configs/selfsup/swav/README.md
+
+Models:
+  - Name: swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96
+    In Collection: SwAV
+    Metadata:
+      Epochs: 200
+      Batch Size: 256
+    Results:
+      - Task: Self-Supervised Image Classification
+        Dataset: ImageNet-1k
+        Metrics:
+          Top 1 Accuracy: 70.55
+    Config: configs/selfsup/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96.py
+    Weights: https://download.openmmlab.com/mmselfsup/swav/swav_resnet50_8xb32-mcrop-2-6-coslr-200e_in1k-224-96_20211213-0028900c.pth
diff --git a/model-index.yml b/model-index.yml
new file mode 100644
index 00000000..60342a95
--- /dev/null
+++ b/model-index.yml
@@ -0,0 +1,12 @@
+Import:
+  - configs/selfsup/byol/metafile.yml
+  - configs/selfsup/deepcluster/metafile.yml
+  - configs/selfsup/densecl/metafile.yml
+  - configs/selfsup/moco/metafile.yml
+  - configs/selfsup/npid/metafile.yml
+  - configs/selfsup/odc/metafile.yml
+  - configs/selfsup/relative_loc/metafile.yml
+  - configs/selfsup/rotation_pred/metafile.yml
+  - configs/selfsup/simclr/metafile.yml
+  - configs/selfsup/simsiam/metafile.yml
+  - configs/selfsup/swav/metafile.yml
diff --git a/requirements/mminstall.txt b/requirements/mminstall.txt
index 0a00d379..8cff1cf7 100644
--- a/requirements/mminstall.txt
+++ b/requirements/mminstall.txt
@@ -1 +1,3 @@
 mmcv-full>=1.3.16
+mmdet >= 2.16.0
+mmsegmentation >= 0.20.2
diff --git a/setup.py b/setup.py
index d121c9f0..3b800a28 100644
--- a/setup.py
+++ b/setup.py
@@ -133,8 +133,20 @@ def add_mim_extension():
 
             if mode == 'symlink':
                 src_relpath = osp.relpath(src_path, osp.dirname(tar_path))
-                os.symlink(src_relpath, tar_path)
-            elif mode == 'copy':
+                try:
+                    os.symlink(src_relpath, tar_path)
+                except OSError:
+                    # Creating a symbolic link on windows may raise an
+                    # `OSError: [WinError 1314]` due to privilege. If
+                    # the error happens, the src file will be copied
+                    mode = 'copy'
+                    warnings.warn(
+                        f'Failed to create a symbolic link for {src_relpath}, '
+                        f'and it will be copied to {tar_path}')
+                else:
+                    continue
+
+            if mode == 'copy':
                 if osp.isfile(src_path):
                     shutil.copyfile(src_path, tar_path)
                 elif osp.isdir(src_path):