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
e750306b
Commit
e750306b
authored
Jul 11, 2016
by
Yuxin Wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
serve data
parent
8cdc6efd
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
84 additions
and
2 deletions
+84
-2
scripts/serve_data.py
scripts/serve_data.py
+21
-0
tensorpack/callbacks/common.py
tensorpack/callbacks/common.py
+1
-1
tensorpack/dataflow/dftools.py
tensorpack/dataflow/dftools.py
+0
-1
tensorpack/dataflow/remote.py
tensorpack/dataflow/remote.py
+62
-0
No files found.
scripts/serve_data.py
0 → 100755
View file @
e750306b
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# File: serve_data.py
# Author: Yuxin Wu <ppwwyyxxc@gmail.com>
import
argparse
import
imp
#import cv2
#import os
from
tensorpack.dataflow
import
serve_data
parser
=
argparse
.
ArgumentParser
()
parser
.
add_argument
(
dest
=
'config'
)
parser
.
add_argument
(
'-p'
,
'--port'
,
help
=
'port'
,
type
=
int
,
required
=
True
)
args
=
parser
.
parse_args
()
get_config_func
=
imp
.
load_source
(
'config_script'
,
args
.
config
)
.
get_config
config
=
get_config_func
()
ds
=
config
.
dataset
serve_data
(
ds
,
"tcp://*:{}"
.
format
(
args
.
port
))
tensorpack/callbacks/common.py
View file @
e750306b
...
...
@@ -71,7 +71,7 @@ class ModelSaver(Callback):
except
OSError
:
pass
os
.
symlink
(
basename
,
linkname
)
except
OSError
,
IOError
:
# disk error sometimes.. just ignore it
except
(
OSError
,
IOError
)
:
# disk error sometimes.. just ignore it
logger
.
exception
(
"Exception in ModelSaver.trigger_epoch!"
)
class
MinSaver
(
Callback
):
...
...
tensorpack/dataflow/dftools.py
View file @
e750306b
...
...
@@ -60,4 +60,3 @@ def dataflow_to_process_queue(ds, size, nr_consumer):
proc
=
EnqueProc
(
ds
,
q
,
nr_consumer
)
return
q
,
proc
tensorpack/dataflow/remote.py
0 → 100644
View file @
e750306b
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# File: remote.py
# Author: Yuxin Wu <ppwwyyxxc@gmail.com>
try
:
import
zmq
except
ImportError
:
logger
.
warn
(
"Error in 'import zmq'. remote feature won't be available"
)
__all__
=
[]
else
:
__all__
=
[
'serve_data'
,
'RemoteData'
]
from
.base
import
DataFlow
from
.common
import
RepeatedData
from
..utils
import
logger
from
..utils.serialize
import
dumps
,
loads
def
serve_data
(
ds
,
addr
):
ctx
=
zmq
.
Context
()
socket
=
ctx
.
socket
(
zmq
.
PUSH
)
socket
.
set_hwm
(
10
)
socket
.
bind
(
addr
)
ds
=
RepeatedData
(
ds
,
-
1
)
try
:
logger
.
info
(
"Serving data at {}"
.
format
(
addr
))
while
True
:
for
dp
in
ds
.
get_data
():
socket
.
send
(
dumps
(
dp
),
copy
=
False
)
finally
:
socket
.
setsockopt
(
zmq
.
LINGER
,
0
)
socket
.
close
()
if
not
ctx
.
closed
:
ctx
.
destroy
(
0
)
class
RemoteData
(
DataFlow
):
def
__init__
(
self
,
addr
):
self
.
ctx
=
zmq
.
Context
()
self
.
socket
=
self
.
ctx
.
socket
(
zmq
.
PULL
)
self
.
socket
.
set_hwm
(
10
)
self
.
socket
.
connect
(
addr
)
def
get_data
(
self
):
while
True
:
dp
=
loads
(
self
.
socket
.
recv
(
copy
=
False
))
yield
dp
if
__name__
==
'__main__'
:
import
sys
from
tqdm
import
tqdm
from
.raw
import
FakeData
addr
=
"tcp://127.0.0.1:8877"
if
sys
.
argv
[
1
]
==
'serve'
:
ds
=
FakeData
([(
128
,
244
,
244
,
3
)],
1000
)
serve_data
(
ds
,
addr
)
else
:
ds
=
RemoteData
(
addr
)
logger
.
info
(
"Each DP is 73.5MB"
)
with
tqdm
(
total
=
10000
)
as
pbar
:
for
k
in
ds
.
get_data
():
pbar
.
update
()
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