class_docstr: Interface for calculating KPI metrics.
  If available, is called by statistics wrapper at the end of each episode.
class_docstr_tok: ["Interface","for","calculating","KPI","metrics",".","If","available",",","is","called","by","statistics","wrapper","at","the","end","of","each","episode","."]
docstr: Compute KPIs for the current episode.
  
  This is expected to be called once at the end of the episode, if statistics logging is enabled.
  
  :param episode_event_log: Log of events recorded during the past episode.
  :param last_maze_state: State of the environment at the end of the episode
  :return: Values of KPI metrics in the format {kpi_name: kpi_value}
docstr_tok: ["Compute","KPIs","for","the","current","episode",".","This","is","expected","to","be","called","once","at","the","end","of","the","episode",",","if","statistics","logging","is","enabled",".",":","param","episode_event_log",":","Log","of","events","recorded","during","the","past","episode",".",":","param","last_maze_state",":","State","of","the","environment","at","the","end","of","the","episode",":","return",":","Values","of","KPI","metrics","in","the","format","{","kpi_name",":","kpi_value","}"]
code: def calculate_kpis(
      self,
      episode_event_log: EpisodeEventLog,
      last_maze_state: MazeStateType,
  ) -> Dict[str, float]:
      """Compute KPIs for the current episode.
  
      This is expected to be called once at the end of the episode, if statistics logging is enabled.
  
      :param episode_event_log: Log of events recorded during the past episode.
      :param last_maze_state: State of the environment at the end of the episode
      :return: Values of KPI metrics in the format {kpi_name: kpi_value}
      """
  
imports: from abc import ABC, abstractmethod
  from typing import Dict
  from maze.core.env.maze_state import MazeStateType
  from maze.core.log_events.episode_event_log import EpisodeEventLog
label_desc: Use image node_id 1 for calling the KpiCalculator obj's underlying member method code with example usage: obj.calculate_kpis(episode_event_log, last_maze_state) without return types