VerificationOptions¶
- class torch.onnx.verification.VerificationOptions(flatten=True, ignore_none=True, check_shape=True, check_dtype=True, backend=OnnxBackend.ONNX_RUNTIME_CPU, rtol=0.001, atol=1e-07, remained_onnx_input_idx=None, acceptable_error_percentage=None)[source][source]¶
ONNX 导出验证的选项。
- 变量
flatten (bool) – 如果为 True,则将嵌套的列表/元组/字典输入解包为扁平化的 Tensor 列表以用于 ONNX。如果需要为 ONNX 保留嵌套结构,请将其设置为 False,这通常是导出 ScriptModule 的情况。默认为 True。
ignore_none (bool) – 是否忽略 torch 输出中的 None 类型,这通常是跟踪的情况。如果 torch 输出应保留 None 类型,请将其设置为 False,这通常是导出 ScriptModule 的情况。默认为 True。
check_shape (bool) – 是否检查 PyTorch 和 ONNX Runtime 输出之间的形状是否完全相同。设置为 False 以允许输出形状广播。默认为 True。
check_dtype (bool) – 是否检查 PyTorch 和 ONNX Runtime 输出之间的数据类型是否一致。默认为 True。
backend (OnnxBackend) – 用于验证的 ONNX 后端。默认为 OnnxBackend.ONNX_RUNTIME_CPU。
rtol (float) – ONNX 和 PyTorch 输出之间比较的相对容差。
atol (float) – ONNX 和 PyTorch 输出之间比较的绝对容差。
remained_onnx_input_idx (Sequence[int] | None) – 如果提供,则只有指定的输入将传递到 ONNX 模型。当模型中存在未使用的输入时,请提供列表。由于未使用的输入将在导出的 ONNX 模型中删除,因此提供所有输入将导致意外输入的错误。此参数告诉验证器要将哪些输入传递到 ONNX 模型中。
acceptable_error_percentage (float | None) – 比较中可接受的元素不匹配百分比。它应该是介于 0.0 和 1.0 之间的浮点值。