onnx.external_data_helper

convert_model_from_external_data

onnx.external_data_helper.convert_model_from_external_data(model: ModelProto) None[源代码]

调用将所有使用外部数据的张量设置为嵌入数据。save_model 在调用此函数后将所有张量数据保存为嵌入数据。

参数:

model (ModelProto) – 要转换的模型。

convert_model_to_external_data

onnx.external_data_helper.convert_model_to_external_data(model: ModelProto, all_tensors_to_one_file: bool = True, location: str | None = None, size_threshold: int = 1024, convert_attribute: bool = False) None[源代码]

调用将所有具有原始数据的张量设置为外部数据。此调用应在“save_model”之前进行。“save_model”在调用此函数后将所有张量数据保存为外部数据。

参数:
  • model (ModelProto) – 要转换的模型。

  • all_tensors_to_one_file (bool) – 如果为真,将所有张量保存到 location 指定的一个外部文件中。如果为假,将每个张量保存到以张量名称命名的文件中。

  • location – 指定相对于模型的所有要保存到的张量的外部文件。路径相对于模型路径。如果未指定,将使用模型名称。

  • size_threshold – 数据大小的阈值。只有当张量的数据 >= size_threshold 时,它才会被转换为外部数据。要将每个具有原始数据的张量转换为外部数据,请设置 size_threshold=0。

  • convert_attribute (bool) – 如果为真,将所有张量转换为外部数据。如果为假,仅将非属性张量转换为外部数据。

ExternalDataInfo

class onnx.external_data_helper.ExternalDataInfo(tensor: TensorProto)[source]

加载模型外部数据

onnx.external_data_helper.load_external_data_for_model(model: ModelProto, base_dir: str) None[source]

将外部张量加载到模型中

参数:
  • model – 要加载外部数据的 ModelProto

  • base_dir – 包含外部数据的目录

加载张量外部数据

onnx.external_data_helper.load_external_data_for_tensor(tensor: TensorProto, base_dir: str) None[source]

从外部文件加载张量数据。理想情况下,TensorProto 不应包含任何原始数据,但如果存在,它将被忽略。

参数:
  • tensor – TensorProto 对象。

  • base_dir – 包含外部数据的目录。

删除外部数据字段

onnx.external_data_helper.remove_external_data_field(tensor: TensorProto, field_key: str) None[source]

从张量的 external_data 键值存储中删除字段。

就地修改张量对象。

参数:
  • tensor (TensorProto) – 将从中删除值的张量对象

  • field_key (string) – 要删除的字段的键

保存外部数据

onnx.external_data_helper.save_external_data(tensor: TensorProto, base_path: str) None[source]

根据 external_data 字段中的信息将张量数据写入外部文件。

参数:
  • tensor (TensorProto) – 要序列化的张量对象

  • base_path – 要存储张量数据的文件夹的系统路径

设置外部数据

onnx.external_data_helper.set_external_data(tensor: TensorProto, location: str, offset: int | None = None, length: int | None = None, checksum: str | None = None, basepath: str | None = None) None[source]

使用外部数据

onnx.external_data_helper.uses_external_data(tensor: TensorProto) bool[source]

如果张量在外部位置存储数据,则返回 true。

写入外部数据张量

onnx.external_data_helper.write_external_data_tensors(model: ModelProto, filepath: str) ModelProto[source]

将所有数据位置设置为 TensorProto.External 的张量的数据序列化。

注意:此函数还会从所有张量的 external_data 字段中剥离基本路径信息。

参数:
  • model (ModelProto) – 模型对象,它是要序列化的张量的来源。

  • filepath – 应被视为外部数据基本路径的目录的系统路径。

返回值::

修改后的模型对象。

返回类型::

ModelProto