onnx.external_data_helper¶
从外部数据转换模型¶
- onnx.external_data_helper.convert_model_from_external_data(model: ModelProto) None[源代码]¶
调用此函数以将所有使用外部数据的张量设置为嵌入数据。 调用此函数后,save_model 将所有张量数据保存为嵌入数据。
- Parameters:
model (ModelProto) – 要转换的模型。
将模型转换为外部数据¶
- 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’在调用此函数后,将所有张量数据保存为外部数据。
- Parameters:
model (ModelProto) – 要转换的模型。
all_tensors_to_one_file (bool) – 如果为真,将所有张量保存到由位置指定的一个外部文件中。 如果为假,将每个张量保存到以张量名称命名的文件中。
location – 指定相对于模型的外部文件路径,所有要保存的张量都将保存到此文件中。 路径是相对于模型路径的。 如果未指定,将使用模型名称。
size_threshold – 数据大小的阈值。只有当张量的数据大小 >= size_threshold 时,它才会被转换为外部数据。要将每个具有原始数据的张量转换为外部数据,请设置 size_threshold=0。
convert_attribute (bool) – 如果为真,将所有张量转换为外部数据 如果为假,仅将非属性张量转换为外部数据
- Raises:
ValueError – 如果位置不是相对路径。
FileExistsError – 如果文件已经存在于该位置。
外部数据信息¶
- 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]¶
将外部张量加载到模型中
- Parameters:
model – 用于加载外部数据的ModelProto
base_dir – 包含外部数据的目录
加载外部数据到张量¶
- onnx.external_data_helper.load_external_data_for_tensor(tensor: TensorProto, base_dir: str) None[source]¶
从外部文件加载数据以用于张量。 理想情况下,TensorProto 不应包含任何原始数据,但如果包含,则将被忽略。
- Parameters:
tensor – 一个 TensorProto 对象。
base_dir – 包含外部数据的目录。
remove_external_data_field¶
- onnx.external_data_helper.remove_external_data_field(tensor: TensorProto, field_key: str) None[source]¶
从 Tensor 的 external_data 键值存储中移除一个字段。
就地修改张量对象。
- Parameters:
tensor (TensorProto) – 将从其中移除值的张量对象
field_key (string) – 要删除的字段的键
保存外部数据¶
- onnx.external_data_helper.save_external_data(tensor: TensorProto, base_path: str) None[source]¶
根据external_data字段中的信息将张量数据写入外部文件。
- Parameters:
tensor (TensorProto) – 要序列化的张量对象
base_path – 存储张量数据的文件夹的系统路径
set_external_data¶
使用外部数据¶
- onnx.external_data_helper.uses_external_data(tensor: TensorProto) bool[source]¶
如果张量将数据存储在外部位置,则返回 true。
write_external_data_tensors¶
- onnx.external_data_helper.write_external_data_tensors(model: ModelProto, filepath: str) ModelProto[source]¶
序列化所有数据位置设置为TensorProto.External的张量的数据。
注意:此函数还会从所有张量的external_data字段中去除基础路径信息。
- Parameters:
model (ModelProto) – 模型对象,它是要序列化的张量的来源。
filepath – 应被视为外部数据基础路径的目录的系统路径。
- Returns:
修改后的模型对象。
- Return type: