code: def test_soft_copy_param(self):
      a = L.Linear(1, 5)
      b = L.Linear(1, 5)
  
      a.W.array[:] = 0.5
      b.W.array[:] = 1
  
      # a = (1 - tau) * a + tau * b
      copy_param.soft_copy_param(target_link=a, source_link=b, tau=0.1)
  
      np.testing.assert_almost_equal(
          a.W.array, np.full(a.W.shape, 0.55)
      )
      np.testing.assert_almost_equal(b.W.array, np.full(b.W.shape, 1.0))
  
      copy_param.soft_copy_param(target_link=a, source_link=b, tau=0.1)
  
      np.testing.assert_almost_equal(
          a.W.array, np.full(a.W.shape, 0.595)
      )
      np.testing.assert_almost_equal(b.W.array, np.full(b.W.shape, 1.0))
  
file_path: chainerrl/tests/misc_tests/test_copy_param.py
imports: import unittest
  import chainer
  from chainer import functions
  from chainer import links
  import numpy
  from chainerrl.misc import copy_param
label_desc: Use image node_id 4 for calling the TestCopyParam obj's underlying member method code with example usage: obj.test_soft_copy_param() without return types