RepoBaidu (ERNIE)Baidu (ERNIE)published Jan 28, 2021seen 5d

PaddlePaddle/PASSL

Python

Open original ↗

Captured source

source ↗
published Jan 28, 2021seen 5dcaptured 8hhttp 200method plain

PaddlePaddle/PASSL

Description: PASSL包含 SimCLR,MoCo v1/v2,BYOL,CLIP,PixPro,simsiam, SwAV, BEiT,MAE 等图像自监督算法以及 Vision Transformer,DEiT,Swin Transformer,CvT,T2T-ViT,MLP-Mixer,XCiT,ConvNeXt,PVTv2 等基础视觉算法

Language: Python

License: Apache-2.0

Stars: 290

Forks: 67

Open issues: 22

Created: 2021-01-28T01:35:08Z

Pushed: 2023-08-01T12:12:32Z

Default branch: main

Fork: no

Archived: no

README: ⚙️ English | [简体中文](./README_cn.md)

Introduction

PASSL is a Paddle based vision library for state-of-the-art Self-Supervised Learning research with PaddlePaddle. PASSL aims to accelerate research cycle in self-supervised learning: from designing a new self-supervised task to evaluating the learned representations.

Key features of PASSL:

  • Reproducible implementation of SOTA in Self-Supervision

Existing SOTA in Self-Supervision are implemented - SimCLR, MoCo(v1), MoCo(v2), [MoCo-BYOL](docs/Train_MoCo-BYOL_model.md), BYOL, BEiT. Supervised classification training is also supported.

  • Modular Design

Easy to build new tasks and reuse the existing components from other tasks (Trainer, models and heads, data transforms, etc.)

🛠️ The ultimate goal of PASSL is to use self-supervised learning to provide more appropriate pre-training weights for downstream tasks while significantly reducing the cost of data annotation.

📣 Recent Update:

  • (2022-2-9): Refactoring README
  • 🔥 Now:

Implemented Models

  • Self-Supervised Learning Models

PASSL implements a series of self-supervised learning algorithms, See Document for details on its use

| | Epochs | Official results | PASSL results | Backbone | Model | Document | | --------- | ------ | ---------------- | ------------- | --------- | ------------------------------------------------------------ | ------------------------------------------------ | | MoCo | 200 | 60.6 | 60.64 | ResNet-50 | download | [Train MoCo](docs/Train_MoCo_model.md) | | SimCLR | 100 | 64.5 | 65.3 | ResNet-50 | download | [Train SimCLR](docs/Train_SimCLR_model.md) | | MoCo v2 | 200 | 67.7 | 67.72 | ResNet-50 | download | [Train MoCo](docs/Train_MoCo_model.md) | | MoCo-BYOL | 300 | 71.56 | 72.10 | ResNet-50 | download | [Train MoCo-BYOL](docs/Train_MoCo-BYOL_model.md) | | BYOL | 300 | 72.50 | 71.62 | ResNet-50 | download | [Train BYOL](docs/Train_BYOL_model.md) | | PixPro | 100 | 55.1(fp16) | 57.2(fp32) | ResNet-50 | download | [Train PixPro](docs/Train_PixPro_model.md) | | SimSiam | 100 | 68.3 | 68.4 | ResNet-50 | download | [Train SimSiam](docs/Train_SimSiam_model.md) | | DenseCL | 200 | 63.62 | 63.37 | ResNet-50 | download | [Train DenseCL](docs/Train_DenseCL_model.md) | | SwAV | 100 | 72.1 | 72.4 | ResNet-50 | download | [Train SwAV](docs/Train_SwAV_model.md) |

> Benchmark Linear Image Classification on ImageNet-1K.

Comming Soon:More algorithm implementations are already in our plans ...

  • Classification Models

PASSL implements influential image classification algorithms such as Visual Transformer, and provides corresponding pre-training weights. Designed to support the construction and research of self-supervised, multimodal, large-model algorithms. See [Classification_Models_Guide.md](docs/Classification_Models_Guide.md) for more usage details

| | Detail | Tutorial | | ---------------- | --------------------------- | ------------------------------------------------------------ | | ViT | / | PaddleEdu | | Swin Transformer | / | PaddleEdu | | CaiT | [config](configs/cait) | PaddleFleet | | T2T-ViT | [config](configs/t2t_vit) | PaddleFleet | | CvT | [config](configs/cvt) | PaddleFleet | | BEiT | [config](configs/beit) | unofficial | | MLP-Mixer | [config](configs/mlp_mixer) | PaddleFleet | | ConvNeXt | [config](configs/convnext) | PaddleFleet |

🔥 PASSL provides a detailed dissection of the algorithm, see Tutorial for details.

Installation

See INSTALL.md.

Getting Started

Please see GETTING_STARTED.md for the basic usage of PASSL.

Awesome SSL

Self-Supervised Learning (SSL) is a rapidly growing field, and some influential papers are listed here for research use.PASSL seeks to implement self-supervised algorithms with application potential

Excerpt shown — open the source for the full document.