mlflow.types
The mlflow.types
module defines data types and utilities to be used by other mlflow
components to describe interface independent of other frameworks or languages.
-
class
mlflow.types.
ColSpec
(type: Union[mlflow.types.schema.DataType, str], name: Optional[str] = None, optional: bool = False)[source] Bases:
object
Specification of name and type of a single column in a dataset.
-
class
mlflow.types.
DataType
(value)[source] Bases:
enum.Enum
MLflow data types.
-
to_numpy
() → numpy.dtype[source] Get equivalent numpy data type.
-
to_pandas
() → numpy.dtype[source] Get equivalent pandas data type.
-
to_python
()[source] Get equivalent python data type.
-
-
class
mlflow.types.
ParamSchema
(params: List[mlflow.types.schema.ParamSpec])[source] Bases:
object
Note
Experimental: This class may change or be removed in a future release without warning.
Specification of parameters applicable to the model. ParamSchema is represented as a list of
ParamSpec
.-
classmethod
from_json
(json_str: str)[source] Deserialize from a json string.
-
to_dict
() → List[Dict[str, Any]][source] Serialize into a jsonable dictionary.
-
to_json
() → str[source] Serialize into json string.
-
classmethod
-
class
mlflow.types.
ParamSpec
(name: str, dtype: Union[mlflow.types.schema.DataType, str], default: Optional[Union[mlflow.types.schema.DataType, List[mlflow.types.schema.DataType]]], shape: Optional[Tuple[int, …]] = None)[source] Bases:
object
Note
Experimental: This class may change or be removed in a future release without warning.
Specification used to represent parameters for the model.
-
class
ParamSpecTypedDict
(*args, **kwargs)[source] Bases:
dict
-
classmethod
enforce_param_datatype
(name, value, dtype: mlflow.types.schema.DataType)[source] Enforce the value matches the data type.
The following type conversions are allowed:
int -> long, float, double
long -> float, double
float -> double
any -> datetime (try conversion)
Any other type mismatch will raise error.
- Parameters
name – parameter name
value – parameter value
t – expected data type
-
classmethod
from_json_dict
(**kwargs)[source] Deserialize from a json loaded dictionary. The dictionary is expected to contain name, type and default keys.
-
classmethod
validate_type_and_shape
(spec: str, value: Optional[Union[mlflow.types.schema.DataType, List[mlflow.types.schema.DataType]]], value_type: mlflow.types.schema.DataType, shape: Optional[Tuple[int, …]])[source] Validate that the value has the expected type and shape.
-
class
-
class
mlflow.types.
Schema
(inputs: List[Union[mlflow.types.schema.ColSpec, mlflow.types.schema.TensorSpec]])[source] Bases:
object
Specification of a dataset.
Schema is represented as a list of
ColSpec
orTensorSpec
. A combination of ColSpec and TensorSpec is not allowed.The dataset represented by a schema can be named, with unique non empty names for every input. In the case of
ColSpec
, the dataset columns can be unnamed with implicit integer index defined by their list indices. Combination of named and unnamed data inputs are not allowed.-
as_spark_schema
()[source] Convert to Spark schema. If this schema is a single unnamed column, it is converted directly the corresponding spark data type, otherwise it’s returned as a struct (missing column names are filled with an integer sequence). Unsupported by TensorSpec.
-
classmethod
from_json
(json_str: str)[source] Deserialize from a json string.
-
has_input_names
() → bool[source] Return true iff this schema declares names, false otherwise.
-
input_names
() → List[Union[str, int]][source] Get list of data names or range of indices if the schema has no names.
-
input_types
() → List[Union[mlflow.types.schema.DataType, numpy.dtype]][source] Get types for each column in the schema.
-
input_types_dict
() → Dict[str, Union[mlflow.types.schema.DataType, numpy.dtype]][source] Maps column names to types, iff this schema declares names.
-
is_tensor_spec
() → bool[source] Return true iff this schema is specified using TensorSpec
-
numpy_types
() → List[numpy.dtype][source] Convenience shortcut to get the datatypes as numpy types.
-
optional_input_names
() → List[Union[str, int]][source] Note
Experimental: This function may change or be removed in a future release without warning.
Get list of optional data names or range of indices if schema has no names.
-
pandas_types
() → List[numpy.dtype][source] Convenience shortcut to get the datatypes as pandas types. Unsupported by TensorSpec.
-
required_input_names
() → List[Union[str, int]][source] Get list of required data names or range of indices if schema has no names.
-
to_dict
() → List[Dict[str, Any]][source] Serialize into a jsonable dictionary.
-
to_json
() → str[source] Serialize into json string.
-
-
class
mlflow.types.
TensorSpec
(type: numpy.dtype, shape: Union[tuple, list], name: Optional[str] = None)[source] Bases:
object
Specification used to represent a dataset stored as a Tensor.
-
classmethod
from_json_dict
(**kwargs)[source] Deserialize from a json loaded dictionary. The dictionary is expected to contain type and tensor-spec keys.
-
property
optional
Whether this tensor is optional.
Note
Experimental: This property may change or be removed in a future release without warning.
-
property
type
A unique character code for each of the 21 different numpy built-in types. See https://numpy.org/devdocs/reference/generated/numpy.dtype.html#numpy.dtype for details.
-
classmethod