code: def testRestartMultiRewards(self):
      observation = tf.constant(-1)
      reward_spec = [
          tensor_spec.TensorSpec((1,), tf.float32, "r1"),
          tensor_spec.TensorSpec((2,), tf.float32, "r2"),
      ]
      time_step = ts.restart(
          observation,
          batch_size=tf.constant(2, shape=[1]),
          reward_spec=reward_spec,
      )
      time_step_ = self.evaluate(time_step)
  
      expected_reward = [
          np.array([[0.0], [0.0]], dtype=np.float32),
          np.array([[0.0, 0.0], [0.0, 0.0]], dtype=np.float32),
      ]
  
      self.assertItemsEqual(
          [ts.StepType.FIRST] * 2, time_step_.step_type
      )
      self.assertEqual(-1, time_step_.observation)
      self.assertAllEqual(expected_reward[0], time_step_.reward[0])
      self.assertAllEqual(expected_reward[1], time_step_.reward[1])
      self.assertItemsEqual([1.0, 1.0], time_step_.discount)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import sys
  import numpy
  import tensorflow
  from tf_agents.specs import array_spec
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 3 for calling the TFTimeStepTest obj's underlying member method code with example usage: obj.testRestartMultiRewards() without return types