readme.md 5.5 KB
Newer Older
C
chengmo 已提交
1 2 3 4 5 6 7
<p align="center">
<img align="center" src="doc/imgs/logo.png">
<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 47 48 49
- 易于上手,开箱即用
- 灵活配置,个性调参
- 分布式训练,大规模稀疏
- 快速部署,一键上线
C
chengmo 已提交
50 51

# 支持模型列表
C
chengmo 已提交
52 53 54 55 56 57 58 59 60 61 62 63 64
|         方向         |          模型          | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 | 分布式GPU训练 | 自定义数据集 | 服务器部署 |
| :------------------: | :--------------------: | :---------: | :---------: | :-----------: | :-----------: | :----------: | :--------: |
| ContentUnderstanding | [Text-Classifcation]() |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
| ContentUnderstanding |      [TagSpace]()      |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|        Recall        |      [Word2Vec]()      |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|        Recall        |        [TDM]()         |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|         Rank         |      [CTR-Dnn]()       |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|         Rank         |       [DeepFm]()       |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|        Rerank        |      [ListWise]()      |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|      MultiTask       |        [MMOE]()        |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|      MultiTask       |        [ESSM]()        |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|        Match         |        [DSSM]()        |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
|        Match         |  [Multiview-Simnet]()  |      ✓      |      x      |       ✓       |       x       |      ✓       |     ✓      |
C
chengmo 已提交
65 66 67 68

# 文档教程
## 入门教程
### 环境要求
C
update  
chengmo 已提交
69 70 71
* Python >= 2.7
* PaddlePaddle >= 1.7.2
* 操作系统: Windows/Mac/Linux
C
chengmo 已提交
72
### 安装命令
C
update  
chengmo 已提交
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
- 安装方法一<PIP源直接安装>
```bash
python -m pip install fleet-rec
```

- 安装方法二

* 安装飞桨  **注:需要用户安装最新版本的飞桨<当前只支持Linux系统>。**

```bash
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
```

* 源码安装Fleet-Rec

```
git clone https://github.com/seiriosPlus/FleetRec/
cd FleetRec
python setup.py install
```

C
chengmo 已提交
94
### 快速开始
C
update  
chengmo 已提交
95 96 97 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
#### 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 已提交
136 137 138 139 140
### 常见问题FAQ

## 进阶教程
### 自定义数据集及Reader
### 模型调参
T
tangwei 已提交
141
### 单机训练
C
chengmo 已提交
142 143
### 分布式训练
### 预测部署
T
tangwei 已提交
144

C
chengmo 已提交
145 146 147
# 版本历史
## 版本更新
## Benchamrk
T
tangwei 已提交
148

C
chengmo 已提交
149
# 许可证书
C
update  
chengmo 已提交
150
本项目的发布受[Apache 2.0 license](LICENSE)许可认证。
C
chengmo 已提交
151 152 153
# 如何贡献代码
## 优化PaddleRec框架
## 新增模型到PaddleRec