onnxruntime中的SessionOptions()有哪些参数可供选择
在ONNX Runtime库中,SessionOptions类用于配置运行会话的选项。它可以接受多个参数来自定义会话的行为。下面是一些常用的参数及其用法示例:
1. enable_cpu_mem_arena:使用内存管理器,开启后会在CPU上分配内存。默认为true。
from onnxruntime import SessionOptions options = SessionOptions() options.enable_cpu_mem_arena = True
2. enable_mem_pattern:优化内存模式,可以减少内存使用。默认为true。
from onnxruntime import SessionOptions options = SessionOptions() options.enable_mem_pattern = True
3. execution_mode:设置执行模式,可以是Sequential(按顺序)或Parallel(并行执行)。默认为Sequential。
from onnxruntime import SessionOptions options = SessionOptions() options.execution_mode = 'Parallel'
4. graph_optimization_level:设置图优化级别,可以是0(禁用优化), 1(基本优化),2(全部优化)。默认为2。
from onnxruntime import SessionOptions options = SessionOptions() options.graph_optimization_level = 1
5. intra_op_num_threads和inter_op_num_threads:设置线程数,以控制操作的并发度。默认为0,表示使用系统默认值。
from onnxruntime import SessionOptions options = SessionOptions() options.intra_op_num_threads = 4 options.inter_op_num_threads = 2
6. graph_optimization_flags:设置图优化标志,可以是过程中的 GraphOptimizerFlags 枚举之一。
from onnxruntime import SessionOptions, GraphOptimizerFlags options = SessionOptions() options.graph_optimization_flags = GraphOptimizerFlags.DEFAULT | GraphOptimizerFlags.EVAL
7. log_severity_level:设置日志的详细级别,可以是LogSeverity.Level,默认为LogSeverity.WARNING。
from onnxruntime import SessionOptions, LogSeverity options = SessionOptions() options.log_severity_level = LogSeverity.INFO
8. log_verbosity_level:设置日志的冗余级别,可以是LogVerbosity.Level,默认为LogVerbosity.ERROR。
from onnxruntime import SessionOptions, LogVerbosity options = SessionOptions() options.log_verbosity_level = LogVerbosity.VERBOSE
9. logid:设置会话的 标识符,用于关联日志。默认为空。
from onnxruntime import SessionOptions options = SessionOptions() options.logid = 'my_session'
这些参数是ONNX Runtime库中SessionOptions类的一部分,你可以根据应用的需求选择适合的参数进行配置。以上是一些常用的参数及其用法示例,更多参数和选项可以在ONNX Runtime官方文档中找到。
