class_docstr: ModelSignature specifies schema of model's inputs, outputs and params.
  
  ModelSignature can be :py:func:`inferred <mlflow.models.infer_signature>` from training
  dataset, model predictions using and params for inference, or constructed by hand by
  passing an input and output :py:class:`Schema <mlflow.types.Schema>`, and params
  :py:class:`ParamSchema <mlflow.types.ParamSchema>`.
code: def __repr__(self) -> str:
      return (
          "inputs: \n"
          f"  {self.inputs!r}\n"
          "outputs: \n"
          f"  {self.outputs!r}\n"
          "params: \n"
          f"  {self.params!r}\n"
      )
  
imports: import inspect
  import logging
  import re
  from copy import deepcopy
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union, get_type_hints
  import numpy
  import pandas
  from mlflow import environment_variables
  from mlflow.exceptions import MlflowException
  from mlflow.models import Model
  from mlflow.models.model import MLMODEL_FILE_NAME
  from mlflow.models.utils import ModelInputExample, _contains_params, _Example
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, RESOURCE_DOES_NOT_EXIST
  from mlflow.store.artifact.models_artifact_repo import ModelsArtifactRepository
  from mlflow.store.artifact.runs_artifact_repo import RunsArtifactRepository
  from mlflow.tracking.artifact_utils import _download_artifact_from_uri, _upload_artifact_to_uri
  from mlflow.types.schema import ParamSchema, Schema
  from mlflow.types.utils import _infer_param_schema, _infer_schema, _infer_schema_from_type_hint
  from mlflow.utils.uri import append_to_uri_path
label_desc: Use image node_id 5 for calling the ModelSignature obj's underlying member method code with example usage: obj.__repr__() and returns: str, self, str, self, str, self, str