onnx.hub

ModelInfo

class onnx.hub.ModelInfo(raw_model_info: dict[str, Any])[source]

一个类,用于表示 ONNX Hub 中模型的属性和元数据。它从传入的 raw_model_info 字典中提取模型名称、路径、sha、标签等。

model

模型的名称。

model_path

模型路径,相对于模型动物园(https://github.com/onnx/models/)仓库根目录。

metadata

模型的额外元数据,例如模型大小、IO 端口等。

model_sha

模型文件的 SHA256 摘要。

tags

与模型关联的标签集合。

opset

模型的 opset 版本。

download_model_with_test_data

onnx.hub.download_model_with_test_data(model: str, repo: str = 'onnx/models:main', opset: int | None = None, force_reload: bool = False, silent: bool = False) str | None[source]

从 onnx 模型中心下载包含测试数据的模型,并返回文件已提取到的目录。用户有责任确保模型来自受信任的来源,并且数据可以安全地提取。

参数:
  • model – 清单中 onnx 模型的名称。此字段区分大小写

  • repo – 模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • opset – 要下载的模型的 opset。默认为 None 会自动选择最大的 opset

  • force_reload – 是否强制重新下载模型,即使它已在缓存中

  • silent – 如果仓库不受信任,是否抑制警告消息。

返回:

str 或 None

get_model_info

onnx.hub.get_model_info(model: str, repo: str = 'onnx/models:main', opset: int | None = None) ModelInfo[source]

获取与给定名称和 opset 匹配的模型信息。

参数:
  • model – 清单中 onnx 模型的名称。此字段区分大小写

  • repo – 模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • opset – 要获取的模型的 opset。默认为 None 将返回具有最大 opset 的模型。

返回:

ModelInfo.

list_models

onnx.hub.list_models(repo: str = 'onnx/models:main', model: str | None = None, tags: list[str] | None = None) list[ModelInfo][source]

获取与给定名称和标签一致的模型信息列表

参数:
  • repo – 模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • model – 要搜索的模型名称。如果为 None,将返回所有具有匹配标签的模型。

  • tags – 用于过滤模型的标签列表。如果为 None,将返回所有具有匹配名称的模型。

返回:

``ModelInfo`` 对象。

load

onnx.hub.load(model: str, repo: str = 'onnx/models:main', opset: int | None = None, force_reload: bool = False, silent: bool = False) ModelProto | None[source]

从 onnx 模型中心按名称下载模型。

参数:
  • model – 清单中 onnx 模型的名称。此字段区分大小写

  • repo – 模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • opset – 要下载的模型的 opset。默认为 None 会自动选择最大的 opset

  • force_reload – 是否强制重新下载模型,即使它已在缓存中

  • silent – 如果仓库不受信任,是否抑制警告消息。

返回:

ModelProto 或 None

load_composite_model

onnx.hub.load_composite_model(network_model: str, preprocessing_model: str, network_repo: str = 'onnx/models:main', preprocessing_repo: str = 'onnx/models:main', opset: int | None = None, force_reload: bool = False, silent: bool = False) ModelProto | None[source]

通过下载网络和预处理模型并将其组合成单个模型来构建包含数据预处理的复合模型

参数:
  • network_model – 清单中 onnx 模型的名称。

  • preprocessing_model – 预处理模型的名称。

  • network_repo – 模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • preprocessing_repo – 预处理模型仓库的位置,格式为“user/repo[:branch]”。如果未找到分支,将默认为“main”

  • opset – 要下载的模型的 opset。默认为 None 会自动选择最大的 opset

  • force_reload – 是否强制重新下载模型,即使它已在缓存中

  • silent – 如果仓库不受信任,是否抑制警告消息。

返回:

ModelProto 或 None

set_dir

onnx.hub.set_dir(new_dir: str) None[source]

设置当前的 ONNX hub 缓存位置。

参数:

new_dir – 新模型 hub 缓存的位置。

get_dir

onnx.hub.get_dir() str[source]

获取当前的 ONNX hub 缓存位置。

返回:

ONNX hub 模型缓存的位置。