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) – 如果為 true,則將所有張量儲存到由位置指定的單個外部檔案。如果為 false,則將每個張量儲存到以張量名稱命名的檔案。

  • location – 指定要儲存所有張量的外部檔案,相對於模型。路徑是相對於模型路徑的。如果未指定,將使用模型名稱。

  • size_threshold – 資料大小的閾值。只有當張量的資料 >= size_threshold 時,才會將其轉換為外部資料。要將每個具有原始資料的張量轉換為外部資料,請設定 size_threshold=0。

  • convert_attribute (bool) – 如果為 true,則將所有張量轉換為外部資料。如果為 false,則僅將非屬性張量轉換為外部資料

ExternalDataInfo

class onnx.external_data_helper.ExternalDataInfo(tensor: TensorProto)[原始碼]

load_external_data_for_model

onnx.external_data_helper.load_external_data_for_model(model: ModelProto, base_dir: str) None[原始碼]

將外部張量載入模型

參數:
  • model – 要載入外部資料的 ModelProto

  • base_dir – 包含外部資料的目錄

load_external_data_for_tensor

onnx.external_data_helper.load_external_data_for_tensor(tensor: TensorProto, base_dir: str) None[原始碼]

從張量的外部檔案載入資料。理想情況下,TensorProto 不應包含任何原始資料,但如果包含,則會忽略它。

參數:
  • tensor – TensorProto 物件。

  • base_dir – 包含外部資料的目錄。

remove_external_data_field

onnx.external_data_helper.remove_external_data_field(tensor: TensorProto, field_key: str) None[原始碼]

從 Tensor 的 external_data 鍵值儲存中移除欄位。

就地修改 tensor 物件。

參數:
  • tensor (TensorProto) – 要從其中移除數值的 Tensor 物件

  • field_key (字串) – 要移除之欄位的鍵

save_external_data

onnx.external_data_helper.save_external_data(tensor: TensorProto, base_path: str) None[原始碼]

根據 external_data 欄位中的資訊,將 tensor 資料寫入外部檔案。

參數:
  • tensor (TensorProto) – 要序列化的 Tensor 物件

  • base_path – 要儲存 tensor 資料的資料夾之系統路徑

set_external_data

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[原始碼]

uses_external_data

onnx.external_data_helper.uses_external_data(tensor: TensorProto) bool[原始碼]

如果 tensor 將資料儲存在外部位置,則傳回 true。

write_external_data_tensors

onnx.external_data_helper.write_external_data_tensors(model: ModelProto, filepath: str) ModelProto[原始碼]

序列化資料,適用於所有資料位置設為 TensorProto.External 的 tensors。

注意:此函數也會從所有 tensors 的 external_data 欄位中移除 basepath 資訊。

參數:
  • model (ModelProto) – 作為要序列化之 tensors 來源的模型物件。

  • filepath – 應視為外部資料之基準路徑的目錄系統路徑。

傳回:

修改後的模型物件。

傳回類型:

ModelProto