Awesome
Self-Supervised Pyramid Representation Learning <br>for Multi-Label Visual Analysis and Beyond
This repository provides the official Pytorch implementation of pretraining and downstream evaluations for SS-PRL.
:paperclip: Paper Link :pencil2: Citations
<div align="center"> <img width="95%" alt="SS-PRL Gif" src="https://github.com/WesleyHsieh0806/SS-PRL/blob/master/GIF/Framework%20Gif.gif"> </div>- Learning of Patch-Based Pyramid Representation
- Cross-Scale Patch-Level Correlation Learning with Correlation Learners
<h2> Table of Contents</h2> <ul> <li> <a href="#books-prepare-dataset">Prepare Dataset</a> <ul> <!-- <li><a href="#built-with">Built With</a></li> --> </ul> </li> <li> <a href="#running-usage---training">Usage</a> </li> <li> <a href="#bicyclist-downstream-tasks">Downstream tasks</a> </li> <li> <a href="#citations">Citations</a> </li> </ul>
:books: Prepare Dataset
Please refer to Pretrained_Dataset and Downstream Tasks for further details.
Tasks | Datasets:point_down: |
---|---|
Pre-Training | ImageNet <br> COCO |
Downstream | Pascal VOC <br> COCO |
:running: Usage - Training
Requirements
- Python 3.6
- PyTorch = 1.4.0
- torchvision = 0.5.0
- CUDA 10.1 (Check with nvcc --version)
- Apex 0.1 (Installation)
- scipy, pandas, numpy
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
git clone "https://github.com/NVIDIA/apex"
cd apex
git checkout 4a1aa97e31ca87514e17c3cd3bbc03f4204579d0
python setup.py install --cuda_ext
Training with the shell script.
For further details, take a look at the source file | dataset definition | utilities
# Training Checklist:
# 1. modify the DATASET_PATH and EXPERIMENT_PATH in the script
# 2. BATCH_PER_GPU denotes the batch size per gpu, while --nproc_per_node denotes the number of gpus
# 3. modify the parameters
cd SS-PRL
bash train_SSPRL.sh
:bicyclist: Downstream tasks
-
Download the pretrained models
We provide the checkpoint files of SS-PRL and other SoTA used in our experiments, including
# Download the checkpoints with this command bash get_premodels.sh
-
Transferring to Multi-Label Visual Analysis tasks:
Please Refer to Readme files for Classification, Object-Detection, and Semantic Segmentation tasks.
Citations
@misc{hsieh2022selfsupervised,
title={Self-Supervised Pyramid Representation Learning for Multi-Label Visual Analysis and Beyond},
author={Cheng-Yen Hsieh and Chih-Jung Chang and Fu-En Yang and Yu-Chiang Frank Wang},
year={2022},
eprint={2208.14439},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Acknowledgement
Thanks the Facebook-Research-SwAV for its open-source project.