EngineConfig
-
説明:
ONNXEngineの高レベル設定(dataclass)で、onnxruntime の session/provider/run オプションをまとめて管理します。 -
依存関係
onnxruntimeが必要です。
-
主なフィールド
- graph_optimization:
"disable" | "basic" | "extended" | "all"(またはonnxruntime.GraphOptimizationLevel)。 - execution_mode:
"sequential" | "parallel"(またはonnxruntime.ExecutionMode)。 - intra_op_num_threads / inter_op_num_threads: スレッド数。
- provider_options: provider 名をキーとする options(engine のデフォルトとマージされます)。
- fallback_to_cpu: 指定 provider が使えない場合に CPU へフォールバックするかどうか。
- enable_io_binding: IO binding を有効にします(コピー削減が期待できますが、挙動は provider に依存します)。
- enable_profiling: ORT profiling を有効にします。
- graph_optimization:
-
例
import numpy as np
from capybara.onnxengine import EngineConfig, ONNXEngine
cfg = EngineConfig(
graph_optimization="all",
enable_io_binding=False,
fallback_to_cpu=True,
)
engine = ONNXEngine("model.onnx", backend="cpu", config=cfg)
outputs = engine.run({"input": np.ones((1, 3, 224, 224), dtype=np.float32)})
print(outputs.keys())