class_docstr: Main logger - the aim of this class is to store every log from training
  Log is a float value with corresponding training engine step
class_docstr_tok: ["Main","logger","-","the","aim","of","this","class","is","to","store","every","log","from","training","Log","is","a","float","value","with","corresponding","training","engine","step"]
docstr: Add empty list for a new metric and extend metric name transformations
  Args:
      metric_name: name of metric that will be added to log_history as empty list
docstr_tok: ["Add","empty","list","for","a","new","metric","and","extend","metric","name","transformations","Args",":","metric_name",":","name","of","metric","that","will","be","added","to","log_history","as","empty","list"]
code: def _add_new_metric(self, metric_name: str):
      """Add empty list for a new metric and extend metric name transformations
      Args:
          metric_name: name of metric that will be added to log_history as empty list
      """
      self.log_history[metric_name] = []
      if not self.metric_to_name.get(metric_name):
          self._auto_generate_metrics_to_name(metric_name)
  
file_path: livelossplot/livelossplot/main_logger.py
imports: import re
  from collections import OrderedDict, defaultdict
  from typing import NamedTuple, Dict, Iterable, List, Pattern, Tuple, Optional, Union
label_desc: Use image node_id 3 for calling the MainLogger obj's underlying member method code with example usage: obj._add_new_metric(metric_name) without return types