public static class OrtSession.SessionOptions
extends java.lang.Object
implements java.lang.AutoCloseable
Used to set the number of threads, optimisation level, computation backend and other options.
Modifying this after the session has been constructed will have no effect.
The SessionOptions object must not be closed until all sessions which use it are closed, as otherwise it could release resources that are in use.
Modifier and Type | Class and Description |
---|---|
static class |
OrtSession.SessionOptions.ExecutionMode
The execution mode to use.
|
static class |
OrtSession.SessionOptions.OptLevel
The optimisation level to use.
|
Constructor and Description |
---|
SessionOptions()
Create an empty session options.
|
Modifier and Type | Method and Description |
---|---|
void |
addACL(boolean useArena)
Adds the ARM Compute Library as an execution backend.
|
void |
addConfigEntry(java.lang.String configKey,
java.lang.String configValue)
Adds a single session configuration entry as a pair of strings.
|
void |
addCPU(boolean useArena)
Adds the CPU as an execution backend, using the arena allocator if desired.
|
void |
addCUDA()
Add CUDA as an execution backend, using device 0.
|
void |
addCUDA(int deviceNum)
Add CUDA as an execution backend, using the specified CUDA device id.
|
void |
addDirectML(int deviceId)
Adds DirectML as an execution backend.
|
void |
addDnnl(boolean useArena)
Adds Intel's Deep Neural Network Library as an execution backend.
|
void |
addNnapi()
Adds Android's NNAPI as an execution backend.
|
void |
addNuphar(boolean allowUnalignedBuffers,
java.lang.String settings)
Adds Nuphar as an execution backend.
|
void |
addOpenVINO(java.lang.String deviceId)
Adds OpenVINO as an execution backend.
|
void |
addTensorrt(int deviceNum)
Adds Nvidia's TensorRT as an execution backend.
|
void |
close()
Closes the session options, releasing any memory acquired.
|
void |
disableProfiling()
Disables profiling in sessions using this SessionOptions.
|
void |
enableProfiling(java.lang.String filePath)
Enables profiling in sessions using this SessionOptions.
|
java.util.Map<java.lang.String,java.lang.String> |
getConfigEntries()
Returns an unmodifiable view of the map contains all session configuration entries.
|
void |
registerCustomOpLibrary(java.lang.String path)
Registers a library of custom ops for use with
OrtSession s using this SessionOptions. |
void |
setCPUArenaAllocator(boolean useArena)
Sets the CPU to use an arena memory allocator.
|
void |
setExecutionMode(OrtSession.SessionOptions.ExecutionMode mode)
Sets the execution mode of this options object, overriding the old setting.
|
void |
setInterOpNumThreads(int numThreads)
Sets the size of the CPU thread pool used for executing multiple request concurrently, if
executing on a CPU.
|
void |
setIntraOpNumThreads(int numThreads)
Sets the size of the CPU thread pool used for executing a single graph, if executing on a
CPU.
|
void |
setLoggerId(java.lang.String loggerId)
Sets the logger id to use.
|
void |
setMemoryPatternOptimization(boolean memoryPatternOptimization)
Turns on memory pattern optimizations, where memory is preallocated if all shapes are known.
|
void |
setOptimizationLevel(OrtSession.SessionOptions.OptLevel level)
Sets the optimization level of this options object, overriding the old setting.
|
void |
setOptimizedModelFilePath(java.lang.String outputPath)
Sets the output path for the optimized model.
|
void |
setSessionLogLevel(OrtLoggingLevel logLevel)
Sets the Session's logging level.
|
void |
setSessionLogVerbosityLevel(int logLevel)
Sets the Session's logging verbosity level.
|
public void close()
close
in interface java.lang.AutoCloseable
public void setExecutionMode(OrtSession.SessionOptions.ExecutionMode mode) throws OrtException
mode
- The execution mode to use.OrtException
- If there was an error in native code.public void setOptimizationLevel(OrtSession.SessionOptions.OptLevel level) throws OrtException
level
- The optimization level to use.OrtException
- If there was an error in native code.public void setInterOpNumThreads(int numThreads) throws OrtException
numThreads
- The number of threads to use.OrtException
- If there was an error in native code.public void setIntraOpNumThreads(int numThreads) throws OrtException
numThreads
- The number of threads to use.OrtException
- If there was an error in native code.public void setOptimizedModelFilePath(java.lang.String outputPath) throws OrtException
outputPath
- The output path to write the model to.OrtException
- If there was an error in native code.public void setLoggerId(java.lang.String loggerId) throws OrtException
loggerId
- The logger id string.OrtException
- If there was an error in native code.public void enableProfiling(java.lang.String filePath) throws OrtException
filePath
- The file to write profile information to.OrtException
- If there was an error in native code.public void disableProfiling() throws OrtException
OrtException
- If there was an error in native code.public void setMemoryPatternOptimization(boolean memoryPatternOptimization) throws OrtException
memoryPatternOptimization
- If true enable memory pattern optimizations.OrtException
- If there was an error in native code.public void setCPUArenaAllocator(boolean useArena) throws OrtException
useArena
- If true use an arena memory allocator for the CPU execution provider.OrtException
- If there was an error in native code.public void setSessionLogLevel(OrtLoggingLevel logLevel) throws OrtException
logLevel
- The log level to use.OrtException
- If there was an error in native code.public void setSessionLogVerbosityLevel(int logLevel) throws OrtException
logLevel
- The logging verbosity to use.OrtException
- If there was an error in native code.public void registerCustomOpLibrary(java.lang.String path) throws OrtException
OrtSession
s using this SessionOptions.path
- The path to the library on disk.OrtException
- If there was an error loading the library.public void addConfigEntry(java.lang.String configKey, java.lang.String configValue) throws OrtException
configKey
- The config key string.configValue
- The config value string.OrtException
- If there was an error in native code.public java.util.Map<java.lang.String,java.lang.String> getConfigEntries()
public void addCUDA() throws OrtException
OrtException
- If there was an error in native code.public void addCUDA(int deviceNum) throws OrtException
deviceNum
- The CUDA device id.OrtException
- If there was an error in native code.public void addCPU(boolean useArena) throws OrtException
By default this backend is used, but if other backends are requested, it should be requested last.
useArena
- If true use the arena memory allocator.OrtException
- If there was an error in native code.public void addDnnl(boolean useArena) throws OrtException
useArena
- If true use the arena memory allocator.OrtException
- If there was an error in native code.public void addOpenVINO(java.lang.String deviceId) throws OrtException
deviceId
- The id of the OpenVINO execution device.OrtException
- If there was an error in native code.public void addTensorrt(int deviceNum) throws OrtException
deviceNum
- The id of the CUDA device.OrtException
- If there was an error in native code.public void addNnapi() throws OrtException
OrtException
- If there was an error in native code.public void addNuphar(boolean allowUnalignedBuffers, java.lang.String settings) throws OrtException
allowUnalignedBuffers
- Allow unaligned memory buffers.settings
- See the documentation for valid settings strings.OrtException
- If there was an error in native code.public void addDirectML(int deviceId) throws OrtException
deviceId
- The id of the DirectML device.OrtException
- If there was an error in native code.public void addACL(boolean useArena) throws OrtException
useArena
- If true use the arena memory allocator.OrtException
- If there was an error in native code.