<p align="center">
<img src="./plsc-logo.png" align="middle" width="500" />
</p>
------------------------------------------------------------------------------------------
<p align="center">
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache%202-dfd.svg"></a>
<a href="https://github.com/PaddlePaddle/PLSC/releases"><img src="https://img.shields.io/github/v/release/PaddlePaddle/PLSC?color=ffa"></a>
<a href=""><img src="https://img.shields.io/badge/python-3.7+-aff.svg"></a>
<a href="https://github.com/PaddlePaddle/PLSC/graphs/contributors"><img src="https://img.shields.io/github/contributors/PaddlePaddle/PLSC?color=9ea"></a>
<a href="https://github.com/PaddlePaddle/PLSC/issues"><img src="https://img.shields.io/github/issues/PaddlePaddle/PLSC?color=9cc"></a>
<a href="https://github.com/PaddlePaddle/PLSC/stargazers"><img src="https://img.shields.io/github/stars/PaddlePaddle/PLSC?color=ccf"></a>
</p>
## Introduction
[PLSC](https://github.com/PaddlePaddle/PLSC) is an open source repo for a collection of Paddle Large Scale Classification Tools, which supports large-scale classification model pre-training as well as finetune for downstream tasks.
## Available Models
* [Face Recognition](./task/recognition/face/)
* [ViT](./task/classification/vit/)
* [DeiT](./task/classification/deit/)
* [CaiT](./task/classification/cait/)
* [MoCo v3](./task/ssl/mocov3/)
* [MAE](./task/ssl/mae/)
## Top News 🔥
**Update (2023-01-11):** PLSC v2.4 is released, we refactored the entire repository based on task types. This repository has been adapted to PaddlePaddle release 2.4. In terms of models, we have added 4 new ones, including [FaceViT](https://arxiv.org/abs/2203.15565), [CaiT](https://arxiv.org/abs/2103.17239), [MoCo v3](https://arxiv.org/abs/2104.02057), [MAE](https://arxiv.org/abs/2111.06377). At present, each model in the repository can be trained from scratch to achieve the original official accuracy, especially the training of ViT-Large on the ImageNet21K dataset. In addition, we also provide a method for ImageNet21K data preprocessing. In terms of AMP training, PLSC uses FP16 O2 training by default, which can speed up training while maintaining accuracy.
**Update (2022-07-18):** PLSC v2.3 is released, a new upgrade, more modular and highly extensible. Support more tasks, such as [ViT](https://arxiv.org/abs/2010.11929), [DeiT](https://arxiv.org/abs/2012.12877). The `static` graph mode will no longer be maintained as of this release.
**Update (2022-01-11):** Supported NHWC data format of FP16 to improve 10% throughtput and decreased 30% GPU memory. It supported 92 million classes on single node 8 NVIDIA V100 (32G) and has high training throughtput. Supported best checkpoint save. And we released 18 pretrained models and PLSC v2.2.
**Update (2021-12-11):** Released [Zhihu Technical Artical](https://zhuanlan.zhihu.com/p/443091282) and [Bilibili Open Class](https://www.bilibili.com/video/BV1VP4y1G73X)
**Update (2021-10-10):** Added FP16 training, improved throughtput and optimized GPU memory. It supported 60 million classes on single node 8 NVIDIA V100 (32G) and has high training throughtput.
**Update (2021-09-10):** This repository supported both `static` mode and `dynamic` mode to use paddlepaddle v2.2, which supported 48 million classes on single node 8 NVIDIA V100 (32G). It added [PartialFC](https://arxiv.org/abs/2010.05222), SparseMomentum, and [ArcFace](https://arxiv.org/abs/1801.07698), [CosFace](https://arxiv.org/abs/1801.09414) (we refer to MarginLoss). Backbone includes IResNet and MobileNet.
## Installation
PLSC provides two usage methods: one is as an external third-party library, and users can use `import plsc` in their own projects; the other is to develop and use it locally based on this repository.
**Note**: As the PaddlePaddle version continues to iterate, PLSC v2.4 adapts to PaddlePaddle v2.4, and there may be API mismatches in higher versions of PaddlePaddle.
### Install plsc as a third-party library
```shell
pip install plsc==2.4
```
### Install plsc locally
```shell
git clone https://github.com/PaddlePaddle/PLSC.git
cd /path/to/PLSC/
git checkout -b release/2.4 remotes/origin/release/2.4
# [optional] pip install -r requirements.txt
python setup.py develop
```
See [Installation instructions](./tutorials/get_started/installation.md).
## Getting Started
See [Quick Run Recognition](./tutorials/get_started/quick_run_recognition.md) for the basic usage of PLSC.
## Tutorials
* [Configuration](./tutorials/basic/config.md)
See more [tutorials](./tutorials/README.md).
## Documentation
* [Data Augmentation](./docs/data_augmentation.md)
See [documentation](./docs/README.md) for the usage of more APIs or modules.
## License
This project is released under the [Apache 2.0 license](./LICENSE).
## Citation
```
@misc{plsc,
title={PLSC: An Easy-to-use and High-Performance Large Scale Classification Tool},
author={PLSC Contributors},
howpublished = {\url{https://github.com/PaddlePaddle/PLSC}},
year={2022}
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/PaddlePaddle/PLSC",
"name": "plsc",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "face-recognition,vision-classification,large-scale,distributed-training,data-parallel,model-parallel,resnet,vit,face-vit,deit,partial-fc,arcface",
"author": "PLSC Contributors",
"author_email": "",
"download_url": "https://github.com/PaddlePaddle/PLSC.git",
"platform": null,
"description": "<p align=\"center\">\n <img src=\"./plsc-logo.png\" align=\"middle\" width=\"500\" />\n</p>\n\n------------------------------------------------------------------------------------------\n\n<p align=\"center\">\n <a href=\"./LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache%202-dfd.svg\"></a>\n <a href=\"https://github.com/PaddlePaddle/PLSC/releases\"><img src=\"https://img.shields.io/github/v/release/PaddlePaddle/PLSC?color=ffa\"></a>\n <a href=\"\"><img src=\"https://img.shields.io/badge/python-3.7+-aff.svg\"></a>\n <a href=\"https://github.com/PaddlePaddle/PLSC/graphs/contributors\"><img src=\"https://img.shields.io/github/contributors/PaddlePaddle/PLSC?color=9ea\"></a>\n <a href=\"https://github.com/PaddlePaddle/PLSC/issues\"><img src=\"https://img.shields.io/github/issues/PaddlePaddle/PLSC?color=9cc\"></a>\n <a href=\"https://github.com/PaddlePaddle/PLSC/stargazers\"><img src=\"https://img.shields.io/github/stars/PaddlePaddle/PLSC?color=ccf\"></a>\n</p>\n\n## Introduction\n\n[PLSC](https://github.com/PaddlePaddle/PLSC) is an open source repo for a collection of Paddle Large Scale Classification Tools, which supports large-scale classification model pre-training as well as finetune for downstream tasks.\n\n## Available Models\n* [Face Recognition](./task/recognition/face/)\n* [ViT](./task/classification/vit/)\n* [DeiT](./task/classification/deit/)\n* [CaiT](./task/classification/cait/)\n* [MoCo v3](./task/ssl/mocov3/)\n* [MAE](./task/ssl/mae/)\n\n## Top News \ud83d\udd25\n\n**Update (2023-01-11):** PLSC v2.4 is released, we refactored the entire repository based on task types. This repository has been adapted to PaddlePaddle release 2.4. In terms of models, we have added 4 new ones, including [FaceViT](https://arxiv.org/abs/2203.15565), [CaiT](https://arxiv.org/abs/2103.17239), [MoCo v3](https://arxiv.org/abs/2104.02057), [MAE](https://arxiv.org/abs/2111.06377). At present, each model in the repository can be trained from scratch to achieve the original official accuracy, especially the training of ViT-Large on the ImageNet21K dataset. In addition, we also provide a method for ImageNet21K data preprocessing. In terms of AMP training, PLSC uses FP16 O2 training by default, which can speed up training while maintaining accuracy.\n\n**Update (2022-07-18):** PLSC v2.3 is released, a new upgrade, more modular and highly extensible. Support more tasks, such as [ViT](https://arxiv.org/abs/2010.11929), [DeiT](https://arxiv.org/abs/2012.12877). The `static` graph mode will no longer be maintained as of this release.\n\n**Update (2022-01-11):** Supported NHWC data format of FP16 to improve 10% throughtput and decreased 30% GPU memory. It supported 92 million classes on single node 8 NVIDIA V100 (32G) and has high training throughtput. Supported best checkpoint save. And we released 18 pretrained models and PLSC v2.2.\n\n**Update (2021-12-11):** Released [Zhihu Technical Artical](https://zhuanlan.zhihu.com/p/443091282) and [Bilibili Open Class](https://www.bilibili.com/video/BV1VP4y1G73X)\n\n**Update (2021-10-10):** Added FP16 training, improved throughtput and optimized GPU memory. It supported 60 million classes on single node 8 NVIDIA V100 (32G) and has high training throughtput.\n\n**Update (2021-09-10):** This repository supported both `static` mode and `dynamic` mode to use paddlepaddle v2.2, which supported 48 million classes on single node 8 NVIDIA V100 (32G). It added [PartialFC](https://arxiv.org/abs/2010.05222), SparseMomentum, and [ArcFace](https://arxiv.org/abs/1801.07698), [CosFace](https://arxiv.org/abs/1801.09414) (we refer to MarginLoss). Backbone includes IResNet and MobileNet.\n\n\n## Installation\n\nPLSC provides two usage methods: one is as an external third-party library, and users can use `import plsc` in their own projects; the other is to develop and use it locally based on this repository.\n\n**Note**: As the PaddlePaddle version continues to iterate, PLSC v2.4 adapts to PaddlePaddle v2.4, and there may be API mismatches in higher versions of PaddlePaddle.\n\n### Install plsc as a third-party library\n\n```shell\npip install plsc==2.4\n```\n\n### Install plsc locally\n\n```shell\ngit clone https://github.com/PaddlePaddle/PLSC.git\ncd /path/to/PLSC/\n\ngit checkout -b release/2.4 remotes/origin/release/2.4\n\n# [optional] pip install -r requirements.txt\npython setup.py develop\n```\n\nSee [Installation instructions](./tutorials/get_started/installation.md).\n\n\n## Getting Started\n\nSee [Quick Run Recognition](./tutorials/get_started/quick_run_recognition.md) for the basic usage of PLSC.\n\n## Tutorials\n\n* [Configuration](./tutorials/basic/config.md)\n\nSee more [tutorials](./tutorials/README.md).\n\n## Documentation\n\n* [Data Augmentation](./docs/data_augmentation.md)\n\nSee [documentation](./docs/README.md) for the usage of more APIs or modules.\n\n\n## License\n\nThis project is released under the [Apache 2.0 license](./LICENSE).\n\n## Citation\n\n```\n@misc{plsc,\n title={PLSC: An Easy-to-use and High-Performance Large Scale Classification Tool},\n author={PLSC Contributors},\n howpublished = {\\url{https://github.com/PaddlePaddle/PLSC}},\n year={2022}\n}\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "PLSC is an open source repo for a collection of Paddle Large Scale Classification Tools, which supports large-scale classification model pre-training as well as finetune for downstream tasks.",
"version": "2.4.0",
"split_keywords": [
"face-recognition",
"vision-classification",
"large-scale",
"distributed-training",
"data-parallel",
"model-parallel",
"resnet",
"vit",
"face-vit",
"deit",
"partial-fc",
"arcface"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f6f056c224a4b4facf1bd87ef75d3480569ec7d3f657da0be6f4d760b2295670",
"md5": "c7196781b0086f35f36906e5c9a6c07e",
"sha256": "da40f46b18ecb6c8f96e4bedb02840d645db5568e168941f9841a0774b7b135f"
},
"downloads": -1,
"filename": "plsc-2.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c7196781b0086f35f36906e5c9a6c07e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 130317,
"upload_time": "2023-01-17T11:43:06",
"upload_time_iso_8601": "2023-01-17T11:43:06.289276Z",
"url": "https://files.pythonhosted.org/packages/f6/f0/56c224a4b4facf1bd87ef75d3480569ec7d3f657da0be6f4d760b2295670/plsc-2.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-17 11:43:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "PaddlePaddle",
"github_project": "PLSC",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "plsc"
}