code: def get_input_signature(self):
          
          with tf.Graph().as_default() as G:   # create these placeholder in a temporary graph
              inputs = self.inputs()
              if isinstance(inputs[0], tf.Tensor):
                  for p in inputs:
                      assert "Placeholder" in p.op.type, \
                          "inputs() have to return TensorSpec or placeholders! Found {} instead.".format(p)
                      assert p.graph == G, "Placeholders returned by inputs() should be created inside inputs()!"
              return [TensorSpec(shape=p.shape, dtype=p.dtype, name=get_op_tensor_name(p.name)[0]) for p in inputs]
docs: Returns:
              A list of :class:`tf.TensorSpec`, which describes the inputs of this model.
              The result is cached for each instance of :class:`ModelDescBase`.