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: Takes the an observation from the environment and returns the action to be taken next.
  If the policy is implemented by a neural network, this corresponds to a forward (inference) pass.
  
  # Argument
      observation (object): The current observation from the environment.
  
  # Returns
      The next action to be executed in the environment.
docstr_tok: ["Takes","the","an","observation","from","the","environment","and","returns","the","action","to","be","taken","next",".","If","the","policy","is","implemented","by","a","neural","network",",","this","corresponds","to","a","forward","(","inference",")","pass",".","#","Argument","observation","(","object",")",":","The","current","observation","from","the","environment",".","#","Returns","The","next","action","to","be","executed","in","the","environment","."]
code: def forward(self, observation):
      """Takes the an observation from the environment and returns the action to be taken next.
      If the policy is implemented by a neural network, this corresponds to a forward (inference) pass.
  
      # Argument
          observation (object): The current observation from the environment.
  
      # Returns
          The next action to be executed in the environment.
      """
      raise NotImplementedError()
  
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 6 for calling the Agent obj's underlying member method code with example usage: obj.forward(observation) without return types