提交 d31e14f5 编写于 作者: L Li Hongzhang

fix having too many processes and no attribute of '_closed'

1. When initing SummaryRecord, if check failed, self._close is not set,
   which leads to 'SummaryRecord' object has no attribute '_closed'
   AttributeError later on.

2. There may be too many processes for handling summary adapting.
   See issue #I1K6K7
上级 f10e2974
......@@ -47,7 +47,7 @@ class EventWriter(Process):
def run(self):
with Pool() as pool:
with Pool(min(cpu_count(), 32)) as pool:
deq = deque()
while True:
while deq and deq[0].ready():
......
......@@ -89,6 +89,8 @@ class SummaryRecord:
file_suffix="_MS",
network=None):
self._event_writer, self._closed = None, False
_check_str_by_regular(file_prefix)
_check_str_by_regular(file_suffix)
self.log_path = _make_directory(log_dir)
......@@ -113,7 +115,6 @@ class SummaryRecord:
self.suffix = file_suffix
self.network = network
self.has_graph = False
self._closed = False
# create the summary writer file
self.event_file_name = get_event_file_name(self.prefix, self.suffix)
......@@ -122,8 +123,6 @@ class SummaryRecord:
except Exception as ex:
raise RuntimeError(ex)
self._event_writer = None
def _init_event_writer(self):
"""Init event writer and write metadata."""
event_writer = EventWriter(self.full_file_name, self.flush_time)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册