onnx.backend

後端

class onnx.backend.base.Backend[原始碼]

後端是將 ONNX 模型與輸入一起使用、執行計算,然後傳回輸出的實體。

對於一次性執行,使用者可以使用 run_node 和 run_model 快速取得結果。

對於重複執行,使用者應使用 prepare,其中後端會完成重複執行模型的所有準備工作 (例如,載入初始化器),並傳回 BackendRep 控制代碼。

classmethod run_node(node: NodeProto, inputs: Any, device: str = 'CPU', outputs_info: Sequence[tuple[dtype, tuple[int, ...]]] | None = None, **kwargs: dict[str, Any]) tuple[Any, ...] | None[原始碼]

簡單執行一個運算符並傳回結果。

參數:
  • node – 節點原型。

  • inputs – 節點的輸入。

  • device – 要在其上執行的裝置。

  • outputs_info – 包含每個輸出的元素類型和形狀的元組清單。元組的第一個元素是 dtype,第二個元素是形狀。在 https://github.com/onnx/onnx/blob/main/onnx/backend/test/runner/__init__.py 中可以找到更多使用案例

  • kwargs – 其他關鍵字參數。

classmethod supports_device(device: str) bool[原始碼]

檢查後端是否使用特定的裝置支援進行編譯。特別是在測試套件中使用。

BackendRep

class onnx.backend.base.BackendRep[原始碼]

BackendRep 是 Backend 在準備重複執行模型後回傳的控制代碼。使用者接著會將輸入傳遞給 BackendRep 的 run 函式以取得對應的結果。

run(inputs: Any, **kwargs: Any) tuple[Any, ...][原始碼]

抽象函式。

裝置

class onnx.backend.base.Device(device: str)[原始碼]

描述裝置類型和裝置 ID,語法:device_type:device_id(選用),範例:'CPU'、'CUDA'、'CUDA:1'

裝置類型

class onnx.backend.base.DeviceType[原始碼]

描述裝置類型。

載入模型測試

onnx.backend.test.loader.load_model_tests(data_dir: str = '/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/onnx/backend/test/data', kind: str | None = None) list[TestCase][原始碼]

從磁碟上的資料檔案載入模型測試案例。