/PaddleHub

Awesome pre-trained models toolkit based on PaddlePaddle.(300+ models including Image, Text, Audio and Video with Easy Inference & Serving deployment)

Primary LanguagePythonApache License 2.0Apache-2.0

English | 简体中文


Introduction and Features

  • PaddleHub aims to provide developers with rich, high-quality, and directly usable pre-trained models.
  • Abundant Pre-trained Models: 360+ pre-trained models cover the 5 major categories, including Image, Text, Audio, Video, and Industrial application. All of them are free for download and offline usage.
  • No Need for Deep Learning Background: you can use AI models quickly and enjoy the dividends of the artificial intelligence era.
  • Quick Model Prediction: model prediction can be realized through a few lines of scripts to quickly experience the model effect.
  • Model As Service: one-line command to build deep learning model API service deployment capabilities.
  • Easy-to-use Transfer Learning: few lines of codes to complete the transfer-learning task such as image classification and text classification based on high quality pre-trained models.
  • Cross-platform: support Linux, Windows, MacOS and other operating systems.

Recent updates

  • 2022.02.18: Added Huggingface Org, add spaces and models to the org: PaddlePaddle Huggingface
  • 2021.12.22,The v2.2.0 version is released. [1]More than 100 new models released,including dialog, speech, segmentation, OCR, text processing, GANs, and many other categories. The total number of pre-trained models reaches 【360】. [2]Add an indexed file including useful information of pretrained models supported by PaddleHub. [3]Refactor README of pretrained models.
  • 2021.05.12: Add an open-domain dialogue system, i.e., plato-mini, to make it easy to build a chatbot in wechat with the help of the wechaty, See Demo
  • 2021.04.27: The v2.1.0 version is released. [1] Add supports for five new models, including two high-precision semantic segmentation models based on VOC dataset and three voice classification models. [2] Enforce the transfer learning capabilities for image semantic segmentation, text semantic matching and voice classification on related datasets. [3] Add the export function APIs for two kinds of model formats, i.,e, ONNX and PaddleInference. [4] Add the support for BentoML, which is a cloud native framework for serving deployment. Users can easily serve pre-trained models from PaddleHub by following the Tutorial notebooks. Also, see this announcement and Release note from BentoML. (Many thanks to @parano @cqvu @deehrlic for contributing this feature in PaddleHub). [5] The total number of pre-trained models reaches 【300】.
  • 2021.02.18: The v2.0.0 version is released, making model development and debugging easier, and the finetune task is more flexible and easy to use.The ability to transfer learning for visual tasks is fully upgraded, supporting various tasks such as image classification, image coloring, and style transfer; Transformer models such as BERT, ERNIE, and RoBERTa are upgraded to dynamic graphs, supporting Fine-Tune capabilities for text classification and sequence labeling; Optimize the Serving capability, support multi-card prediction, automatic load balancing, and greatly improve performance; the new automatic data enhancement capability Auto Augment can efficiently search for data enhancement strategy combinations suitable for data sets. 61 new word vector models were added, including 51 Chinese models and 10 English models; add 4 image segmentation models, 2 depth models, 7 image generation models, and 3 text generation models, the total number of pre-trained models reaches 【274】.
  • 【more】

Visualization Demo [More] [ModelList]

  • Many thanks to CopyRight@ERNIELACDDParserfor the pre-trained models, you can try to train your models with them.
  • ASR speech recognition algorithm, multiple algorithms are available.
  • The speech recognition effect is as follows:
Input Audio Recognition Result

I knocked at the door on the ancient side of the building.

我认为跑步最重要的就是给我带来了身体健康。
  • TTS speech synthesis algorithm, multiple algorithms are available.
  • Input: Life was like a box of chocolates, you never know what you're gonna get.
  • The synthesis effect is as follows:
deepvoice3 fastspeech transformer



  • Many thanks to CopyRight@PaddleSpeech for the pre-trained models, you can try to train your models with PaddleSpeech.
  • Short video classification trained via large-scale video datasets, supports 3000+ tag types prediction for short Form Videos.
  • Many thanks to CopyRight@PaddleVideo for the pre-trained model, you can try to train your models with PaddleVideo.
  • Example: Input a short video of swimming, the algorithm can output the result of "swimming"

===Key Points===

  • All the above pre-trained models are all open source and free, and the number of models is continuously updated. Welcome ⭐Star⭐ to pay attention.

Welcome to join PaddleHub technical group

If you have any questions during the use of the model, you can join the official WeChat group to get more efficient questions and answers, and fully communicate with developers from all walks of life. We look forward to your joining.

please add WeChat above and send "Hub" to the robot, the robot will invite you to join the group automatically.

QuickStart

The installation of required components.

# install paddlepaddle with gpu
# !pip install --upgrade paddlepaddle-gpu

# or install paddlepaddle with cpu
!pip install --upgrade paddlepaddle

# install paddlehub
!pip install --upgrade paddlehub

The simplest cases of Chinese word segmentation.

import paddlehub as hub

lac = hub.Module(name="lac")
test_text = ["今天是个好天气。"]

results = lac.cut(text=test_text, use_gpu=False, batch_size=1, return_tag=True)
print(results)
#{'word': ['今天', '是', '个', '好天气', '。'], 'tag': ['TIME', 'v', 'q', 'n', 'w']}

The simplest command of deploying lac service.

!hub serving start -m lac

More model description, please refer Models List

More API for transfer learning, please refer Tutorial

Contribute a Gradio Demo to PaddlePaddle Organization on Hugging Face

License

The release of this project is certified by the Apache 2.0 license.

Contribution

We welcome you to contribute code to PaddleHub, and thank you for your feedback.

  • Many thanks to 肖培楷, Contributed to street scene cartoonization, portrait cartoonization, gesture key point recognition, sky replacement, depth estimation, portrait segmentation and other modules
  • Many thanks to Austendeng for fixing the SequenceLabelReader
  • Many thanks to cclauss optimizing travis-ci check
  • Many thanks to 奇想天外,Contributed a demo of mask detection
  • Many thanks to mhlwsk,Contributed the repair sequence annotation prediction demo
  • Many thanks to zbp-xxxp,Contributed modules for viewing pictures and writing poems
  • Many thanks to zbp-xxxp and 七年期限,Jointly contributed to the Mid-Autumn Festival Special Edition Module
  • Many thanks to livingbody,Contributed models for style transfer based on PaddleHub's capabilities and Mid-Autumn Festival WeChat Mini Program
  • Many thanks to BurrowsWang for fixing Markdown table display problem
  • Many thanks to huqi for fixing readme typo
  • Many thanks to parano cqvu deehrlic for contributing this feature in PaddleHub
  • Many thanks to paopjian for correcting the wrong website address #1424
  • Many thanks to Wgm-Inspur for correcting the demo errors in readme, and updating the RNN illustration in the text classification and sequence labeling demo
  • Many thanks to zl1271 for fixing serving docs typo
  • Many thanks to AK391 for adding the webdemo of UGATIT and deoldify models in Hugging Face spaces
  • Many thanks to itegel for fixing quick start docs typo
  • Many thanks to AK391 for adding the webdemo of Photo2Cartoon model in Hugging Face spaces