readme.md 6.1 KB
Newer Older
C
chengmo 已提交
1
<p align="center">
C
chengmo 已提交
2
<img align="center" src="doc/imgs/logo.png">
C
chengmo 已提交
3 4
<p>

C
chengmo 已提交
5 6 7 8 9 10 11 12 13 14 15
<p align="center">
    <br>
    <a href="https://travis-ci.com/PaddlePaddle/Serving">
        <img alt="Build Status" src="https://img.shields.io/travis/com/PaddlePaddle/Serving/develop">
    </a>
    <img alt="Release" src="https://img.shields.io/badge/Release-0.0.3-yellowgreen">
    <img alt="Issues" src="https://img.shields.io/github/issues/PaddlePaddle/Serving">
    <img alt="License" src="https://img.shields.io/github/license/PaddlePaddle/Serving">
    <img alt="Slack" src="https://img.shields.io/badge/Join-Slack-green">
    <br>
<p>
C
chengmo 已提交
16 17


C
chengmo 已提交
18
<h2 align="center">什么是PaddleRec</h2>
C
chengmo 已提交
19 20

<p align="center">
C
chengmo 已提交
21
<img align="center" src="doc/imgs/structure.png">
C
chengmo 已提交
22 23
<p>

C
chengmo 已提交
24 25 26 27 28
- PaddleRec是源于飞桨生态的搜索推荐模型一站式开箱即用工具,无论您是初学者,开发者,研究者均可便捷的使用PaddleRec完成调研,训练到预测部署的全流程工作。
- PaddleRec提供了搜索推荐任务中语义理解、召回、粗排、精排、多任务学习的全流程解决方案,包含的算法模型均在百度各个业务的实际场景中得到了验证。
- PaddleRec将各个模型及其训练预测流程规范化整理,进行易用性封装,用户只需自定义yaml文件即可快速上手使用。
- PaddleRec以飞桨深度学习框架为核心,融合了大规模分布式训练框架Fleet,以及一键式推理部署框架PaddleServing,支持推荐搜索算法的工业化应用。

C
chengmo 已提交
29

C
chengmo 已提交
30 31 32 33 34 35
<h2 align="center">PadlleRec概览</h2>

<p align="center">
<img align="center" src="doc/imgs/overview.png">
<p>

C
chengmo 已提交
36

C
chengmo 已提交
37 38
<h2 align="center">安装</h2>

C
chengmo 已提交
39
### 环境要求
C
update  
chengmo 已提交
40 41 42
* Python >= 2.7
* PaddlePaddle >= 1.7.2
* 操作系统: Windows/Mac/Linux
C
fix  
chengmo 已提交
43
  
C
chengmo 已提交
44
### 安装命令
C
fix  
chengmo 已提交
45

C
update  
chengmo 已提交
46
- 安装方法一<PIP源直接安装>
C
fix  
chengmo 已提交
47
  ```bash
48
  python -m pip install paddle-rec
C
fix  
chengmo 已提交
49
  ```
C
update  
chengmo 已提交
50 51 52

- 安装方法二

C
chengmo 已提交
53
  源码编译安装
C
chengmo 已提交
54
  1. 安装飞桨  **注:需要用户安装版本 >1.7.2 的飞桨**
C
update  
chengmo 已提交
55

C
chengmo 已提交
56
    ```shell
C
fix  
chengmo 已提交
57 58
    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    ```
C
update  
chengmo 已提交
59

C
chengmo 已提交
60
  2. 源码安装Fleet-Rec
C
update  
chengmo 已提交
61

C
fix  
chengmo 已提交
62
    ```
63 64
    git clone https://github.com/PaddlePaddle/PaddleRec/
    cd PaddleRec
C
fix  
chengmo 已提交
65 66
    python setup.py install
    ```
C
update  
chengmo 已提交
67

C
chengmo 已提交
68

C
chengmo 已提交
69 70 71 72 73 74
<h2 align="center">快速启动</h2>


