from typing import Optional _writer = None _tag = "BLO" _step = 0 def set_writer(writer, tag: Optional[str] = None): global _writer, _tag _writer = writer if tag is not None: _tag = tag def log_scalar(name: str, value, step: Optional[int] = None): global _writer, _step, _tag if _writer is None: return if hasattr(value, "item"): value = value.item() if step is None: _step += 1 step = _step _writer.add_scalar(f"{_tag}/{name}", float(value), step) def log_text(name: str, text: str, step: Optional[int] = None): global _writer, _step, _tag if _writer is None: return if step is None: _step += 1 step = _step _writer.add_text(f"{_tag}/{name}", str(text), step)