/Paddle

PArallel Distributed Deep LEarning (『飞桨』核心框架,高性能单机、分布式训练和跨平台部署)

Primary LanguageC++Apache License 2.0Apache-2.0

PaddlePaddle

English | 简体中文

Build Status Documentation Status Documentation Status Release License

Welcome to the PaddlePaddle GitHub.

PaddlePaddle (PArallel Distributed Deep LEarning) is an easy-to-use, efficient, flexible and scalable deep learning platform, which is originally developed by Baidu scientists and engineers for the purpose of applying deep learning to many products at Baidu.

Our vision is to enable deep learning for everyone via PaddlePaddle. Please refer to our release announcement to track the latest feature of PaddlePaddle.

Latest PaddlePaddle Release: Fluid 1.5.1

Install Latest Stable Release:

# Linux CPU
pip install paddlepaddle
# Linux GPU cuda10cudnn7
pip install paddlepaddle-gpu
# Linux GPU cuda8cudnn7
pip install paddlepaddle-gpu==1.5.1.post87
# Linux GPU cuda9cudnn7
pip install paddlepaddle-gpu==1.5.1.post97


# For installation on other platform, refer to http://paddlepaddle.org/

Now our developers could acquire Tesla V100 online computing resources for free. If you create a program by AI Studio, you would obtain 12 hours to train models online per day. If you could insist on that for five consecutive days, then you would own extra 48 hours. Click here to start.

Features

  • Flexibility

    PaddlePaddle supports a wide range of neural network architectures and optimization algorithms. It is easy to configure complex models such as neural machine translation model with attention mechanism or complex memory connection.

  • Efficiency

    In order to unleash the power of heterogeneous computing resource, optimization occurs at different levels of PaddlePaddle, including computing, memory, architecture and communication. The following are some examples:

    • Optimized math operations through SSE/AVX intrinsics, BLAS libraries (e.g. MKL, OpenBLAS, cuBLAS) or customized CPU/GPU kernels.
    • Optimized CNN networks through MKL-DNN library.
    • Highly optimized recurrent networks which can handle variable-length sequence without padding.
    • Optimized local and distributed training for models with high dimensional sparse data.
  • Scalability

    With PaddlePaddle, it is easy to use many CPUs/GPUs and machines to speed up your training. PaddlePaddle can achieve high throughput and performance via optimized communication.

  • Connected to Products

    In addition, PaddlePaddle is also designed to be easily deployable. At Baidu, PaddlePaddle has been deployed into products and services with a vast number of users, including ad click-through rate (CTR) prediction, large-scale image classification, optical character recognition(OCR), search ranking, computer virus detection, recommendation, etc. It is widely utilized in products at Baidu and it has achieved a significant impact. We hope you can also explore the capability of PaddlePaddle to make an impact on your product.

Installation

It is recommended to read this doc on our website.

Documentation

We provide English and Chinese documentation.

Communication

  • Github Issues: bug reports, feature requests, install issues, usage issues, etc.
  • QQ discussion group: 432676488 (PaddlePaddle).
  • Forums: discuss implementations, research, etc.

Copyright and License

PaddlePaddle is provided under the Apache-2.0 license.