Skip to main content
The ONNX Runtime Java API provides a comprehensive interface for running ONNX models in Java applications.

Package Structure

Quick Start

Maven Dependency

Add to your pom.xml:

Gradle Dependency

Add to your build.gradle:

Basic Usage

Core Classes

OrtEnvironment

The singleton environment that manages ONNX Runtime resources.

OrtSession

Represents a loaded ONNX model ready for inference.

OnnxTensor

Represents multi-dimensional array data.

Platform-Specific Packages

Standard CPU

GPU (CUDA)

Android

Resource Management

All ONNX Runtime objects implement AutoCloseable and must be properly closed.

Best Practice with try-with-resources

Manual Resource Management

Error Handling

Thread Safety

  • OrtEnvironment: Thread-safe singleton
  • OrtSession: Thread-safe for run() operations
  • OnnxTensor: Not thread-safe
  • SessionOptions: Not thread-safe

Complete Example: Image Classification

Logging Configuration

Performance Tips

  1. Reuse sessions: Create once, use many times
  2. Use SessionOptions: Enable optimizations
  3. Batch processing: Process multiple inputs together
  4. Proper resource cleanup: Always close resources
  5. Thread pool: Use multiple threads for parallel inference

Next Steps

Additional Resources