class_docstr: :param num_steps_between_copying_online_weights_to_target: (StepMethod)
      The number of steps between copying the online network weights to the target network weights.
  
  :param rate_for_copying_weights_to_target: (float)
      When copying the online network weights to the target network weights, a soft update will be used, which
      weight the new online network weights by rate_for_copying_weights_to_target
  
  :param num_consecutive_playing_steps: (StepMethod)
      The number of consecutive steps to act between every two training iterations
  
  :param use_target_network_for_evaluation: (bool)
      If set to True, the target network will be used for predicting the actions when choosing actions to act.
      Since the target network weights change more slowly, the predicted actions will be more consistent.
  
  :param action_penalty: (float)
      The amount by which to penalize the network on high action feature (pre-activation) values.
      This can prevent the actions features from saturating the TanH activation function, and therefore prevent the
      gradients from becoming very low.
  
  :param clip_critic_targets: (Tuple[float, float] or None)
      The range to clip the critic target to in order to prevent overestimation of the action values.
  
  :param use_non_zero_discount_for_terminal_states: (bool)
      If set to True, the discount factor will be used for terminal states to bootstrap the next predicted state
      values. If set to False, the terminal states reward will be taken as the target return for the network.
class_docstr_tok: [":","param","num_steps_between_copying_online_weights_to_target",":","(","StepMethod",")","The","number","of","steps","between","copying","the","online","network","weights","to","the","target","network","weights",".",":","param","rate_for_copying_weights_to_target",":","(","float",")","When","copying","the","online","network","weights","to","the","target","network","weights",",","a","soft","update","will","be","used",",","which","weight","the","new","online","network","weights","by","rate_for_copying_weights_to_target",":","param","num_consecutive_playing_steps",":","(","StepMethod",")","The","number","of","consecutive","steps","to","act","between","every","two","training","iterations",":","param","use_target_network_for_evaluation",":","(","bool",")","If","set","to","True",",","the","target","network","will","be","used","for","predicting","the","actions","when","choosing","actions","to","act",".","Since","the","target","network","weights","change","more","slowly",",","the","predicted","actions","will","be","more","consistent",".",":","param","action_penalty",":","(","float",")","The","amount","by","which","to","penalize","the","network","on","high","action","feature","(","pre-activation",")","values",".","This","can","prevent","the","actions","features","from","saturating","the","TanH","activation","function",",","and","therefore","prevent","the","gradients","from","becoming","very","low",".",":","param","clip_critic_targets",":","(","Tuple","[","float",",","float","]","or","None",")","The","range","to","clip","the","critic","target","to","in","order","to","prevent","overestimation","of","the","action","values",".",":","param","use_non_zero_discount_for_terminal_states",":","(","bool",")","If","set","to","True",",","the","discount","factor","will","be","used","for","terminal","states","to","bootstrap","the","next","predicted","state","values",".","If","set","to","False",",","the","terminal","states","reward","will","be","taken","as","the","target","return","for","the","network","."]
code: def __init__(self):
      super().__init__()
      self.num_steps_between_copying_online_weights_to_target = (
          EnvironmentSteps(1)
      )
      self.rate_for_copying_weights_to_target = 0.001
      self.num_consecutive_playing_steps = EnvironmentSteps(1)
      self.use_target_network_for_evaluation = False
      self.action_penalty = 0
      self.clip_critic_targets = None  # expected to be a tuple of the form (min_clip_value, max_clip_value) or None
      self.use_non_zero_discount_for_terminal_states = False
  
imports: import copy
  from typing import Union
  from collections import OrderedDict
  import numpy
  from rl_coach.agents.actor_critic_agent import ActorCriticAgent
  from rl_coach.agents.agent import Agent
  from rl_coach.architectures.embedder_parameters import InputEmbedderParameters
  from rl_coach.architectures.head_parameters import DDPGActorHeadParameters, DDPGVHeadParameters
  from rl_coach.architectures.middleware_parameters import FCMiddlewareParameters
  from rl_coach.base_parameters import NetworkParameters, AlgorithmParameters, AgentParameters, EmbedderScheme
  from rl_coach.core_types import ActionInfo, EnvironmentSteps
  from rl_coach.exploration_policies.ou_process import OUProcessParameters
  from rl_coach.memories.episodic.episodic_experience_replay import EpisodicExperienceReplayParameters
  from rl_coach.spaces import BoxActionSpace, GoalsSpace
label_desc: Use image node_id 1 to create a new DDPGAlgorithmParameters object from inherited base classes: AlgorithmParameters with example: obj = DDPGAlgorithmParameters()