onnx.hub

ModelInfo

class onnx.hub.ModelInfo(raw_model_info: dict[str, Any])[源代码]

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

model

模型的名称。

model_path

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

metadata

模型的附加元数据,例如模型大小、输入输出端口等。

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[源代码]

从 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[源代码]

获取与给定名称和 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][源代码]

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

参数:
  • 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[源代码]

从 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[源代码]

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

参数:
  • 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[源代码]

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

参数:

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

get_dir

onnx.hub.get_dir() str[源代码]

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

返回:

ONNX hub 模型缓存的位置。