OnnxConverter 类

将管道/模型对象从 pkl 格式转换为 onnx 格式的转换器。

在拟合/转换输入数据之前,先调用 Initialize 来设置 X 的签名。然后,可以多次调用 convert 方法,以转换给定的 sklearn 管道。

继承
builtins.object
OnnxConverter

构造函数

OnnxConverter(version='', is_onnx_compatible=False, enable_split_onnx_featurizer_estimator_models=False, **kwargs)

参数

version
is_onnx_compatible
默认值: False
enable_split_onnx_featurizer_estimator_models
默认值: False

方法

convert

将具有给定子运行对象的 Python 模型转换为 ONNX 模型。

get_converted_onnx_model_resource

获取转换后的 ONNX 模型的资源。

get_init_metadata_dict

返回 init 阶段 onnx 转换器的元数据字典。

get_onnx_metadata

给定训练数据,生成 ONNX 转换所需的元数据

initialize_input

使用给定的训练数据 X 初始化转换器。

请注意,X 必须是原始值,才能对其进行转换。 :param X: 应用转换之前的原始输入 X。

initialize_with_metadata

使用以前生成的 init 阶段元数据初始化 onnx 转换器。

is_initialized

返回转换器是否已初始化。

load_onnx_model

加载二进制格式的 ONNX 模型。

save_onnx_model

将 ONNX 模型保存到 ProtoBuf 对象二进制文件。

save_onnx_model_to_text_file

以文本格式保存 ONNX 模型。

convert

将具有给定子运行对象的 Python 模型转换为 ONNX 模型。

convert(raw_model: sklearn.pipeline.Pipeline, model_name: str = '', model_desc: Optional[Union[str, Dict[str, Any]]] = None) -> Tuple[Optional[onnx.onnx_ml_pb2.ModelProto], Optional[onnx.onnx_ml_pb2.ModelProto], Optional[onnx.onnx_ml_pb2.ModelProto], Optional[Dict[str, Any]]]

参数

raw_model
必需

要转换为 ONNX 的 sklearn 管道对象。

model_name
必需

模型的名称。

model_desc
默认值: None

模型描述。

get_converted_onnx_model_resource

获取转换后的 ONNX 模型的资源。

get_converted_onnx_model_resource() -> Dict[Any, Any]

get_init_metadata_dict

返回 init 阶段 onnx 转换器的元数据字典。

get_init_metadata_dict() -> Optional[Dict[str, Any]]

get_onnx_metadata

给定训练数据,生成 ONNX 转换所需的元数据

static get_onnx_metadata(X: Union[numpy.ndarray, pandas.core.frame.DataFrame, scipy.sparse.base.spmatrix, azureml.dataprep.api.dataflow.Dataflow], x_raw_column_names: Optional[numpy.ndarray] = None) -> Optional[Dict[str, Any]]

参数

X
必需

输入数据。

x_raw_column_names
默认值: None

返回

ONNX 转换使用的元数据字典。

initialize_input

使用给定的训练数据 X 初始化转换器。

请注意,X 必须是原始值,才能对其进行转换。 :param X: 应用转换之前的原始输入 X。

initialize_input(X: Union[numpy.ndarray, pandas.core.frame.DataFrame], x_raw_column_names: Optional[numpy.ndarray] = None, model_name: str = '', model_desc: Optional[Dict[Any, Any]] = None) -> None

参数

X
必需
x_raw_column_names
默认值: None
model_name
model_desc
默认值: None

initialize_with_metadata

使用以前生成的 init 阶段元数据初始化 onnx 转换器。

initialize_with_metadata(metadata_dict: Optional[Dict[str, Any]], model_name: str = '', model_desc: Optional[Dict[Any, Any]] = None) -> None

参数

metadata_dict
必需
model_name
model_desc
默认值: None

is_initialized

返回转换器是否已初始化。

is_initialized()

load_onnx_model

加载二进制格式的 ONNX 模型。

static load_onnx_model(file_path: str) -> onnx.onnx_ml_pb2.ModelProto

参数

file_path
必需

用于保存模型的路径(包括文件名)

返回

加载的 onnx 模型对象。

save_onnx_model

将 ONNX 模型保存到 ProtoBuf 对象二进制文件。

static save_onnx_model(onnx_model: onnx.onnx_ml_pb2.ModelProto, file_path: str) -> None

参数

model
必需

ONNX 模型

file_path
必需

ONNX 文件(完整文件名)

save_onnx_model_to_text_file

以文本格式保存 ONNX 模型。

static save_onnx_model_to_text_file(onnx_model: onnx.onnx_ml_pb2.ModelProto, file_path: str) -> None

参数

model
必需

ONNX 模型(对象)

file_path
必需

用于保存模型的路径(包括文件名)