readme.md 6.3 KB
Newer Older
C
fix  
chengmo 已提交
1

C
chengmo 已提交
2
<p align="center">
C
chengmo 已提交
3
<img align="center" src="doc/imgs/logo.png">
C
chengmo 已提交
4 5
<p>

C
chengmo 已提交
6 7
<p align="center">
    <br>
C
update  
chengmo 已提交
8
    <img alt="Release" src="https://img.shields.io/badge/Release-0.1.0-yellowgreen">
C
chengmo 已提交
9 10 11 12
    <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 已提交
13 14


C
chengmo 已提交
15
<h2 align="center">什么是PaddleRec</h2>
C
chengmo 已提交
16 17

<p align="center">
C
chengmo 已提交
18
<img align="center" src="doc/imgs/structure.png">
C
chengmo 已提交
19 20
<p>

C
chengmo 已提交
21 22
- 源于飞桨生态的搜索推荐模型**一站式开箱即用工具** 
- 适合初学者,开发者,研究者从调研,训练到预测部署的全流程解决方案
C
chengmo 已提交
23
- 包含语义理解、召回、粗排、精排、多任务学习、融合等多个任务的推荐搜索算法库
C
fix  
chengmo 已提交
24
- 配置**yaml**自定义选项,即可快速上手使用单机训练、大规模分布式训练、离线预测、在线部署
C
chengmo 已提交
25

C
chengmo 已提交
26

C
chengmo 已提交
27 28 29 30 31 32
<h2 align="center">PadlleRec概览</h2>

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

C
chengmo 已提交
33

C
chengmo 已提交
34 35 36 37 38 39
<h2 align="center">推荐系统-流程概览</h2>

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

C
chengmo 已提交
40
<h2 align="center">便捷安装</h2>
C
chengmo 已提交
41

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

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

- 安装方法二

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

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

C
update  
chengmo 已提交
63
  2. 源码安装PaddleRec
C
update  
chengmo 已提交
64

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

C
chengmo 已提交
71

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

C
update  
chengmo 已提交
74
### 启动内置模型的默认配置
C
chengmo 已提交
75

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

C
fix  
chengmo 已提交
78
#### 单机训练
C
update  
chengmo 已提交
79 80

```bash
C
chengmo 已提交
81
# 使用CPU进行单机训练
C
fix  
chengmo 已提交
82
python -m paddlerec.run -m paddlerec.models.rank.dnn -d cpu -e single 
C
chengmo 已提交
83 84

# 使用GPU进行单机训练
C
fix  
chengmo 已提交
85
python -m paddlerec.run -m paddlerec.models.rank.dnn -d gpu -e single
C
update  
chengmo 已提交
86 87
```

C
fix  
chengmo 已提交
88
#### 本地模拟分布式训练
C
update  
chengmo 已提交
89 90

```bash
C
chengmo 已提交
91
# 使用CPU资源进行本地模拟分布式训练
C
fix  
chengmo 已提交
92
python -m paddlerec.run -m paddlerec.models.rank.dnn -e local_cluster
C
update  
chengmo 已提交
93 94
```

C
fix  
chengmo 已提交
95
#### 集群分布式训练
C
update  
chengmo 已提交
96 97

```bash
C
chengmo 已提交
98
# 配置好 mpi/k8s/paddlecloud集群环境后
C
fix  
chengmo 已提交
99
python -m paddlerec.run -m paddlerec.models.rank.dnn -e cluster
C
update  
chengmo 已提交
100 101
```

C
update  
chengmo 已提交
102
### 启动内置模型的自定配置
C
fix  
chengmo 已提交
103 104 105

若您复用内置模型,对**yaml**配置文件进行了修改,如更改超参,重新配置数据后,可以直接使用paddlerec运行该yaml文件。

C
fix  
chengmo 已提交
106
我们以dnn模型为例,在paddlerec代码目录下,修改了dnn模型`config.yaml`的配置后,运行`dnn`模型:
C
fix  
chengmo 已提交
107 108 109
```bash
python -m paddlerec.run -m ./models/rank/dnn/config.yaml -e single
```
C
chengmo 已提交
110 111


C
chengmo 已提交
112
<h2 align="center">支持模型列表</h2>
C
fix  
chengmo 已提交
113

C
chengmo 已提交
114

