ads.model.serde package#

Submodules#

ads.model.serde.common module#

class ads.model.serde.common.Deserializer[source]#

Bases: object

Abstract base class for creation of new deserializers.

deserialize(**kwargs)[source]#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

class ads.model.serde.common.SERDE[source]#

Bases: Serializer, Deserializer

A layer contains two groups which can interact with each other to serialize and deserialize supported data structure using supported data format.

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = ''#
serialize(**kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.common.Serializer[source]#

Bases: object

Abstract base class for creation of new serializers.

serialize(**kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

ads.model.serde.model_input module#

class ads.model.serde.model_input.CloudpickleModelInputDeserializer(name='cloudpickle')[source]#

Bases: ModelInputDeserializer

Use cloudpickle to deserialize data into its original type.

deserialize(data)[source]#

Deserialize data into its original type.

Parameters:

(object) (data) –

Returns:

object

Return type:

deserialized data used for a prediction.

class ads.model.serde.model_input.CloudpickleModelInputSERDE[source]#

Bases: CloudpickleModelInputSerializer, CloudpickleModelInputDeserializer

deserialize(data)#

Deserialize data into its original type.

Parameters:

(object) (data) –

Returns:

object

Return type:

deserialized data used for a prediction.

name = 'cloudpickle'#
serialize(data)#

Serialize data into bytes.

Parameters:

(object) (data) –

Returns:

object

Return type:

Serialized data used for a request.

class ads.model.serde.model_input.CloudpickleModelInputSerializer[source]#

Bases: ModelInputSerializer

Serialize data of various formats to bytes.

serialize(data)[source]#

Serialize data into bytes.

Parameters:

(object) (data) –

Returns:

object

Return type:

Serialized data used for a request.

class ads.model.serde.model_input.JsonModelInputDeserializer(name='json')[source]#

Bases: ModelInputDeserializer

ADS data deserializer. Deserialize data to into its original type.

deserialize(data: dict)[source]#

Deserialize data into its original type.

Parameters:

data ((dict)) –

Returns:

objects

Return type:

Deserialized data used for a prediction.

Raises:

TypeError – if provided data type is not supported.

class ads.model.serde.model_input.JsonModelInputSERDE[source]#

Bases: JsonModelInputSerializer, JsonModelInputDeserializer

deserialize(data: dict)#

Deserialize data into its original type.

Parameters:

data ((dict)) –

Returns:

objects

Return type:

Deserialized data used for a prediction.

Raises:

TypeError – if provided data type is not supported.

name = 'json'#
serialize(data: Dict | str | List | ndarray | Series | DataFrame)#

Serialize data into a dictionary containing serialized input data and original data type information.

Parameters:
  • data (Union[Dict, str, list, numpy.ndarray, pd.core.series.Series,) –

  • pd.core.frame.DataFrame – Data expected by the model deployment predict API.

  • bytes] – Data expected by the model deployment predict API.

Returns:

A dictionary containing serialized input data and original data type information.

Return type:

Dict

Raises:

TypeError – if provided data type is not supported.

class ads.model.serde.model_input.JsonModelInputSerializer[source]#

Bases: ModelInputSerializer

ADS data serializer. Serialize data of various formats to into a dictionary containing serialized input data and original data type information.

Examples

>>> from ads.model.serde.model_input import JsonModelInputSerializer
>>> # numpy array will be converted to base64 encoded string,
>>> # while `data_type` will record its original type: `numpy.ndarray`
>>> import numpy as np
>>> input_data = np.array([1, 2, 3])
>>> serialized_data = JsonModelInputSerializer().serialize(data=input_data)
>>> serialized_data
{
'data': 'k05VTVBZAQB2AHsnZGVzY3InOiAnPGk4JywgJ2ZvcnRyYW5fb3JkZXInOiBGYWxzZS
wgJ3NoYXBlJzogKDMsKSwgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgIAoBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAA=',
'data_type': "<class 'numpy.ndarray'>"
}
>>> # `pd.core.frame.DataFrame` will be converted to json by `.to_json()`
>>> # while `data_type` will record its original type: `pandas.core.frame.DataFrame`
>>> import pandas as pd
>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
>>> serialized_data = JsonModelInputSerializer().serialize(data=df)
>>> serialized_data
{
'data': '{"col1":{"0":1,"1":2},"col2":{"0":3,"1":4}}',
'data_type': "<class 'pandas.core.frame.DataFrame'>"
}
>>> # `pandas.core.series.Series` will be converted to list by `.tolist()`
>>> # while `data_type` will record its original type: `pandas.core.series.Series`
>>> ser = pd.Series(data={'a': 1, 'b': 2, 'c': 3}, index=['a', 'b', 'c'])
>>> serialized_data = JsonModelInputSerializer().serialize(data=ser)
>>> serialized_data
{
'data': [1, 2, 3],
'data_type': "<class 'pandas.core.series.Series'>"
}
>>> # `torch.Tensor` will be converted to base64 encoded string,
>>> # while `data_type` will record its original type: `torch.Tensor`
>>> import torch
>>> tt = torch.tensor([[1, 2, 3], [4, 5, 6]])
>>> serialized_data = JsonModelInputSerializer().serialize(data=tt)
>>> serialized_data
{
'data': 'UEsDBAAACAgAAAAAAAAAAAAAAAAAAAAAAAAQABIAYXJjaGl2ZS9kYXRhLnBrbEZCDgBaWlpaW
lpaWlpaWlpaWoACY3RvcmNoLl91dGlscwpfcmVidWlsZF90ZW5zb3JfdjIKcQAoKFgHAAAAc3RvcmFnZXEB
Y3RvcmNoCkxvbmdTdG9yYWdlCnECWAEAAAAwcQNYAwAAAGNwdXEESwZ0cQVRSwBLAksDhnEGSwNLAYZxB4l
jY29sbGVjdGlvbnMKT3JkZXJlZERpY3QKcQgpUnEJdHEKUnELLlBLBwim2iAhmQAAAJkAAABQSwMEAAAICA
AAAAAAAAAAAAAAAAAAAAAAAA4AKwBhcmNoaXZlL2RhdGEvMEZCJwBaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWl
paWlpaWlpaWlpaWlpaWloBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAA
ABQSwcI9z/uVjAAAAAwAAAAUEsDBAAACAgAAAAAAAAAAAAAAAAAAAAAAAAPABMAYXJjaGl2ZS92ZXJzaW9u
RkIPAFpaWlpaWlpaWlpaWlpaWjMKUEsHCNGeZ1UCAAAAAgAAAFBLAQIAAAAACAgAAAAAAACm2iAhmQAAAJk
AAAAQAAAAAAAAAAAAAAAAAAAAAABhcmNoaXZlL2RhdGEucGtsUEsBAgAAAAAICAAAAAAAAPc/7lYwAAAAMA
AAAA4AAAAAAAAAAAAAAAAA6QAAAGFyY2hpdmUvZGF0YS8wUEsBAgAAAAAICAAAAAAAANGeZ1UCAAAAAgAAA
A8AAAAAAAAAAAAAAAAAgAEAAGFyY2hpdmUvdmVyc2lvblBLBgYsAAAAAAAAAB4DLQAAAAAAAAAAAAMAAAAA
AAAAAwAAAAAAAAC3AAAAAAAAANIBAAAAAAAAUEsGBwAAAACJAgAAAAAAAAEAAABQSwUGAAAAAAMAAwC3AAA
A0gEAAAAA',
'data_type': "<class 'torch.Tensor'>"
}
>>> # `tensorflow.Tensor` will be converted to base64 encoded string,
>>> # while `data_type` will record its original type: `tensorflow.python.framework.ops.EagerTensor`.
>>> import torch
>>> c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
>>> serialized_data = JsonModelInputSerializer().serialize(data=c)
>>> serialized_data
{
'data': 'k05VTVBZAQB2AHsnZGVzY3InOiAnPGY0JywgJ2ZvcnRyYW5fb3JkZXInOiBGYWxzZSwgJ3NoYXB
lJzogKDIsIDIpLCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
gICAgICAgIAoAAIA/AAAAQAAAQEAAAIBA',
'data_type': "<class 'tensorflow.python.framework.ops.EagerTensor'>"
}
>>> # dict, str, list, tuple will be saved as orignal type
>>> # and `data_type` will record its type.
>>> mystring = "this is a string."
>>> serialized_data = JsonModelInputSerializer().serialize(data=mystring)
>>> serialized_data
{
'data': 'this is a string.',
'data_type': "<class 'str'>"
}
serialize(data: Dict | str | List | ndarray | Series | DataFrame)[source]#

Serialize data into a dictionary containing serialized input data and original data type information.

Parameters:
  • data (Union[Dict, str, list, numpy.ndarray, pd.core.series.Series,) –

  • pd.core.frame.DataFrame – Data expected by the model deployment predict API.

  • bytes] – Data expected by the model deployment predict API.

Returns:

A dictionary containing serialized input data and original data type information.

Return type:

Dict

Raises:

TypeError – if provided data type is not supported.

class ads.model.serde.model_input.ModelInputDeserializer(name='customized')[source]#

Bases: Deserializer

Abstract base class for creation of new data deserializers.

deserialize(data)[source]#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

class ads.model.serde.model_input.ModelInputSerializer[source]#

Bases: Serializer

Abstract base class for creation of new data serializers.

serialize(data)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_input.ModelInputSerializerFactory[source]#

Bases: object

Data Serializer Factory.

Examples

>>> serializer, deserializer = ModelInputSerializerFactory.get("cloudpickle")
classmethod get(se: str = 'json')[source]#

Gets data serializer and corresponding deserializer.

Parameters:

(str) (se) – The name of the required serializer.

Raises:

ValueError: – Raises when input is unsupported format.

Returns:

Intance of `ads.model.serde.common.SERDE”.

Return type:

serde (ads.model.serde.common.SERDE)

class ads.model.serde.model_input.ModelInputSerializerType[source]#

Bases: object

CLOUDPICKLE = 'cloudpickle'#
JSON = 'json'#
class ads.model.serde.model_input.SparkModelInputDeserializer(name='spark')[source]#

Bases: ModelInputDeserializer

deserialize()[source]#

Not implement. See spark template.

class ads.model.serde.model_input.SparkModelInputSERDE[source]#

Bases: SparkModelInputSerializer, SparkModelInputDeserializer

deserialize()#

Not implement. See spark template.

name = 'spark'#
serialize(data: Dict | str | List | ndarray | Series | DataFrame)#
Parameters:
  • data (Union[Dict, str, list, numpy.ndarray, pd.core.series.Series,) –

  • pd.core.frame.DataFrame] – Data expected by the model deployment predict API.

class ads.model.serde.model_input.SparkModelInputSerializer[source]#

Bases: JsonModelInputSerializer

[An internal class] Defines the contract for input data to spark pipeline models.

serialize(data: Dict | str | List | ndarray | Series | DataFrame)[source]#
Parameters:
  • data (Union[Dict, str, list, numpy.ndarray, pd.core.series.Series,) –

  • pd.core.frame.DataFrame] – Data expected by the model deployment predict API.

class ads.model.serde.model_input.SparkModelInputSerializerType[source]#

Bases: object

SPARK = 'spark'#

ads.model.serde.model_serializer module#

class ads.model.serde.model_serializer.CloudPickleModelSerializer(model_file_suffix='pkl')[source]#

Bases: ModelSerializer

Uses Cloudpickle to save model.

serialize(estimator, model_path, **kwargs)[source]#

Uses cloudpickle.dump to save model. See https://docs.python.org/3/library/pickle.html#pickle.dump for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • kwargs

    model_save: (dict, optional).

    The dictionary where contains the availiable options to be passed to cloudpickle.dump.

class ads.model.serde.model_serializer.CloudpickleModelSaveSERDE(model_file_suffix='pkl')[source]#

Bases: CloudPickleModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'cloudpickle'#
serialize(estimator, model_path, **kwargs)#

Uses cloudpickle.dump to save model. See https://docs.python.org/3/library/pickle.html#pickle.dump for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • kwargs

    model_save: (dict, optional).

    The dictionary where contains the availiable options to be passed to cloudpickle.dump.

class ads.model.serde.model_serializer.HuggingFaceModelSerializer(model_file_suffix='')[source]#

Bases: ModelSerializer

Save HuggingFace Pipeline.

serialize(estimator, model_path, **kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.HuggingFacePipelineSaveSERDE(model_file_suffix='')[source]#

Bases: HuggingFaceModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'huggingface'#
serialize(estimator, model_path, **kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.HuggingFaceSerializerType[source]#

Bases: object

HUGGINGFACE = 'huggingface'#
class ads.model.serde.model_serializer.JobLibModelSerializer(model_file_suffix='joblib')[source]#

Bases: ModelSerializer

Uses Joblib to save model.

serialize(estimator, model_path, **kwargs)[source]#

Uses joblib.dump to save model. See https://joblib.readthedocs.io/en/latest/generated/joblib.dump.html for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • kwargs

    model_save: (dict, optional).

    The dictionary where contains the availiable options to be passed to joblib.dump.

class ads.model.serde.model_serializer.JoblibModelSaveSERDE(model_file_suffix='joblib')[source]#

Bases: JobLibModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'joblib'#
serialize(estimator, model_path, **kwargs)#

Uses joblib.dump to save model. See https://joblib.readthedocs.io/en/latest/generated/joblib.dump.html for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • kwargs

    model_save: (dict, optional).

    The dictionary where contains the availiable options to be passed to joblib.dump.

class ads.model.serde.model_serializer.LightGBMModelSaveSERDE(model_file_suffix='txt')[source]#

Bases: LightGBMModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'lightgbm'#
serialize(estimator, model_path, **kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.LightGBMModelSerializer(model_file_suffix='txt')[source]#

Bases: ModelSerializer

Save LightGBM Model through save_model into txt.

serialize(estimator, model_path, **kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.LightGBMModelSerializerType[source]#

Bases: object

LIGHTGBM = 'lightgbm'#
ONNX = 'lightgbm_onnx'#
class ads.model.serde.model_serializer.LightGBMOnnxModelSaveSERDE[source]#

Bases: LightGBMOnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'lightgbm_onnx'#
serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.LightGBMOnnxModelSerializer[source]#

Bases: OnnxModelSerializer

Converts LightGBM model into onnx format.

serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.ModelDeserializer[source]#

Bases: Deserializer

Base class for creation of new model deserializers.

deserialize(**kwargs)[source]#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

class ads.model.serde.model_serializer.ModelSerializer(model_file_suffix)[source]#

Bases: Serializer

Base class for creation of new model serializers.

serialize(**kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.ModelSerializerFactory[source]#

Bases: object

Model Serializer Factory.

Returns:

model_save_serde

Return type:

Intance of ads.model.SERDE”.

classmethod get(se: str)[source]#
class ads.model.serde.model_serializer.ModelSerializerType[source]#

Bases: object

CLOUDPICKLE = 'cloudpickle'#
ONNX = 'onnx'#
class ads.model.serde.model_serializer.OnnxModelSaveSERDE(model_file_suffix='onnx')[source]#

Bases: OnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'onnx'#
serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.OnnxModelSerializer(model_file_suffix='onnx')[source]#

Bases: ModelSerializer

Base class for creation of onnx converter for each model framework.

serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)[source]#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.PyTorchModelSaveSERDE(model_file_suffix='pt')[source]#

Bases: PyTorchModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'torch'#
serialize(estimator, model_path, **kwarg)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.PyTorchModelSerializer(model_file_suffix='pt')[source]#

Bases: ModelSerializer

Save PyTorch Model using torch.save(). See https://pytorch.org/docs/stable/generated/torch.save.html for more details.

serialize(estimator, model_path, **kwarg)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.PyTorchModelSerializerType[source]#

Bases: object

ONNX = 'torch_onnx'#
TORCH = 'torch'#
TORCHSCRIPT = 'torchscript'#
class ads.model.serde.model_serializer.PyTorchOnnxModelSaveSERDE[source]#

Bases: PytorchOnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'torch_onnx'#
serialize(estimator, model_path: str, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Exports the given Pytorch model into ONNX format.

Parameters:
  • path (str, default to None) – Path to save the serialized model.

  • onnx_args ((tuple or torch.Tensor), default to None) – Contains model inputs such that model(onnx_args) is a valid invocation of the model. Can be structured either as: 1) ONLY A TUPLE OF ARGUMENTS; 2) A TENSOR; 3) A TUPLE OF ARGUMENTS ENDING WITH A DICTIONARY OF NAMED ARGUMENTS

  • X_sample (Union[list, tuple, pd.Series, np.ndarray, pd.DataFrame]. Defaults to None.) – A sample of input data that will be used to generate input schema and detect onnx_args.

  • kwargs

    input_names: (List[str], optional). Defaults to [“input”].

    Names to assign to the input nodes of the graph, in order.

    output_names: (List[str], optional). Defaults to [“output”].

    Names to assign to the output nodes of the graph, in order.

    dynamic_axes: (dict, optional). Defaults to None.

    Specify axes of tensors as dynamic (i.e. known only at run-time).

Returns:

Nothing

Return type:

None

Raises:
  • AssertionError – if onnx module is not support by the current version of torch

  • ValueError – if X_sample is not provided if path is not provided

class ads.model.serde.model_serializer.PytorchOnnxModelSerializer[source]#

Bases: OnnxModelSerializer

Converts Pytorch model into onnx format.

serialize(estimator, model_path: str, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)[source]#

Exports the given Pytorch model into ONNX format.

Parameters:
  • path (str, default to None) – Path to save the serialized model.

  • onnx_args ((tuple or torch.Tensor), default to None) – Contains model inputs such that model(onnx_args) is a valid invocation of the model. Can be structured either as: 1) ONLY A TUPLE OF ARGUMENTS; 2) A TENSOR; 3) A TUPLE OF ARGUMENTS ENDING WITH A DICTIONARY OF NAMED ARGUMENTS

  • X_sample (Union[list, tuple, pd.Series, np.ndarray, pd.DataFrame]. Defaults to None.) – A sample of input data that will be used to generate input schema and detect onnx_args.

  • kwargs

    input_names: (List[str], optional). Defaults to [“input”].

    Names to assign to the input nodes of the graph, in order.

    output_names: (List[str], optional). Defaults to [“output”].

    Names to assign to the output nodes of the graph, in order.

    dynamic_axes: (dict, optional). Defaults to None.

    Specify axes of tensors as dynamic (i.e. known only at run-time).

Returns:

Nothing

Return type:

None

Raises:
  • AssertionError – if onnx module is not support by the current version of torch

  • ValueError – if X_sample is not provided if path is not provided

class ads.model.serde.model_serializer.SklearnModelSerializerType[source]#

Bases: object

CLOUDPICKLE = 'cloudpickle'#
JOBLIB = 'joblib'#
ONNX = 'sklearn_onnx'#
class ads.model.serde.model_serializer.SklearnOnnxModelSaveSERDE[source]#

Bases: SklearnOnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

static is_either_numerical_or_string_dataframe(data: DataFrame) bool#

Check whether all the columns are either numerical or string for dataframe.

name = 'sklearn_onnx'#
serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.SklearnOnnxModelSerializer[source]#

Bases: OnnxModelSerializer

Converts Skearn Model into Onnx.

static is_either_numerical_or_string_dataframe(data: DataFrame) bool[source]#

Check whether all the columns are either numerical or string for dataframe.

serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.SparkModelSaveSERDE(model_file_suffix='')[source]#

Bases: SparkModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'spark'#
serialize(estimator, model_path, **kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.SparkModelSerializer(model_file_suffix='')[source]#

Bases: ModelSerializer

Save Spark Model.

serialize(estimator, model_path, **kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.SparkModelSerializerType[source]#

Bases: object

SPARK = 'spark'#
class ads.model.serde.model_serializer.TensorFlowModelSaveSERDE(model_file_suffix='h5')[source]#

Bases: TensorFlowModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'tf'#
serialize(estimator, model_path, **kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.TensorFlowModelSerializer(model_file_suffix='h5')[source]#

Bases: ModelSerializer

Save Tensorflow Model.

serialize(estimator, model_path, **kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.TensorFlowOnnxModelSaveSERDE[source]#

Bases: TensorFlowOnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'tf_onnx'#
serialize(estimator, model_path: str = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Exports the given Tensorflow model into ONNX format.

Parameters:
  • model_path (str, default to None) – Path to save the serialized model.

  • X_sample (Union[list, tuple, pd.Series, np.ndarray, pd.DataFrame]. Defaults to None.) – A sample of input data that will be used to generate input schema and detect input_signature.

Returns:

Nothing

Return type:

None

Raises:

ValueError – if model_path is not provided

class ads.model.serde.model_serializer.TensorFlowOnnxModelSerializer[source]#

Bases: OnnxModelSerializer

Converts Tensorflow model into onnx format.

serialize(estimator, model_path: str = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)[source]#

Exports the given Tensorflow model into ONNX format.

Parameters:
  • model_path (str, default to None) – Path to save the serialized model.

  • X_sample (Union[list, tuple, pd.Series, np.ndarray, pd.DataFrame]. Defaults to None.) – A sample of input data that will be used to generate input schema and detect input_signature.

Returns:

Nothing

Return type:

None

Raises:

ValueError – if model_path is not provided

class ads.model.serde.model_serializer.TensorflowModelSerializerType[source]#

Bases: object

ONNX = 'tf_onnx'#
TENSORFLOW = 'tf'#
class ads.model.serde.model_serializer.TorchScriptModelSaveSERDE(model_file_suffix='pt')[source]#

Bases: TorchScriptModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'torchscript'#
serialize(estimator, model_path, **kwargs)#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.TorchScriptModelSerializer(model_file_suffix='pt')[source]#

Bases: ModelSerializer

Save PyTorch Model using torchscript. See https://pytorch.org/tutorials/beginner/saving_loading_models.html#export-load-model-in-torchscript-format for more details.

serialize(estimator, model_path, **kwargs)[source]#

Serialize data/model into specific type.

Returns:

object

Return type:

Serialized data/model.

class ads.model.serde.model_serializer.XgboostJsonModelSaveSERDE(model_file_suffix='json')[source]#

Bases: XgboostJsonModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'xgboost'#
serialize(estimator, model_path, **kwargs)#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

class ads.model.serde.model_serializer.XgboostJsonModelSerializer(model_file_suffix='json')[source]#

Bases: ModelSerializer

Save Xgboost Model through xgboost.save_model into JSON.

serialize(estimator, model_path, **kwargs)[source]#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

class ads.model.serde.model_serializer.XgboostModelSerializerType[source]#

Bases: object

ONNX = 'xgboost_onnx'#
XGBOOST = 'xgboost'#
class ads.model.serde.model_serializer.XgboostOnnxModelSaveSERDE[source]#

Bases: XgboostOnnxModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'xgboost_onnx'#
serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.XgboostOnnxModelSerializer[source]#

Bases: OnnxModelSerializer

Converts Xgboost model into onnx format.

serialize(estimator, model_path, initial_types: List[Tuple] | None = None, X_sample: Dict | str | List | Tuple | ndarray | Series | DataFrame | None = None, **kwargs)#

Save model into onnx format.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

  • initial_types – (List[Tuple], optional) a python list. Each element is a tuple of a variable name and a data type.

  • X_sample – (any, optional). Defaults to None. Contains model inputs such that model(X_sample) is a valid invocation of the model, used to valid model input type.

class ads.model.serde.model_serializer.XgboostTxtModelSaveSERDE(model_file_suffix='txt')[source]#

Bases: XgboostTxtModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'xgboost_txt'#
serialize(estimator, model_path, **kwargs)#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

class ads.model.serde.model_serializer.XgboostTxtModelSerializer(model_file_suffix='txt')[source]#

Bases: ModelSerializer

Save Xgboost Model through xgboost.save_model into txt.

serialize(estimator, model_path, **kwargs)[source]#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

class ads.model.serde.model_serializer.XgboostUbjModelSaveSERDE(model_file_suffix='ubj')[source]#

Bases: XgboostUbjModelSerializer, ModelDeserializer

deserialize(**kwargs)#

Deserialize data/model into original type.

Returns:

object

Return type:

deserialized data/model.

name = 'xgboost_ubj'#
serialize(estimator, model_path, **kwargs)#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

class ads.model.serde.model_serializer.XgboostUbjModelSerializer(model_file_suffix='ubj')[source]#

Bases: ModelSerializer

Save Xgboost Model through xgboost.save_model into binary JSON.

serialize(estimator, model_path, **kwargs)[source]#

Save Xgboost Model through xgboost.save_model .See https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.Booster.save_model for more details.

Parameters:
  • estimator – The model to be saved.

  • model_path – The file object or path of the model in which it is to be stored.

Module contents#