init commit
This commit is contained in:
73
ultralytics/utils/callbacks/platform.py
Normal file
73
ultralytics/utils/callbacks/platform.py
Normal file
@@ -0,0 +1,73 @@
|
||||
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
||||
|
||||
from ultralytics.utils import RANK, SETTINGS
|
||||
|
||||
|
||||
def on_pretrain_routine_start(trainer):
|
||||
"""Initialize and start console logging immediately at the very beginning."""
|
||||
if RANK in {-1, 0}:
|
||||
from ultralytics.utils.logger import DEFAULT_LOG_PATH, ConsoleLogger, SystemLogger
|
||||
|
||||
trainer.system_logger = SystemLogger()
|
||||
trainer.console_logger = ConsoleLogger(DEFAULT_LOG_PATH)
|
||||
trainer.console_logger.start_capture()
|
||||
|
||||
|
||||
def on_pretrain_routine_end(trainer):
|
||||
"""Handle pre-training routine completion event."""
|
||||
pass
|
||||
|
||||
|
||||
def on_fit_epoch_end(trainer):
|
||||
"""Handle end of training epoch event and collect system metrics."""
|
||||
if RANK in {-1, 0} and hasattr(trainer, "system_logger"):
|
||||
system_metrics = trainer.system_logger.get_metrics()
|
||||
print(system_metrics) # for debug
|
||||
|
||||
|
||||
def on_model_save(trainer):
|
||||
"""Handle model checkpoint save event."""
|
||||
pass
|
||||
|
||||
|
||||
def on_train_end(trainer):
|
||||
"""Stop console capture and finalize logs."""
|
||||
if logger := getattr(trainer, "console_logger", None):
|
||||
logger.stop_capture()
|
||||
|
||||
|
||||
def on_train_start(trainer):
|
||||
"""Handle training start event."""
|
||||
pass
|
||||
|
||||
|
||||
def on_val_start(validator):
|
||||
"""Handle validation start event."""
|
||||
pass
|
||||
|
||||
|
||||
def on_predict_start(predictor):
|
||||
"""Handle prediction start event."""
|
||||
pass
|
||||
|
||||
|
||||
def on_export_start(exporter):
|
||||
"""Handle model export start event."""
|
||||
pass
|
||||
|
||||
|
||||
callbacks = (
|
||||
{
|
||||
"on_pretrain_routine_start": on_pretrain_routine_start,
|
||||
"on_pretrain_routine_end": on_pretrain_routine_end,
|
||||
"on_fit_epoch_end": on_fit_epoch_end,
|
||||
"on_model_save": on_model_save,
|
||||
"on_train_end": on_train_end,
|
||||
"on_train_start": on_train_start,
|
||||
"on_val_start": on_val_start,
|
||||
"on_predict_start": on_predict_start,
|
||||
"on_export_start": on_export_start,
|
||||
}
|
||||
if SETTINGS.get("platform", False) is True # disabled for debugging
|
||||
else {}
|
||||
)
|
||||
Reference in New Issue
Block a user