目前框架内置了多个模型,简单的命令即可使用内置模型开始单机训练和本地1*1模拟训练,我们以`ctr-dnn`为例介绍PaddleRec的简单使用。

<h3 align="center">单机训练</h3>
C
update  
chengmo 已提交
75 76

```bash
C
chengmo 已提交
77 78 79 80 81
# 使用CPU进行单机训练
python -m fleetrec.run -m fleetrec.models.rank.dnn -d cpu -e single 

# 使用GPU进行单机训练
python -m fleetrec.run -m fleetrec.models.rank.dnn -d gpu -e single
C
update  
chengmo 已提交
82 83
```

C
chengmo 已提交
84
<h3 align="center">本地模拟分布式训练</h3>
C
update  
chengmo 已提交
85 86

```bash
C
chengmo 已提交
87 88
# 使用CPU资源进行本地模拟分布式训练
python -m fleetrec.run -m fleetrec.models.rank.dnn -d cpu -e local_cluster
C
update  
chengmo 已提交
89 90
```

C
chengmo 已提交
91
<h3 align="center">集群分布式训练</h3>
C
update  
chengmo 已提交
92 93

```bash
C
chengmo 已提交
94 95
# 配置好 mpi/k8s/paddlecloud集群环境后
python -m fleetrec.run -m fleetrec.models.rank.dnn -d cpu -e cluster
C
update  
chengmo 已提交
96 97
```

C
chengmo 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
<h2 align="center">支持模型列表</h2>


|   方向   |          模型          | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 | 大规模稀疏 | 分布式GPU训练 | 自定义数据集 |
| :------: | :--------------------: | :---------: | :---------: | :-----------: | :--------: | :-----------: | :----------: |
| 内容理解 | [Text-Classifcation]() |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
| 内容理解 |      [TagSpace]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |      [Word2Vec]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |        [TDM]()         |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |        [SSR]()         |      ✓      |      ✓      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |      [Gru4Rec]()       |      ✓      |      ✓      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |      [CTR-Dnn]()       |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |       [DeepFm]()       |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |      [ListWise]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |        [DSSM]()        |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |  [Multiview-Simnet]()  |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   融合   |        [MMOE]()        |      ✓      |      ✓      |       ✓       |     x      |       ✓       |      ✓       |
|   融合   |        [ESMM]()        |      ✓      |      ✓      |       ✓       |     x      |       ✓       |      ✓       |
|   融合   |        [ESMM]()        |      ✓      |      ✓      |       ✓       |     x      |       ✓       |      ✓       |



C
chengmo 已提交
120

C
chengmo 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
<h2 align="center">文档</h2>

### 新手教程
* [支持模型列表](#支持模型列表)
* [环境要求](#环境要求)
* [安装命令](#安装命令)
* [快速开始](#快速开始)
  
### 进阶教程
* [自定义数据集及Reader](#自定义数据集及reader)
* [模型调参](#模型调参)
* [单机训练](#单机训练)
* [分布式训练](#分布式训练)
* [离线预测](#预测部署)

### 关于PaddleRec性能
* [Benchamrk](#benchamrk)
C
chengmo 已提交
138

C
chengmo 已提交
139 140
### FAQ
* [常见问题FAQ](#常见问题faq)
T
tangwei 已提交
141

C
chengmo 已提交
142 143 144
### 设计文档
* [PaddleRec设计文档](#PaddleRec设计文档)

C
chengmo 已提交
145

C
chengmo 已提交
146
<h2 align="center">社区</h2>
C
chengmo 已提交
147

C
chengmo 已提交
148 149 150
### 贡献代码
* [优化PaddleRec框架](#优化paddlerec框架)
* [新增模型到PaddleRec](#新增模型到paddlerec)
C
chengmo 已提交
151

C
chengmo 已提交
152 153 154 155 156 157 158 159 160
### 反馈
如有意见、建议及使用中的BUG,欢迎在`GitHub Issue`提交

### 版本历史
* [版本更新](#版本更新)
  
### 许可证书
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。