Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleFL
提交
c338b6c2
P
PaddleFL
项目概览
PaddlePaddle
/
PaddleFL
通知
35
Star
5
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
4
Wiki
3
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleFL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
3
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c338b6c2
编写于
1月 07, 2020
作者:
Q
qjing666
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix zmq bug in python3
上级
c3bee06d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
16 deletion
+16
-16
paddle_fl/core/scheduler/agent_master.py
paddle_fl/core/scheduler/agent_master.py
+14
-14
paddle_fl/version.py
paddle_fl/version.py
+2
-2
未找到文件。
paddle_fl/core/scheduler/agent_master.py
浏览文件 @
c338b6c2
...
@@ -4,7 +4,7 @@ import random
...
@@ -4,7 +4,7 @@ import random
def
recv_and_parse_kv
(
socket
):
def
recv_and_parse_kv
(
socket
):
message
=
socket
.
recv
()
message
=
socket
.
recv
()
group
=
message
.
split
(
"
\t
"
)
group
=
message
.
decode
().
split
(
"
\t
"
)
if
group
[
0
]
==
"alive"
:
if
group
[
0
]
==
"alive"
:
return
group
[
0
],
"0"
return
group
[
0
],
"0"
else
:
else
:
...
@@ -23,9 +23,9 @@ class FLServerAgent(object):
...
@@ -23,9 +23,9 @@ class FLServerAgent(object):
def
connect_scheduler
(
self
):
def
connect_scheduler
(
self
):
while
True
:
while
True
:
self
.
socket
.
send
(
"SERVER_EP
\t
{}"
.
format
(
self
.
current_ep
))
self
.
socket
.
send
_string
(
"SERVER_EP
\t
{}"
.
format
(
self
.
current_ep
))
message
=
self
.
socket
.
recv
()
message
=
self
.
socket
.
recv
()
group
=
message
.
split
(
"
\t
"
)
group
=
message
.
decode
().
split
(
"
\t
"
)
if
group
[
0
]
==
'INIT'
:
if
group
[
0
]
==
'INIT'
:
break
break
...
@@ -39,14 +39,14 @@ class FLWorkerAgent(object):
...
@@ -39,14 +39,14 @@ class FLWorkerAgent(object):
def
connect_scheduler
(
self
):
def
connect_scheduler
(
self
):
while
True
:
while
True
:
self
.
socket
.
send
(
"WORKER_EP
\t
{}"
.
format
(
self
.
current_ep
))
self
.
socket
.
send
_string
(
"WORKER_EP
\t
{}"
.
format
(
self
.
current_ep
))
message
=
self
.
socket
.
recv
()
message
=
self
.
socket
.
recv
()
group
=
message
.
split
(
"
\t
"
)
group
=
message
.
decode
().
split
(
"
\t
"
)
if
group
[
0
]
==
'INIT'
:
if
group
[
0
]
==
'INIT'
:
break
break
def
finish_training
(
self
):
def
finish_training
(
self
):
self
.
socket
.
send
(
"FINISH
\t
{}"
.
format
(
self
.
current_ep
))
self
.
socket
.
send
_string
(
"FINISH
\t
{}"
.
format
(
self
.
current_ep
))
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
if
key
==
"WAIT"
:
if
key
==
"WAIT"
:
time
.
sleep
(
3
)
time
.
sleep
(
3
)
...
@@ -54,7 +54,7 @@ class FLWorkerAgent(object):
...
@@ -54,7 +54,7 @@ class FLWorkerAgent(object):
return
False
return
False
def
can_join_training
(
self
):
def
can_join_training
(
self
):
self
.
socket
.
send
(
"JOIN
\t
{}"
.
format
(
self
.
current_ep
))
self
.
socket
.
send
_string
(
"JOIN
\t
{}"
.
format
(
self
.
current_ep
))
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
if
key
==
"ACCEPT"
:
if
key
==
"ACCEPT"
:
...
@@ -91,13 +91,13 @@ class FLScheduler(object):
...
@@ -91,13 +91,13 @@ class FLScheduler(object):
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
if
key
==
WORKER_EP
:
if
key
==
WORKER_EP
:
self
.
fl_workers
.
append
(
value
)
self
.
fl_workers
.
append
(
value
)
self
.
socket
.
send
(
"INIT
\t
{}"
.
format
(
value
))
self
.
socket
.
send
_string
(
"INIT
\t
{}"
.
format
(
value
))
elif
key
==
SERVER_EP
:
elif
key
==
SERVER_EP
:
self
.
fl_servers
.
append
(
value
)
self
.
fl_servers
.
append
(
value
)
self
.
socket
.
send
(
"INIT
\t
{}"
.
format
(
value
))
self
.
socket
.
send
_string
(
"INIT
\t
{}"
.
format
(
value
))
else
:
else
:
time
.
sleep
(
3
)
time
.
sleep
(
3
)
self
.
socket
.
send
(
"REJECT
\t
0"
)
self
.
socket
.
send
_string
(
"REJECT
\t
0"
)
if
len
(
self
.
fl_workers
)
==
self
.
worker_num
and
\
if
len
(
self
.
fl_workers
)
==
self
.
worker_num
and
\
len
(
self
.
fl_servers
)
==
self
.
server_num
:
len
(
self
.
fl_servers
)
==
self
.
server_num
:
ready
=
True
ready
=
True
...
@@ -122,12 +122,12 @@ class FLScheduler(object):
...
@@ -122,12 +122,12 @@ class FLScheduler(object):
if
worker_dict
[
value
]
==
0
:
if
worker_dict
[
value
]
==
0
:
ready_workers
.
append
(
value
)
ready_workers
.
append
(
value
)
worker_dict
[
value
]
=
1
worker_dict
[
value
]
=
1
self
.
socket
.
send
(
"ACCEPT
\t
0"
)
self
.
socket
.
send
_string
(
"ACCEPT
\t
0"
)
continue
continue
else
:
else
:
if
value
not
in
ready_workers
:
if
value
not
in
ready_workers
:
ready_workers
.
append
(
value
)
ready_workers
.
append
(
value
)
self
.
socket
.
send
(
"REJECT
\t
0"
)
self
.
socket
.
send
_string
(
"REJECT
\t
0"
)
if
len
(
ready_workers
)
==
len
(
self
.
fl_workers
):
if
len
(
ready_workers
)
==
len
(
self
.
fl_workers
):
all_ready_to_train
=
True
all_ready_to_train
=
True
...
@@ -137,9 +137,9 @@ class FLScheduler(object):
...
@@ -137,9 +137,9 @@ class FLScheduler(object):
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
key
,
value
=
recv_and_parse_kv
(
self
.
socket
)
if
key
==
"FINISH"
:
if
key
==
"FINISH"
:
finish_training_dict
[
value
]
=
1
finish_training_dict
[
value
]
=
1
self
.
socket
.
send
(
"WAIT
\t
0"
)
self
.
socket
.
send
_string
(
"WAIT
\t
0"
)
else
:
else
:
self
.
socket
.
send
(
"REJECT
\t
0"
)
self
.
socket
.
send
_string
(
"REJECT
\t
0"
)
if
len
(
finish_training_dict
)
==
len
(
worker_dict
):
if
len
(
finish_training_dict
)
==
len
(
worker_dict
):
all_finish_training
=
True
all_finish_training
=
True
time
.
sleep
(
5
)
time
.
sleep
(
5
)
...
...
paddle_fl/version.py
浏览文件 @
c338b6c2
...
@@ -12,5 +12,5 @@
...
@@ -12,5 +12,5 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
""" PaddleFL version string """
""" PaddleFL version string """
fl_version
=
"0.1.
3
"
fl_version
=
"0.1.
4
"
module_proto_version
=
"0.1.
3
"
module_proto_version
=
"0.1.
4
"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录