code: def test_partitioned_dynamic_embedding_lookup_2D_input(
      self, sigma_dimension
  ):
      emb_dim = 5 + sigma_dimension
      config = test_util.default_de_config(emb_dim, [1] * emb_dim)
      (
          emb,
          sigma,
      ) = sparse_features._partitioned_dynamic_embedding_lookup(
          [["input1", ""], ["input2", "input3"]],
          config,
          5,
          sigma_dimension,
          "feature_name1_%d" % sigma_dimension,
          service_address=self._kbs_address,
      )
  
      if sigma_dimension > 0:
          self.assertEqual((2, 2, sigma_dimension), sigma.shape)
          self.assertEqual((2, 2, 5), emb.shape)
          self.assertAllClose(
              [
                  [[1] * sigma_dimension, [0] * sigma_dimension],
                  [[1] * sigma_dimension, [1] * sigma_dimension],
              ],
              sigma.numpy(),
          )
          self.assertAllClose(
              [[[1] * 5, [0] * 5], [[1] * 5, [1] * 5]], emb.numpy()
          )
      else:
          self.assertAllClose(
              [[[1] * 5, [0] * 5], [[1] * 5, [1] * 5]], emb.numpy()
          )
          self.assertIsNone(sigma)
  
imports: from absl.testing import parameterized
  from research.carls.models.caml import sparse_features
  from research.carls.testing import test_util
  import numpy
  import tensorflow
label_desc: Use image node_id 4 for calling the FeatureEmbeddingTest obj's underlying member method code with example usage: obj.test_partitioned_dynamic_embedding_lookup_2D_input(sigma_dimension) without return types