forked from OSSInnovation/mindspore
!2785 Register close for SummaryRecord at exit
Merge pull request !2785 from LiHongzhang/atexit_close
This commit is contained in:
commit
16d431ee99
|
@ -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."""
|
||||
|
|
Loading…
Reference in New Issue