C
fix  
chengmo 已提交
115 116
|   方向   |                                      模型                                      | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 |
| :------: | :----------------------------------------------------------------------------: | :---------: | :---------: | :-----------: |
Z
zengkai 已提交
117
| 内容理解 | [Text-Classifcation](models/contentunderstanding/classification/model.py) |      ✓      |      x      |       ✓       |
C
fix  
chengmo 已提交
118
| 内容理解 |           [TagSpace](models/contentunderstanding/tagspace/model.py)            |      ✓      |      x      |       ✓       |
C
fix  
chengmo 已提交
119
|   召回   |                      [TDM](models/treebased/tdm/model.py)                      |      ✓      |      x      |       ✓       |
C
fix  
chengmo 已提交
120 121 122 123 124 125 126 127 128 129 130 131 132
|   召回   |                  [Word2Vec](models/recall/word2vec/model.py)                   |      ✓      |      x      |       ✓       |
|   召回   |                       [SSR](models/recall/ssr/model.py)                        |      ✓      |      ✓      |       ✓       |
|   召回   |                   [Gru4Rec](models/recall/gru4rec/model.py)                    |      ✓      |      ✓      |       ✓       |
|   排序   |                        [Dnn](models/rank/dnn/model.py)                         |      ✓      |      x      |       ✓       |
|   排序   |                     [DeepFM](models/rank/deepfm/model.py)                      |      ✓      |      x      |       ✓       |
|   排序   |                    [xDeepFM](models/rank/xdeepfm/model.py)                     |      ✓      |      x      |       ✓       |
|   排序   |                        [DIN](models/rank/din/model.py)                         |      ✓      |      x      |       ✓       |
|   排序   |                  [Wide&Deep](models/rank/wide_deep/model.py)                   |      ✓      |      x      |       ✓       |
|  多任务  |                     [ESMM](models/multitask/esmm/model.py)                     |      ✓      |      ✓      |       ✓       |
|  多任务  |                     [MMOE](models/multitask/mmoe/model.py)                     |      ✓      |      ✓      |       ✓       |
|  多任务  |             [ShareBottom](models/multitask/share-bottom/model.py)              |      ✓      |      ✓      |       ✓       |
|   匹配   |                       [DSSM](models/match/dssm/model.py)                       |      ✓      |      x      |       ✓       |
|   匹配   |           [MultiView-Simnet](models/match/multiview-simnet/model.py)           |      ✓      |      x      |       ✓       |
C
chengmo 已提交
133

C
fix  
chengmo 已提交
134

C
chengmo 已提交
135

C
chengmo 已提交
136 137
<h2 align="center">文档</h2>

C
fix  
chengmo 已提交
138
### 背景介绍
C
chengmo 已提交
139 140
* [推荐系统介绍](doc/rec_background.md)
* [分布式深度学习介绍](doc/ps_background.md)
C
fix  
chengmo 已提交
141

C
chengmo 已提交
142
### 新手教程
C
fix  
chengmo 已提交
143 144 145
* [环境要求](#环境要求)
* [安装命令](#安装命令)
* [快速开始](#启动内置模型的默认配置)
C
chengmo 已提交
146

C
chengmo 已提交
147
### 进阶教程
C
chengmo 已提交
148 149
* [自定义数据集及Reader](doc/custom_dataset_reader.md)
* [分布式训练](doc/distributed_train.md)
C
chengmo 已提交
150

C
fix  
chengmo 已提交
151 152 153
### 开发者教程
* [PaddleRec设计文档](doc/design.md)

C
chengmo 已提交
154
### 关于PaddleRec性能
C
chengmo 已提交
155
* [Benchmark](doc/benchmark.md)
C
chengmo 已提交
156

C
chengmo 已提交
157
### FAQ
C
chengmo 已提交
158
* [常见问题FAQ](doc/faq.md)
T
tangwei 已提交
159

C
chengmo 已提交
160

C
chengmo 已提交
161
<h2 align="center">社区</h2>
C
chengmo 已提交
162

C
chengmo 已提交
163 164 165 166
### 反馈
如有意见、建议及使用中的BUG,欢迎在`GitHub Issue`提交

### 版本历史
C
chengmo 已提交
167
- 2020.5.14 - PaddleRec v0.1
C
chengmo 已提交
168 169 170
  
### 许可证书
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
Z
zengkai 已提交
171