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 = None, 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 – 新模型中心缓存的位置。

get_dir

onnx.hub.get_dir() str[source]

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

返回值:

ONNX hub 模型缓存的位置。