class_docstr: A DDPG Agent.
docstr: Performs a soft update of the target network parameters.
  
  For each weight w_s in the original network, and its corresponding
  weight w_t in the target network, a soft update is:
  w_t = (1- tau) x w_t + tau x ws
  
  Args:
    tau: A float scalar in [0, 1]. Default `tau=1.0` means hard update.
    period: Step interval at which the target networks are updated.
  
  Returns:
    An operation that performs a soft update of the target network parameters.
docstr_tok: ["Performs","a","soft","update","of","the","target","network","parameters",".","For","each","weight","w_s","in","the","original","network",",","and","its","corresponding","weight","w_t","in","the","target","network",",","a","soft","update","is",":","w_t","=","(","1-","tau",")","x","w_t","+","tau","x","ws","Args",":","tau",":","A","float","scalar","in","[","0",",","1","]",".","Default","`","tau=1.0","`","means","hard","update",".","period",":","Step","interval","at","which","the","target","networks","are","updated",".","Returns",":","An","operation","that","performs","a","soft","update","of","the","target","network","parameters","."]
code: def _get_target_updater(self, tau=1.0, period=1):
      """Performs a soft update of the target network parameters.
  
      For each weight w_s in the original network, and its corresponding
      weight w_t in the target network, a soft update is:
      w_t = (1- tau) x w_t + tau x ws
  
      Args:
        tau: A float scalar in [0, 1]. Default `tau=1.0` means hard update.
        period: Step interval at which the target networks are updated.
  
      Returns:
        An operation that performs a soft update of the target network parameters.
      """
      with tf.name_scope("get_target_updater"):
  
          def update():
              """Update target network."""
              # TODO(b/124381161): What about observation normalizer variables?
              critic_update = common.soft_variables_update(
                  self._critic_network.variables,
                  self._target_critic_network.variables,
                  tau,
                  tau_non_trainable=1.0,
              )
              actor_update = common.soft_variables_update(
                  self._actor_network.variables,
                  self._target_actor_network.variables,
                  tau,
                  tau_non_trainable=1.0,
              )
              return tf.group(critic_update, actor_update)
  
          return common.Periodically(
              update, period, "periodic_update_targets"
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from typing import Optional, Text
  import gin
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.networks import network
  from tf_agents.policies import actor_policy
  from tf_agents.policies import ou_noise_policy
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import eager_utils
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 3 for calling the DdpgAgent obj's underlying member method code with example usage: obj._get_target_updater(tau, period) and returns: common, tf