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

[![License](https://img.shields.io/badge/license-Apache%202-red.svg)](LICENSE)
[![Version](https://img.shields.io/github/v/release/PaddlePaddle/Paddle.svg)](https://github.com/PaddlePaddle/PaddleRec/releases)

C
chengmo 已提交
8
PaddleRec是源于飞桨生态的搜索推荐模型一站式开箱即用工具,无论您是初学者,开发者,研究者均可便捷的使用PaddleRec完成调研,训练到预测部署的全流程工作。PaddleRec提供了搜索推荐任务中语义理解、召回、粗排、精排、多任务学习的全流程解决方案。
C
chengmo 已提交
9

C
chengmo 已提交
10
PadlleRec以预置模型为核心,具备以下特点:
C
chengmo 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
- [易于上手,开箱即用](https://www.paddlepaddle.org.cn)
- [灵活配置,个性调参](https://www.paddlepaddle.org.cn)
- [分布式训练,大规模稀疏](https://www.paddlepaddle.org.cn)
- [快速部署,一键上线](https://www.paddlepaddle.org.cn)

<p align="center">
<img align="center" src="doc/imgs/coding-gif.png">
<p>

# 目录
* [特性](#特性)
* [支持模型列表](#支持模型列表)
* [文档教程](#文档教程)
  * [入门教程](#入门教程)
     * [环境要求](#环境要求)
     * [安装命令](#安装命令)
     * [快速开始](#快速开始)
     * [常见问题FAQ](#常见问题faq)
  * [进阶教程](#进阶教程)
     * [自定义数据集及Reader](#自定义数据集及reader)
     * [模型调参](#模型调参)
     * [单机训练](#单机训练)
     * [分布式训练](#分布式训练)
     * [预测部署](#预测部署)
* [版本历史](#版本历史)
  * [版本更新](#版本更新)
  * [Benchamrk](#benchamrk)
* [许可证书](#许可证书)
* [如何贡献代码](#如何贡献代码)
  * [优化PaddleRec框架](#优化paddlerec框架)
  * [新增模型到PaddleRec](#新增模型到paddlerec)



# 特性
C
chengmo 已提交
46
- 易于上手,开箱即用
C
chengmo 已提交
47
  
C
chengmo 已提交
48 49 50
- 灵活配置,个性调参
- 分布式训练,大规模稀疏
- 快速部署,一键上线
C
chengmo 已提交
51 52

# 支持模型列表
C
chengmo 已提交
53 54 55 56 57 58 59 60 61 62 63 64 65
|   方向   |          模型          | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 | 大规模稀疏 | 分布式GPU训练 | 自定义数据集 |
| :------: | :--------------------: | :---------: | :---------: | :-----------: | :--------: | :-----------: | :----------: |
| 内容理解 | [Text-Classifcation]() |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
| 内容理解 |      [TagSpace]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |      [Word2Vec]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   召回   |        [TDM]()         |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |      [CTR-Dnn]()       |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |       [DeepFm]()       |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   排序   |      [ListWise]()      |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|  多任务  |        [MMOE]()        |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|  多任务  |        [ESMM]()        |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   匹配   |        [DSSM]()        |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
|   匹配   |  [Multiview-Simnet]()  |      ✓      |      x      |       ✓       |     x      |       ✓       |      ✓       |
C
chengmo 已提交
66 67 68 69

# 文档教程
## 入门教程
### 环境要求
C
update  
chengmo 已提交
70 71 72
* Python >= 2.7
* PaddlePaddle >= 1.7.2
* 操作系统: Windows/Mac/Linux
C
fix  
chengmo 已提交
73
  
C
chengmo 已提交
74
### 安装命令
C
fix  
chengmo 已提交
75

C
update  
chengmo 已提交
76
- 安装方法一<PIP源直接安装>
C
fix  
chengmo 已提交
77 78 79
  ```bash
  python -m pip install fleet-rec
  ```
C
update  
chengmo 已提交
80 81 82

- 安装方法二

C
fix  
chengmo 已提交
83
  * 安装飞桨  **注:需要用户安装最新版本的飞桨<当前只支持Linux系统>。**
C
update  
chengmo 已提交
84

C
fix  
chengmo 已提交
85 86 87
    ```bash
    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    ```
C
update  
chengmo 已提交
88

C
fix  
chengmo 已提交
89
  * 源码安装Fleet-Rec
C
update  
chengmo 已提交
90

C
fix  
chengmo 已提交
91 92 93 94 95
    ```
    git clone https://github.com/seiriosPlus/FleetRec/
    cd FleetRec
    python setup.py install
    ```
C
update  
chengmo 已提交
96

C
chengmo 已提交
97
### 快速开始
C
update  
chengmo 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
#### ctr-dnn示例使用
目前框架内置了多个模型,简单的命令即可使用内置模型开始单机训练和本地1*1模拟训练

##### 单机训练
```bash
cd FleetRec

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
```

##### 本地模拟分布式训练

```bash
cd FleetRec
# 使用CPU资源进行训练
python -m fleetrec.run \
       -m fleetrec.models.rank.dnn \
       -d cpu \
       -e local_cluster
```

##### 集群提交分布式训练<需要用户预先配置好集群环境,本提交命令不包含提交客户端>

```bash
cd FleetRec

python -m fleetrec.run \
       -m fleetrec.models.rank.dnn \
       -d cpu \
       -e cluster
```

C
chengmo 已提交
139 140 141 142
### 常见问题FAQ

# 版本历史
## 版本更新
T
tangwei 已提交
143

C
chengmo 已提交
144
# 许可证书
C
update  
chengmo 已提交
145
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
C
chengmo 已提交
146 147