code: def testSignatures(self):
      with tf.Graph().as_default() as graph:
          input_a = tf.constant(2)
          input_b = tf.constant(3)
          mul = input_a * input_b
          saved_model_lib.add_signature("six", {}, {"out": mul})
          saved_model_lib.add_signature(
              "mul2", {"in": input_b}, {"out": mul}
          )
  
      handler = saved_model_lib.SavedModelHandler()
      handler.add_graph_copy(graph)
  
      signatures = handler.get_meta_graph_copy().signature_def
      self.assertEqual(set(signatures.keys()), set(["six", "mul2"]))
      self.assertAllEqual(list(signatures["six"].inputs.keys()), [])
      self.assertAllEqual(
          list(signatures["six"].outputs.keys()), ["out"]
      )
      self.assertAllEqual(
          list(signatures["mul2"].inputs.keys()), ["in"]
      )
      self.assertAllEqual(
          list(signatures["mul2"].outputs.keys()), ["out"]
      )
  
imports: import copy
  import os
  from absl import logging
  import tensorflow
  from tensorflow_hub import saved_model_lib
  from tensorflow.core.protobuf import meta_graph_pb2
label_desc: Use image node_id 6 for calling the SavedModelLibTest obj's underlying member method code with example usage: obj.testSignatures() without return types