!2785 Register close for SummaryRecord at exit

Merge pull request !2785 from LiHongzhang/atexit_close
This commit is contained in:
mindspore-ci-bot 2020-07-02 11:01:36 +08:00 committed by Gitee
commit 16d431ee99
1 changed files with 6 additions and 6 deletions

View File

@ -13,6 +13,7 @@
# limitations under the License.
# ============================================================================
"""Record the summary event."""
import atexit
import os
import re
import threading
@ -21,7 +22,7 @@ from mindspore import log as logger
from ..._c_expression import Tensor
from ..._checkparam import _check_str_by_regular
from .._utils import _make_directory, _check_to_numpy, _check_lineage_value
from .._utils import _check_lineage_value, _check_to_numpy, _make_directory
from ._summary_adapter import get_event_file_name, package_graph_event
from ._writer_pool import WriterPool
@ -102,8 +103,8 @@ class SummaryRecord:
file_suffix="_MS",
network=None):
self._closed, self._mode = False, 'train'
self._data_pool = _dictlist()
self._closed, self._event_writer = False, None
self._mode, self._data_pool = 'train', _dictlist()
_check_str_by_regular(file_prefix)
_check_str_by_regular(file_suffix)
@ -141,6 +142,7 @@ class SummaryRecord:
self._event_writer = WriterPool(log_dir,
summary=self.full_file_name,
lineage=get_event_file_name('events', '_lineage'))
atexit.register(self.close)
def __enter__(self):
"""Enter the context manager."""
@ -327,12 +329,10 @@ class SummaryRecord:
if not self._closed and self._event_writer:
# event writer flush and close
logger.info('Please wait it may take quite some time to finish writing and closing.')
atexit.unregister(self.close)
self._event_writer.close()
self._closed = True
def __del__(self) -> None:
self.close()
@staticmethod
def _parse_from(name: str = None):
"""Parse the tag and type from name."""