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``s.

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 模型中心缓存位置。

参数::

new_dir – 新模型中心缓存的位置。

get_dir

onnx.hub.get_dir() str[source]

获取当前 ONNX hub 缓存位置。

返回值::

ONNX hub 模型缓存的位置。