code: def testReadWriteBatch(self):
      spec = [
          specs.TensorSpec([3], tf.float32, "action"),
          [
              specs.TensorSpec([5], tf.float32, "camera"),
              specs.TensorSpec([3, 2], tf.float32, "lidar"),
          ],
      ]
      replay_table = table.Table(spec, capacity=4)
  
      batch_size = 2
      expected_values = [
          1 * np.ones([batch_size] + spec[0].shape.as_list()),
          [
              2 * np.ones([batch_size] + spec[1][0].shape.as_list()),
              3 * np.ones([batch_size] + spec[1][1].shape.as_list()),
          ],
      ]
      tensors = tf.nest.map_structure(
          lambda x: tf.convert_to_tensor(value=x, dtype=tf.float32),
          expected_values,
      )
  
      write_op = replay_table.write(list(range(batch_size)), tensors)
      read_op = replay_table.read(list(range(batch_size)))
      self.evaluate(tf.compat.v1.global_variables_initializer())
      self.evaluate(write_op)
      read_value_ = self.evaluate(read_op)
      tf.nest.map_structure(
          self.assertAllClose, read_value_, expected_values
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  import numpy
  import tensorflow
  from tf_agents import specs
  from tf_agents.replay_buffers import table
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 2 for calling the TableTest obj's underlying member method code with example usage: obj.testReadWriteBatch() without return types