class_docstr: Abstract base class for all implemented agents.
  
  Each agent interacts with the environment (as defined by the `Env` class) by first observing the
  state of the environment. Based on this observation the agent changes the environment by performing
  an action.
  
  Do not use this abstract base class directly but instead use one of the concrete agents implemented.
  Each agent realizes a reinforcement learning algorithm. Since all agents conform to the same
  interface, you can use them interchangeably.
  
  To implement your own agent, you have to implement the following methods:
  
  - `forward`
  - `backward`
  - `compile`
  - `load_weights`
  - `save_weights`
  - `layers`
  
  # Arguments
      processor (`Processor` instance): See [Processor](#processor) for details.
class_docstr_tok: ["Abstract","base","class","for","all","implemented","agents",".","Each","agent","interacts","with","the","environment","(","as","defined","by","the","`","Env","`","class",")","by","first","observing","the","state","of","the","environment",".","Based","on","this","observation","the","agent","changes","the","environment","by","performing","an","action",".","Do","not","use","this","abstract","base","class","directly","but","instead","use","one","of","the","concrete","agents","implemented",".","Each","agent","realizes","a","reinforcement","learning","algorithm",".","Since","all","agents","conform","to","the","same","interface",",","you","can","use","them","interchangeably",".","To","implement","your","own","agent",",","you","have","to","implement","the","following","methods",":","-","`","forward","`","-","`","backward","`","-","`","compile","`","-","`","load_weights","`","-","`","save_weights","`","-","`","layers","`","#","Arguments","processor","(","`","Processor","`","instance",")",":","See","[","Processor","]","(","#","processor",")","for","details","."]
docstr: The human-readable names of the agent's metrics. Must return as many names as there
  are metrics (see also `compile`).
  
  # Returns
      A list of metric's names (string)
docstr_tok: ["The","human-readable","names","of","the","agent","'s","metrics",".","Must","return","as","many","names","as","there","are","metrics","(","see","also","`","compile","`",")",".","#","Returns","A","list","of","metric","'s","names","(","string",")"]
code: def metrics_names(self):
      """The human-readable names of the agent's metrics. Must return as many names as there
      are metrics (see also `compile`).
  
      # Returns
          A list of metric's names (string)
      """
      return []
  
imports: import warnings
  from copy import deepcopy
  import numpy
  from keras.callbacks import History
  from rl.callbacks import CallbackList, TestLogger, TrainEpisodeLogger, TrainIntervalLogger, Visualizer, WandbLogger
label_desc: Use image node_id 12 for calling the Agent obj's underlying member method code with example usage: obj.metrics_names() and returns: list