class_docstr: Helper container which encapsulates TOD metrics and does some basic prepocessing to
  handlers to calculate said metrics.
  
  This class should generally not need to be changed; add new metrics handlers to
  `WORLD_METRIC_HANDLERS` (or otherwise override `self.handlers` of this class) to
  change metrics actively being used.
class_docstr_tok: ["Helper","container","which","encapsulates","TOD","metrics","and","does","some","basic","prepocessing","to","handlers","to","calculate","said","metrics",".","This","class","should","generally","not","need","to","be","changed",";","add","new","metrics","handlers","to","`","WORLD_METRIC_HANDLERS","`","(","or","otherwise","override","`","self.handlers","`","of","this","class",")","to","change","metrics","actively","being","used","."]
code: def episode_reset(self):
      self.last_episode_metrics = None
      if self.convo_started:
          self.last_episode_metrics = Metrics()
          for handler in self.handlers:
              metrics = handler.get_episode_metrics()
              handler.episode_reset()
              if metrics is not None:
                  for name, metric in metrics.items():
                      if metric is not None:
                          self.add(name, metric)
                          self.last_episode_metrics.add(name, metric)
          self.convo_started = False
  
file_path: ParlAI/parlai/core/tod/world_metrics.py
imports: from parlai.core.message import Message
  from parlai.core.metrics import Metrics
  from parlai.core.tod.tod_core import TodAgentType, TOD_AGENT_TYPE_TO_PREFIX, SerializationHelpers, STANDARD_GOAL
  from typing import Any, Dict
  import parlai.core.tod.world_metrics_handlers
label_desc: Use image node_id 5 for calling the TodMetrics obj's underlying member method code with example usage: obj.episode_reset() without return types