docstr: Target network update logic as defined in DDPG paper
  updated_params = tau * network_params + (1 - tau) * target_network_params
  :param network network with parameters to include in soft update
  :param target_network target network with params to soft update
  :param tau hyperparameter to control target tracking speed
docstr_tok: ["Target","network","update","logic","as","defined","in","DDPG","paper","updated_params","=","tau","*","network_params","+","(","1","-","tau",")","*","target_network_params",":","param","network","network","with","parameters","to","include","in","soft","update",":","param","target_network","target","network","with","params","to","soft","update",":","param","tau","hyperparameter","to","control","target","tracking","speed"]
code: def _soft_update(self, network, target_network, tau) -> None:
      """Target network update logic as defined in DDPG paper
      updated_params = tau * network_params + (1 - tau) * target_network_params
      :param network network with parameters to include in soft update
      :param target_network target network with params to soft update
      :param tau hyperparameter to control target tracking speed
      """
      for t_param, param in zip(
          target_network.parameters(), network.parameters()
      ):
          if t_param is param:
              # Skip soft-updating when the target network shares the parameter with
              # the network being train.
              continue
          new_param = tau * param.data + (1.0 - tau) * t_param.data
          t_param.data.copy_(new_param)
  
file_path: ReAgent/reagent/test/models/test_no_soft_update_embedding.py
imports: import copy
  import unittest
  import numpy.testing
  import torch
  import torch.nn
  from reagent.models.no_soft_update_embedding import NoSoftUpdateEmbedding
label_desc: Use image node_id 2 for calling the TestNoSoftUpdteEmbedding obj's underlying member method code with example usage: obj._soft_update(network, target_network, tau) without return types