Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
PaddleRec
提交
2abd8d8a
P
PaddleRec
项目概览
BaiXuePrincess
/
PaddleRec
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleRec
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleRec
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2abd8d8a
编写于
7月 20, 2020
作者:
M
MrChengmo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix some bug
上级
5d4c7196
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
51 addition
and
8 deletion
+51
-8
core/engine/cluster/cloud/cluster.sh
core/engine/cluster/cloud/cluster.sh
+2
-0
core/engine/cluster/cloud/k8s_config.ini.template
core/engine/cluster/cloud/k8s_config.ini.template
+1
-0
core/engine/cluster/cloud/mpi_config.ini.template
core/engine/cluster/cloud/mpi_config.ini.template
+1
-0
core/engine/cluster/cluster.py
core/engine/cluster/cluster.py
+8
-3
doc/distributed_train.md
doc/distributed_train.md
+21
-4
doc/yaml.md
doc/yaml.md
+18
-1
未找到文件。
core/engine/cluster/cloud/cluster.sh
浏览文件 @
2abd8d8a
...
...
@@ -59,6 +59,7 @@ function _gen_mpi_config() {
-e
"s#<
$
OUTPUT_PATH
$>
#
$OUTPUT_PATH
#g"
\
-e
"s#<
$
THIRDPARTY_PATH
$>
#
$THIRDPARTY_PATH
#g"
\
-e
"s#<
$
CPU_NUM
$>
#
$max_thread_num
#g"
\
-e
"s#<
$
USE_PYTHON3
$>
#
$USE_PYTHON3
#g"
\
-e
"s#<
$
FLAGS_communicator_is_sgd_optimizer
$>
#
$FLAGS_communicator_is_sgd_optimizer
#g"
\
-e
"s#<
$
FLAGS_communicator_send_queue_size
$>
#
$FLAGS_communicator_send_queue_size
#g"
\
-e
"s#<
$
FLAGS_communicator_thread_pool_size
$>
#
$FLAGS_communicator_thread_pool_size
#g"
\
...
...
@@ -76,6 +77,7 @@ function _gen_k8s_config() {
-e
"s#<
$
AFS_REMOTE_MOUNT_POINT
$>
#
$AFS_REMOTE_MOUNT_POINT
#g"
\
-e
"s#<
$
OUTPUT_PATH
$>
#
$OUTPUT_PATH
#g"
\
-e
"s#<
$
CPU_NUM
$>
#
$max_thread_num
#g"
\
-e
"s#<
$
USE_PYTHON3
$>
#
$USE_PYTHON3
#g"
\
-e
"s#<
$
FLAGS_communicator_is_sgd_optimizer
$>
#
$FLAGS_communicator_is_sgd_optimizer
#g"
\
-e
"s#<
$
FLAGS_communicator_send_queue_size
$>
#
$FLAGS_communicator_send_queue_size
#g"
\
-e
"s#<
$
FLAGS_communicator_thread_pool_size
$>
#
$FLAGS_communicator_thread_pool_size
#g"
\
...
...
core/engine/cluster/cloud/k8s_config.ini.template
浏览文件 @
2abd8d8a
...
...
@@ -19,6 +19,7 @@ afs_local_mount_point="/root/paddlejob/workspace/env_run/afs/"
# 新k8s afs挂载帮助文档: http://wiki.baidu.com/pages/viewpage.action?pageId=906443193
PADDLE_PADDLEREC_ROLE=WORKER
use_python3=<$ USE_PYTHON3 $>
CPU_NUM=<$ CPU_NUM $>
GLOG_v=0
...
...
core/engine/cluster/cloud/mpi_config.ini.template
浏览文件 @
2abd8d8a
...
...
@@ -17,6 +17,7 @@ output_path=<$ OUTPUT_PATH $>
thirdparty_path=<$ THIRDPARTY_PATH $>
PADDLE_PADDLEREC_ROLE=WORKER
use_python3=<$ USE_PYTHON3 $>
CPU_NUM=<$ CPU_NUM $>
GLOG_v=0
...
...
core/engine/cluster/cluster.py
浏览文件 @
2abd8d8a
...
...
@@ -159,23 +159,28 @@ class ClusterEnvBase(object):
self
.
cluster_env
[
"PADDLE_VERSION"
]
=
self
.
backend_env
.
get
(
"config.paddle_version"
,
"1.7.2"
)
# python_version
self
.
cluster_env
[
"USE_PYTHON3"
]
=
self
.
backend_env
.
get
(
"config.use_python3"
,
"0"
)
# communicator
max_thread_num
=
int
(
envs
.
get_runtime_environ
(
"max_thread_num"
))
self
.
cluster_env
[
"FLAGS_communicator_is_sgd_optimizer"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_is_sgd_optimizer"
,
0
)
self
.
cluster_env
[
"FLAGS_communicator_send_queue_size"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_send_queue_size"
,
5
)
"config.communicator.FLAGS_communicator_send_queue_size"
,
max_thread_num
)
self
.
cluster_env
[
"FLAGS_communicator_thread_pool_size"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_thread_pool_size"
,
32
)
self
.
cluster_env
[
"FLAGS_communicator_max_merge_var_num"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_max_merge_var_num"
,
5
)
"config.communicator.FLAGS_communicator_max_merge_var_num"
,
max_thread_num
)
self
.
cluster_env
[
"FLAGS_communicator_max_send_grad_num_before_recv"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_max_send_grad_num_before_recv"
,
5
)
max_thread_num
)
self
.
cluster_env
[
"FLAGS_communicator_fake_rpc"
]
=
self
.
backend_env
.
get
(
"config.communicator.FLAGS_communicator_fake_rpc"
,
0
)
self
.
cluster_env
[
"FLAGS_rpc_retry_times"
]
=
self
.
backend_env
.
get
(
...
...
doc/distributed_train.md
浏览文件 @
2abd8d8a
...
...
@@ -69,6 +69,12 @@ dataset:
data_path
:
"
{workspace}/data/sample_data/train"
sparse_slots
:
"
click
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26"
dense_slots
:
"
dense_var:13"
phase
:
-
name
:
phase1
model
:
"
{workspace}/model.py"
dataset_name
:
dataloader_train
thread_num
:
1
```
分布式的训练配置可以改为:
...
...
@@ -101,6 +107,13 @@ dataset:
data_path
:
"
{workspace}/train_data"
sparse_slots
:
"
click
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26"
dense_slots
:
"
dense_var:13"
phase
:
-
name
:
phase1
model
:
"
{workspace}/model.py"
dataset_name
:
dataloader_train
# 分布式训练节点的CPU_NUM环境变量与thread_num相等,多个phase时,取最大的thread_num
thread_num
:
1
```
除此之外,还需关注数据及模型加载的路径,一般而言:
...
...
@@ -120,6 +133,8 @@ cluster_type: mpi # k8s 可选
config
:
# 填写任务运行的paddle官方版本号 >= 1.7.2, 默认1.7.2
paddle_version
:
"
1.7.2"
# 是否使用PaddleCloud运行环境下的Python3,默认使用python2
use_python3
:
1
# hdfs/afs的配置信息填写
fs_name
:
"
afs://xxx.com"
...
...
@@ -140,11 +155,13 @@ config:
# paddle参数服务器分布式底层超参,无特殊需求不理不改
communicator
:
# 使用SGD优化器时,建议设置为1
FLAGS_communicator_is_sgd_optimizer
:
0
# 以下三个变量默认都等于训练时的线程数:CPU_NUM
FLAGS_communicator_send_queue_size
:
5
FLAGS_communicator_thread_pool_size
:
32
FLAGS_communicator_max_merge_var_num
:
5
FLAGS_communicator_max_send_grad_num_before_recv
:
5
FLAGS_communicator_thread_pool_size
:
32
FLAGS_communicator_fake_rpc
:
0
FLAGS_rpc_retry_times
:
3
...
...
@@ -232,7 +249,7 @@ phase:
再新增
`backend.yaml`
```
yaml
backend
:
"
PaddleCloud"
cluster_type
:
mpi
cluster_type
:
mpi
# k8s可选
config
:
paddle_version
:
"
1.7.2"
...
...
@@ -317,7 +334,7 @@ phase:
```
yaml
backend
:
"
PaddleCloud"
cluster_type
:
k8s
#
k8s
可选
cluster_type
:
k8s
#
mpi
可选
config
:
# 填写任务运行的paddle官方版本号 >= 1.7.2, 默认1.7.2
...
...
@@ -399,7 +416,7 @@ phase:
再新增
`backend.yaml`
```
yaml
backend
:
"
PaddleCloud"
cluster_type
:
k8s
#
k8s
可选
cluster_type
:
k8s
#
mpi
可选
config
:
# 填写任务运行的paddle官方版本号 >= 1.7.2, 默认1.7.2
...
...
doc/yaml.md
浏览文件 @
2abd8d8a
# PaddleRec yaml配置说明
# PaddleRec
config.
yaml配置说明
## 全局变量
...
...
@@ -70,3 +70,20 @@
| optimizer.learning_rate | float | > 0 | 否 | 指定学习率 |
| reg | float | > 0 | 否 | L2正则化参数,只在SGD下生效 |
| others | / | / | / | 由各个模型组网独立指定 |
# PaddleRec backend.yaml配置说明
## 全局变量
| 名称 | 类型 | 取值 | 是否必须 | 作用描述 |
| :-------: | :-------------------: | :---------------------------------------------------: | :------: | :------------------------------------------------: |
| backend | string | paddlecloud/k8s | 是 | 使用PaddleCloud平台提交,还是在公有云K8S集群提交 |
| cluster_type | string | mpi/k8s | 是 | 指定运行的计算集群: mpi 还是 k8s |
## config
| 名称 | 类型 | 取值 | 是否必须 | 作用描述 |
| :---------------------------: | :----------: | :-------------------------------------------: | :------: | :------------------------------------------------------------------: |
| paddle_version | string | paddle官方版本号,如1.7.2/1.8.0/1.8.3等 | 否 | 指定运行训练使用的Paddle版本,默认1.7.2 |
| use_python3 | int | 0(默认)/1 | 否 | 指定是否使用python3进行训练 |
| fs_name | string | "afs://xxx.com" | 是 | hadoop集群名称所需配置 |
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录