class_docstr: # Arguments
      model__: A Keras model.
      policy__: A Keras-rl policy that are defined in [policy](https://github.com/keras-rl/keras-rl/blob/master/rl/policy.py).
      test_policy__: A Keras-rl policy.
      enable_double_dqn__: A boolean which enable target network as a second network proposed by van Hasselt et al. to decrease overfitting.
      enable_dueling_dqn__: A boolean which enable dueling architecture proposed by Mnih et al.
      dueling_type__: If `enable_dueling_dqn` is set to `True`, a type of dueling architecture must be chosen which calculate Q(s,a) from V(s) and A(s,a) differently. Note that `avg` is recommanded in the [paper](https://arxiv.org/abs/1511.06581).
          `avg`: Q(s,a;theta) = V(s;theta) + (A(s,a;theta)-Avg_a(A(s,a;theta)))
          `max`: Q(s,a;theta) = V(s;theta) + (A(s,a;theta)-max_a(A(s,a;theta)))
          `naive`: Q(s,a;theta) = V(s;theta) + A(s,a;theta)
code: def save_weights(self, filepath, overwrite=False):
      self.model.save_weights(filepath, overwrite=overwrite)
  
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 5 for calling the DQNAgent obj's underlying member method code with example usage: obj.save_weights(filepath, overwrite) without return types