code: def test_batched_placeholders_from_typespecs(self):
      typespecs = {
          "dense_float": tf.TensorSpec(
              dtype=tf.float32, shape=[None, 2, 3]
          ),
          "dense_string": tf.TensorSpec(shape=[None], dtype=tf.string),
          "_sparse_underscored": tf.SparseTensorSpec(
              dtype=tf.string, shape=[None, None, 17]
          ),
          "ragged_string": tf.RaggedTensorSpec(
              dtype=tf.string, ragged_rank=1, shape=[None, None]
          ),
          "ragged_multi_dimension": tf.RaggedTensorSpec(
              dtype=tf.int64,
              ragged_rank=3,
              shape=[None, None, None, None, 5],
          ),
      }
      with tf.compat.v1.Graph().as_default():
          features = impl_helper.batched_placeholders_from_specs(
              typespecs
          )
      self.assertCountEqual(
          features.keys(),
          [
              "dense_float",
              "dense_string",
              "_sparse_underscored",
              "ragged_string",
              "ragged_multi_dimension",
          ],
      )
      self.assertIsInstance(features["dense_float"], tf.Tensor)
      self.assertEqual(
          features["dense_float"].get_shape().as_list(), [None, 2, 3]
      )
      self.assertEqual(features["dense_float"].dtype, tf.float32)
  
      self.assertIsInstance(features["dense_string"], tf.Tensor)
      self.assertEqual(
          features["dense_string"].get_shape().as_list(), [None]
      )
      self.assertEqual(features["dense_string"].dtype, tf.string)
  
      self.assertEqual(
          type(features["_sparse_underscored"]), tf.SparseTensor
      )
      self.assertEqual(
          features["_sparse_underscored"].get_shape().as_list(),
          [None, None, 17],
      )
      self.assertEqual(features["_sparse_underscored"].dtype, tf.string)
  
      self.assertEqual(type(features["ragged_string"]), tf.RaggedTensor)
      self.assertEqual(
          features["ragged_string"].shape.as_list(), [None, None]
      )
      self.assertEqual(features["ragged_string"].ragged_rank, 1)
      self.assertEqual(features["ragged_string"].dtype, tf.string)
  
      self.assertEqual(
          type(features["ragged_multi_dimension"]), tf.RaggedTensor
      )
      self.assertEqual(
          features["ragged_multi_dimension"].shape.as_list(),
          [None, None, None, None, 5],
      )
      self.assertEqual(
          features["ragged_multi_dimension"].ragged_rank, 3
      )
      self.assertEqual(
          features["ragged_multi_dimension"].dtype, tf.int64
      )
  
imports: import copy
  import os
  import numpy
  from packaging import version
  import pyarrow
  import tensorflow
  from tensorflow_transform import analyzers
  from tensorflow_transform import impl_helper
  from tensorflow_transform import schema_inference
  from tensorflow_transform import test_case
  from tensorflow_transform.output_wrapper import TFTransformOutput
  from tensorflow_transform.tf_metadata import schema_utils
label_desc: Use image node_id 2 for calling the ImplHelperTest obj's underlying member method code with example usage: obj.test_batched_placeholders_from_typespecs() without return types