|
|
@@ -1,6 +1,7 @@
|
|
|
import os
|
|
|
import logging
|
|
|
import platform
|
|
|
+import warnings
|
|
|
|
|
|
|
|
|
from cvargparse import GPUParser, Arg, ArgFactory
|
|
|
@@ -24,7 +25,7 @@ class FineTuneParser(GPUParser):
|
|
|
handler0.setFormatter(logging.Formatter("<{hostname:^10s}>: " + fmt, style="{"))
|
|
|
|
|
|
filename = logfile if logfile is not None else f"{platform.node()}.log"
|
|
|
- handler1 = logging.FileHandler(filename=filename, mode="w")
|
|
|
+ self._file_handler = handler1 = logging.FileHandler(filename=filename, mode="w")
|
|
|
handler1.setFormatter(logging.Formatter(fmt, style="{"))
|
|
|
|
|
|
logger = logging.getLogger()
|
|
|
@@ -33,6 +34,13 @@ class FineTuneParser(GPUParser):
|
|
|
logger.setLevel(getattr(logging, self.args.loglevel.upper(), logging.DEBUG))
|
|
|
|
|
|
|
|
|
+ def __del__(self):
|
|
|
+ try:
|
|
|
+ self._file_handler.flush()
|
|
|
+ except Exception as e:
|
|
|
+ warnings.warn("Could not flush logs to file: {}".format(e))
|
|
|
+
|
|
|
+
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
super(FineTuneParser, self).__init__(*args, **kwargs)
|
|
|
|