code: def test_multiple_feature_lookup_2D_with_sigma(self):
      fea_embed = sparse_features.SparseFeatureEmbedding(
          self._config,
          {"fea1": (5, 1), "fea2": (10, 1)},
          op_name="multiple_feature2",
          service_address=self._kbs_address,
      )
      embed, _, _, embed_map = fea_embed.lookup(
          {
              "fea1": [["input1", ""], ["input2", ""]],
              "fea2": [["input3", "input5"], ["input4", "input6"]],
          }
      )
      self.assertEqual((2, 15), embed.shape)
      self.assertLen(embed_map.keys(), 2)
      self.assertIn("fea1", embed_map.keys())
      self.assertIn("fea2", embed_map.keys())
      self.assertEqual((2, 2, 5), embed_map["fea1"].shape)
      self.assertEqual((2, 2, 10), embed_map["fea2"].shape)
      self.assertLen(fea_embed._variable_map.keys(), 2)
      self.assertIn("fea1", fea_embed._variable_map.keys())
      self.assertIn("fea2", fea_embed._variable_map.keys())
  
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 11 for calling the FeatureEmbeddingTest obj's underlying member method code with example usage: obj.test_multiple_feature_lookup_2D_with_sigma() without return types