Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
b82e6520
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
b82e6520
编写于
10月 11, 2019
作者:
Z
zhang wenhui
提交者:
GitHub
10月 11, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix pslib datanorm double bug (#20297)
* fix fc sort . test=develop
上级
53d8799b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
29 addition
and
27 deletion
+29
-27
python/paddle/fluid/incubate/fleet/parameter_server/pslib/node.py
...addle/fluid/incubate/fleet/parameter_server/pslib/node.py
+29
-27
未找到文件。
python/paddle/fluid/incubate/fleet/parameter_server/pslib/node.py
浏览文件 @
b82e6520
...
...
@@ -254,13 +254,13 @@ class DownpourServer(Server):
table
=
self
.
_server
.
downpour_server_param
.
downpour_table_param
.
add
()
table
.
table_id
=
table_id
table
.
table_class
=
strategy
.
get
(
'datanorm_table_class'
,
"DownpourDenseDoubleTable"
)
'DownpourDenseTable'
)
table
.
type
=
pslib
.
PS_DENSE_TABLE
table
.
compress_in_save
=
strategy
.
get
(
'datanorm_compress_in_save'
,
True
)
table
.
accessor
.
accessor_class
=
strategy
.
get
(
'datanorm_accessor_class'
,
"DownpourDenseValueDoubleAccessor"
)
'datanorm_accessor_class'
,
'DownpourDenseValueAccessor'
)
table
.
accessor
.
dense_sgd_param
.
name
=
strategy
.
get
(
'datanorm_operation'
,
"summarydouble"
)
'summary'
)
table
.
accessor
.
dense_sgd_param
.
summary
.
summary_decay_rate
=
strategy
.
get
(
'datanorm_decay_rate'
,
0.999999
)
table
.
accessor
.
fea_dim
=
fea_dim
...
...
@@ -377,30 +377,32 @@ class DownpourWorker(Worker):
table
=
self
.
_worker
.
dense_table
.
add
()
table
.
table_id
=
table_id
def
cmp_fc
(
x
,
y
):
if
x
.
startswith
(
"fc_"
)
and
y
.
startswith
(
"fc_"
):
index_x
=
x
.
find
(
'.'
)
index_y
=
y
.
find
(
'.'
)
if
index_x
>
0
and
index_y
>
0
:
num_x
=
x
[
3
:
index_x
]
num_y
=
y
[
3
:
index_y
]
if
num_x
.
isdigit
()
and
num_y
.
isdigit
():
if
int
(
num_x
)
<
int
(
num_y
):
return
-
1
if
int
(
num_x
)
>
int
(
num_y
):
return
1
if
x
[
index_x
+
1
]
==
'w'
and
y
[
index_y
+
1
]
==
'b'
:
return
-
1
if
x
[
index_x
+
1
]
==
'b'
and
y
[
index_y
+
1
]
==
'w'
:
return
1
if
x
<
y
:
return
-
1
else
:
return
1
table
.
dense_variable_name
.
extend
(
sorted
(
dense_param_name
,
cmp_fc
))
table
.
dense_gradient_variable_name
.
extend
(
sorted
(
dense_grad_name
,
cmp_fc
))
#def cmp_fc(x, y):
# if x.startswith("fc_") and y.startswith("fc_"):
# index_x = x.find('.')
# index_y = y.find('.')
# if index_x > 0 and index_y > 0:
# num_x = x[3:index_x]
# num_y = y[3:index_y]
# if num_x.isdigit() and num_y.isdigit():
# if int(num_x) < int(num_y):
# return -1
# if int(num_x) > int(num_y):
# return 1
# if x[index_x + 1] == 'w' and y[index_y + 1] == 'b':
# return -1
# if x[index_x + 1] == 'b' and y[index_y + 1] == 'w':
# return 1
# if x < y:
# return -1
# else:
# return 1
#table.dense_variable_name.extend(sorted(dense_param_name, cmp_fc))
#table.dense_gradient_variable_name.extend(
# sorted(dense_grad_name, cmp_fc))
table
.
dense_variable_name
.
extend
(
dense_param_name
)
table
.
dense_gradient_variable_name
.
extend
(
dense_grad_name
)
def
get_desc
(
self
):
"""
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录