class_docstr: Write me
      
code: def __init__(
      self,
      nb_actions,
      memory,
      gamma=0.99,
      batch_size=32,
      nb_steps_warmup=1000,
      train_interval=1,
      memory_interval=1,
      target_model_update=10000,
      delta_range=None,
      delta_clip=np.inf,
      custom_model_objects={},
      **kwargs,
  ):
      super(AbstractDQNAgent, self).__init__(**kwargs)
  
      # Soft vs hard target model updates.
      if target_model_update < 0:
          raise ValueError("`target_model_update` must be >= 0.")
      elif target_model_update >= 1:
          # Hard update every `target_model_update` steps.
          target_model_update = int(target_model_update)
      else:
          # Soft update with `(1 - target_model_update) * old + target_model_update * new`.
          target_model_update = float(target_model_update)
  
      if delta_range is not None:
          warnings.warn(
              "`delta_range` is deprecated. Please use `delta_clip` instead, which takes a single scalar. For now we're falling back to `delta_range[1] = {}`".format(
                  delta_range[1]
              )
          )
          delta_clip = delta_range[1]
  
      # Parameters.
      self.nb_actions = nb_actions
      self.gamma = gamma
      self.batch_size = batch_size
      self.nb_steps_warmup = nb_steps_warmup
      self.train_interval = train_interval
      self.memory_interval = memory_interval
      self.target_model_update = target_model_update
      self.delta_clip = delta_clip
      self.custom_model_objects = custom_model_objects
  
      # Related objects.
      self.memory = memory
  
      # State.
      self.compiled = False
  
imports: from __future__ import division
  import warnings
  import keras.backend
  from keras.models import Model
  from keras.layers import Lambda, Input, Layer, Dense
  from rl.core import Agent
  from rl.policy import EpsGreedyQPolicy, GreedyQPolicy
  from rl.util import *
label_desc: Use image node_id 1 to create a new AbstractDQNAgent object from inherited base classes: Agent with example: obj = AbstractDQNAgent(nb_actions, memory, gamma, batch_size, nb_steps_warmup, train_interval, memory_interval, target_model_update, delta_range, delta_clip, custom_model_objects)