欢迎访问宙启技术站
智能推送

onnxruntime中的SessionOptions()有哪些参数可供选择

发布时间:2023-12-28 03:15:41

在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官方文档中找到。