Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleRec
提交
6e3933d4
P
PaddleRec
项目概览
PaddlePaddle
/
PaddleRec
通知
68
Star
12
Fork
5
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
27
列表
看板
标记
里程碑
合并请求
10
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleRec
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
27
Issue
27
列表
看板
标记
里程碑
合并请求
10
合并请求
10
Pages
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6e3933d4
编写于
5月 13, 2020
作者:
C
chengmo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update doc
上级
5a0982fa
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
604 addition
and
11 deletion
+604
-11
doc/custom_dataset_reader.md
doc/custom_dataset_reader.md
+7
-6
doc/rec_background.md
doc/rec_background.md
+594
-1
readme.md
readme.md
+3
-4
未找到文件。
doc/custom_dataset_reader.md
浏览文件 @
6e3933d4
...
@@ -22,11 +22,11 @@ reader:
...
@@ -22,11 +22,11 @@ reader:
PaddleRec支持模型自定义数据集,在model.config.yaml文件中的reader部分,通过
`train_data_path`
指定数据读取路径。
PaddleRec支持模型自定义数据集,在model.config.yaml文件中的reader部分,通过
`train_data_path`
指定数据读取路径。
>
关于数据的tips
关于数据的tips
>
>
- PaddleRec 面向的是推荐与搜索领域,数据以文本格式为主
-
PaddleRec 面向的是推荐与搜索领域,数据以文本格式为主
>
- Dataset模式支持读取文本数据压缩后的`.gz`格式
-
Dataset模式支持读取文本数据压缩后的
`.gz`
格式
>
- Dataset模式下,训练线程与数据读取线程的关系强相关,为了多线程充分利用,`强烈建议将文件拆成多个小文件`,尤其是在分布式训练场景下,可以均衡各个节点的数据量。
-
Dataset模式下,训练线程与数据读取线程的关系强相关,为了多线程充分利用,
`强烈建议将文件拆成多个小文件`
,尤其是在分布式训练场景下,可以均衡各个节点的数据量。
## 自定义Reader
## 自定义Reader
...
@@ -171,13 +171,14 @@ class TrainReader(Reader):
...
@@ -171,13 +171,14 @@ class TrainReader(Reader):
具体流程如下:
具体流程如下:
1.
首先我们需要引入Reader基类
1.
首先我们需要引入Reader基类
```python
```python
from paddlerec.core.reader import Reader
from paddlerec.core.reader import Reader
```
```
2.
创建一个子类,继承Reader的基类,训练所需Reader命名为
`TrainerReader`
2.
创建一个子类,继承Reader的基类,训练所需Reader命名为
`TrainerReader`
3.
在
`init(self)`
函数中声明一些在数据读取中会用到的变量,如示例代码中的
`cont_min_`
、
`categorical_range_`
等,必要时可以在
`config.yaml`
文件中配置变量,通过
`env.get_global_env()`
拿到。
3.
在
`init(self)`
函数中声明一些在数据读取中会用到的变量,如示例代码中的
`cont_min_`
、
`categorical_range_`
等,必要时可以在
`config.yaml`
文件中配置变量,通过
`env.get_global_env()`
拿到。
4.
继承并实现基类中的
`generate_sample(self, line)`
函数,逐行读取数据。该函数应返回一个可以迭代的reader方法(带有yield的函数不再是一个普通的函数,而是一个生成器generator,成为了可以迭代的对象,等价于一个数组、链表、文件、字符串etc.)
4.
继承并实现基类中的
`generate_sample(self, line)`
函数,逐行读取数据。该函数应返回一个可以迭代的reader方法(带有yield的函数不再是一个普通的函数,而是一个生成器generator,成为了可以迭代的对象,等价于一个数组、链表、文件、字符串etc.)
5.
在这个可以迭代的函数中,如示例代码中的
`def reader()`
,我们定义数据读取的逻辑。
例如对
以行为单位的数据进行截取,转换及预处理。
5.
在这个可以迭代的函数中,如示例代码中的
`def reader()`
,我们定义数据读取的逻辑。以行为单位的数据进行截取,转换及预处理。
6.
最后,我们需要将数据整理为特定的格式,才能够被dataset正确读取,并灌入的训练的网络中。简单来说,数据的输出顺序与我们在网络中创建的
`inputs`
必须是严格一一对应的,并转换为类似字典的形式。在示例代码中,我们使用
`zip`
的方法将参数名与数值构成的元组组成了一个list,并将其yield输出。如果展开来看,我们输出的数据形如
`[('dense_feature',[value]),('C1',[value]),('C2',[value]),...,('C26',[value]),('label',[value])]`
6.
最后,我们需要将数据整理为特定的格式,才能够被dataset正确读取,并灌入的训练的网络中。简单来说,数据的输出顺序与我们在网络中创建的
`inputs`
必须是严格一一对应的,并转换为类似字典的形式。在示例代码中,我们使用
`zip`
的方法将参数名与数值构成的元组组成了一个list,并将其yield输出。如果展开来看,我们输出的数据形如
`[('dense_feature',[value]),('C1',[value]),('C2',[value]),...,('C26',[value]),('label',[value])]`
...
...
doc/rec_background.md
浏览文件 @
6e3933d4
此差异已折叠。
点击以展开。
readme.md
浏览文件 @
6e3933d4
...
@@ -21,10 +21,10 @@
...
@@ -21,10 +21,10 @@
<img
align=
"center"
src=
"doc/imgs/structure.png"
>
<img
align=
"center"
src=
"doc/imgs/structure.png"
>
<p>
<p>
-
源于飞桨生态的
`搜索推荐模型`
**一站式开箱即用工具**
-
源于飞桨生态的
搜索推荐模型
**一站式开箱即用工具**
-
适合初学者,开发者,研究者
的
调研,训练到预测部署的全流程解决方案
-
适合初学者,开发者,研究者
从
调研,训练到预测部署的全流程解决方案
-
包含语义理解、召回、粗排、精排、多任务学习、融合等多个任务的推荐搜索算法库
-
包含语义理解、召回、粗排、精排、多任务学习、融合等多个任务的推荐搜索算法库
-
自定义
`yaml`
即可快速上手使用单机训练、大规模分布式训练、离线预测、在线部署
-
配置
`yaml`
自定义选项,
即可快速上手使用单机训练、大规模分布式训练、离线预测、在线部署
<h2
align=
"center"
>
PadlleRec概览
</h2>
<h2
align=
"center"
>
PadlleRec概览
</h2>
...
@@ -105,7 +105,6 @@ python -m fleetrec.run -m fleetrec.models.rank.dnn -d cpu -e cluster
...
@@ -105,7 +105,6 @@ python -m fleetrec.run -m fleetrec.models.rank.dnn -d cpu -e cluster
<h2
align=
"center"
>
支持模型列表
</h2>
<h2
align=
"center"
>
支持模型列表
</h2>
> 部分表格占位待改(大规模稀疏)
| 方向 | 模型 | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 | 分布式GPU训练 |
| 方向 | 模型 | 单机CPU训练 | 单机GPU训练 | 分布式CPU训练 | 分布式GPU训练 |
| :------: | :----------------------------------------------------------------------------: | :---------: | :---------: | :-----------: | :-----------: |
| :------: | :----------------------------------------------------------------------------: | :---------: | :---------: | :-----------: | :-----------: |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录