docstr: DDQN algorithm
  
  Args:
      model (parl.Model): forward neural network representing the Q function.
      gamma (float): discounted factor for `accumulative` reward computation
      lr (float): learning rate.
code: def __init__(self, model, gamma=None, lr=None):
      """DDQN algorithm
  
      Args:
          model (parl.Model): forward neural network representing the Q function.
          gamma (float): discounted factor for `accumulative` reward computation
          lr (float): learning rate.
      """
      # checks
      check_model_method(model, "forward", self.__class__.__name__)
      assert isinstance(gamma, float)
      assert isinstance(lr, float)
  
      self.model = model
      self.target_model = copy.deepcopy(model)
  
      self.gamma = gamma
      self.lr = lr
  
      self.mse_loss = paddle.nn.MSELoss(reduction="mean")
      self.optimizer = paddle.optimizer.Adam(
          learning_rate=lr, parameters=self.model.parameters()
      )
  
file_path: PARL/parl/algorithms/paddle/ddqn.py
imports: import copy
  import parl
  import paddle
  from parl.utils.utils import check_model_method
label_desc: Use image node_id 1 to create a new DDQN object from inherited base classes: parl with example: obj = DDQN(model, gamma, lr)