Skip to main content
The OrtSession class wraps an ONNX model and provides methods for running inference.

Package

Class Declaration

Creating Sessions

Sessions are created through OrtEnvironment, not directly constructed.

From File Path

From Byte Array

From ByteBuffer

Properties

getNumInputs()

Returns the number of model inputs.
Example:

getNumOutputs()

Returns the number of model outputs.

getInputNames()

Returns input names (ordered by input ID).
Example:

getOutputNames()

Returns output names (ordered by output ID).

getInputInfo()

Returns detailed input information including types and shapes.
Example:

getOutputInfo()

Returns detailed output information.

Running Inference

run(Map)

Runs inference with all outputs.
Parameters:
  • inputs: Map of input name to tensor
Returns: Result containing all outputs Example:

run(Map, Set)

Runs inference with specific output names.
Example:

run(Map, RunOptions)

Runs inference with custom run options.
Example:

run with Pre-allocated Outputs

Runs inference using pre-allocated output tensors.
Example:

Result Class

The Result class contains inference outputs.

Accessing Results

Extracting Data

SessionOptions

Configuration options for creating sessions.

Creating SessionOptions

Optimization Level

Execution Mode

Thread Configuration

Memory Configuration

Logging

Execution Providers

Custom Operators

Complete Examples

Batch Processing

Multi-threaded Inference

Model Metadata Inspection

Error Handling

Best Practices

  1. Always use try-with-resources: Ensures proper cleanup
  2. Reuse sessions: Create once, use many times
  3. Configure SessionOptions: Enable optimizations
  4. Close tensors: Free memory after use
  5. Thread-safe inference: Sessions support concurrent run() calls
  6. Handle exceptions: Catch OrtException for ONNX Runtime errors

See Also