提交 774f40dd 编写于 作者: W wanglong03

Merge branch 'develop' of https://github.com/PaddlePaddle/models into add-examples-for-caffe2fluid

...@@ -218,8 +218,6 @@ class AsyncDataReader(object): ...@@ -218,8 +218,6 @@ class AsyncDataReader(object):
self._sample_proc_num = self._proc_num - 2 self._sample_proc_num = self._proc_num - 2
self._verbose = verbose self._verbose = verbose
self._force_exit = ForceExitWrapper(self._manager.Value('b', False)) self._force_exit = ForceExitWrapper(self._manager.Value('b', False))
self._pool_manager = SharedMemoryPoolManager(self._batch_buffer_size *
3, self._manager)
def generate_bucket_list(self, is_shuffle): def generate_bucket_list(self, is_shuffle):
if self._block_info_list is None: if self._block_info_list is None:
...@@ -424,6 +422,9 @@ class AsyncDataReader(object): ...@@ -424,6 +422,9 @@ class AsyncDataReader(object):
sample_queue = self._start_async_processing() sample_queue = self._start_async_processing()
batch_queue = self._manager.Queue(self._batch_buffer_size) batch_queue = self._manager.Queue(self._batch_buffer_size)
self._pool_manager = SharedMemoryPoolManager(self._batch_buffer_size *
3, self._manager)
assembling_proc = DaemonProcessGroup( assembling_proc = DaemonProcessGroup(
proc_num=1, proc_num=1,
target=batch_assembling_task, target=batch_assembling_task,
...@@ -439,3 +440,6 @@ class AsyncDataReader(object): ...@@ -439,3 +440,6 @@ class AsyncDataReader(object):
if isinstance(batch_data, EpochEndSignal): if isinstance(batch_data, EpochEndSignal):
break break
yield batch_data yield batch_data
# clean the shared memory
del self._pool_manager
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
from __future__ import print_function from __future__ import print_function
import sys import sys, time
from six import reraise from six import reraise
from tblib import Traceback from tblib import Traceback
from multiprocessing import Manager, Process from multiprocessing import Manager, Process
...@@ -161,9 +161,10 @@ class SharedMemoryPoolManager(object): ...@@ -161,9 +161,10 @@ class SharedMemoryPoolManager(object):
def __init__(self, pool_size, manager, name_prefix='/deep_asr'): def __init__(self, pool_size, manager, name_prefix='/deep_asr'):
self._names = [] self._names = []
self._dict = manager.dict() self._dict = manager.dict()
self._time_prefix = time.strftime('%Y%m%d%H%M%S')
for i in xrange(pool_size): for i in xrange(pool_size):
name = name_prefix + '_' + str(i) name = name_prefix + '_' + self._time_prefix + '_' + str(i)
self._dict[name] = SharedNDArray(name) self._dict[name] = SharedNDArray(name)
self._names.append(name) self._names.append(name)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册