Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
seminar-breakout
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Shashank Suhas
seminar-breakout
Commits
ff9e5555
Commit
ff9e5555
authored
Mar 30, 2017
by
Yuxin Wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add speedometer and logging to send_dataflow_zmq
parent
675436ed
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
11 deletions
+17
-11
tensorpack/dataflow/remote.py
tensorpack/dataflow/remote.py
+17
-11
No files found.
tensorpack/dataflow/remote.py
View file @
ff9e5555
...
@@ -3,7 +3,11 @@
...
@@ -3,7 +3,11 @@
# File: remote.py
# File: remote.py
# Author: Yuxin Wu <ppwwyyxxc@gmail.com>
# Author: Yuxin Wu <ppwwyyxxc@gmail.com>
from
..utils
import
logger
import
time
from
collections
import
deque
from
.base
import
DataFlow
from
..utils
import
logger
,
get_tqdm
from
..utils.serialize
import
dumps
,
loads
try
:
try
:
import
zmq
import
zmq
except
ImportError
:
except
ImportError
:
...
@@ -12,12 +16,8 @@ except ImportError:
...
@@ -12,12 +16,8 @@ except ImportError:
else
:
else
:
__all__
=
[
'send_dataflow_zmq'
,
'RemoteDataZMQ'
]
__all__
=
[
'send_dataflow_zmq'
,
'RemoteDataZMQ'
]
from
.base
import
DataFlow
from
..utils
import
logger
from
..utils.serialize
import
dumps
,
loads
def
send_dataflow_zmq
(
df
,
addr
,
hwm
=
50
):
def
send_dataflow_zmq
(
df
,
addr
,
hwm
=
50
,
print_interval
=
100
):
"""
"""
Run DataFlow and send data to a ZMQ socket addr.
Run DataFlow and send data to a ZMQ socket addr.
It will dump and send each datapoint to this addr with a PUSH socket.
It will dump and send each datapoint to this addr with a PUSH socket.
...
@@ -33,11 +33,17 @@ def send_dataflow_zmq(df, addr, hwm=50):
...
@@ -33,11 +33,17 @@ def send_dataflow_zmq(df, addr, hwm=50):
socket
.
connect
(
addr
)
socket
.
connect
(
addr
)
try
:
try
:
df
.
reset_state
()
df
.
reset_state
()
logger
.
info
(
"Serving data to {}"
.
format
(
addr
))
logger
.
info
(
"Serving data to {} ..."
.
format
(
addr
))
# TODO print statistics such as speed
q
=
deque
(
maxlen
=
print_interval
)
with
get_tqdm
(
total
=
0
)
as
pbar
:
while
True
:
while
True
:
for
dp
in
df
.
get_data
():
for
dp
in
df
.
get_data
():
start
=
time
.
time
()
socket
.
send
(
dumps
(
dp
),
copy
=
False
)
socket
.
send
(
dumps
(
dp
),
copy
=
False
)
q
.
append
(
time
.
time
()
-
start
)
pbar
.
update
(
1
)
if
pbar
.
n
%
print_interval
==
0
:
pbar
.
write
(
"Avg send time: {}"
.
format
(
sum
(
q
)
/
len
(
q
)))
finally
:
finally
:
socket
.
setsockopt
(
zmq
.
LINGER
,
0
)
socket
.
setsockopt
(
zmq
.
LINGER
,
0
)
socket
.
close
()
socket
.
close
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment