Class OnnxEngine

Namespace
NT2I.ONNX.Engine
Assembly
NT2I.ONNX.Engine.dll
public class OnnxEngine : IDisposable
Inheritance
OnnxEngine
Implements
Inherited Members

Constructors

OnnxEngine()

public OnnxEngine()

OnnxEngine(IOnnxSessionOptions)

public OnnxEngine(IOnnxSessionOptions options)

Parameters

options IOnnxSessionOptions

Properties

DefaultOutputDevice

public OutputBindingTarget DefaultOutputDevice { get; }

Property Value

OutputBindingTarget

InputMetadata

public IReadOnlyDictionary<string, NodeMetadata>? InputMetadata { get; }

Property Value

IReadOnlyDictionary<string, NodeMetadata>

IsInitialized

public bool IsInitialized { get; }

Property Value

bool

IsRunning

public bool IsRunning { get; }

Property Value

bool

Options

public IOnnxSessionOptions? Options { get; }

Property Value

IOnnxSessionOptions

OutputMetadata

public IReadOnlyDictionary<string, NodeMetadata>? OutputMetadata { get; }

Property Value

IReadOnlyDictionary<string, NodeMetadata>

Methods

CleanModelFolder()

Nettoie le dossier du modèle.

public void CleanModelFolder()

CleanProfilingFile()

public void CleanProfilingFile()

ClearInput()

public void ClearInput()

DetachOutputData()

Returns all output OrtValues and transfers their ownership to the caller. The engine will no longer manage (or dispose) these OrtValues.

public List<OrtValue> DetachOutputData()

Returns

List<OrtValue>

A list of output OrtValues.

Dispose()

public void Dispose()

GetAllInputDimensions()

public IReadOnlyDictionary<string, IReadOnlyCollection<long>> GetAllInputDimensions()

Returns

IReadOnlyDictionary<string, IReadOnlyCollection<long>>

GetAllOutputData()

public IReadOnlyDictionary<string, OrtValue?> GetAllOutputData()

Returns

IReadOnlyDictionary<string, OrtValue>

GetDimensions()

Obtient toutes les dimensions d'entrée et sortie

public (List<int[]>, List<int[]>) GetDimensions()

Returns

(List<int[]>, List<int[]>)

Un tuple avec les listes des dimensions d'entrée et sortie.

GetInputDimensions(int)

Obtient les dimensions d'entrée pour un index de liaison d'entrée spécifique.

public IReadOnlyCollection<long> GetInputDimensions(int inputIndex = 0)

Parameters

inputIndex int

L'index de liaison d'entrée.

Returns

IReadOnlyCollection<long>

Les dimensions d'entrée.

GetInputDimensions(string)

Obtient les dimensions d'entrée pour un nom d'entrée spécifique.

public IReadOnlyCollection<long> GetInputDimensions(string inputName)

Parameters

inputName string

Le nom de l'entrée.

Returns

IReadOnlyCollection<long>

Les dimensions d'entrée.

GetInputNames()

Liste les entrées

public IReadOnlyDictionary<int, string>? GetInputNames()

Returns

IReadOnlyDictionary<int, string>

GetInputNames(int)

public string GetInputNames(int inputIndex)

Parameters

inputIndex int

Returns

string

GetOutputData(int)

public OrtValue? GetOutputData(int outputIndex)

Parameters

outputIndex int

Returns

OrtValue

GetOutputData(string)

public OrtValue? GetOutputData(string outputName)

Parameters

outputName string

Returns

OrtValue

GetOutputDimensions(int)

Obtient les dimensions de sortie pour un index de liaison de sortie spécifique.

public IReadOnlyCollection<long> GetOutputDimensions(int outputIndex = 0)

Parameters

outputIndex int

L'index de liaison de sortie.

Returns

IReadOnlyCollection<long>

Les dimensions de sortie.

GetOutputDimensions(string)

Obtient les dimensions de sortie pour un nom de sortie spécifique.

public IReadOnlyCollection<long> GetOutputDimensions(string outputName)

Parameters

outputName string

Le nom de la sortie.

Returns

IReadOnlyCollection<long>

Les dimensions de sortie.

GetOutputNames()

Liste les sorties

public IReadOnlyDictionary<int, string> GetOutputNames()

Returns

IReadOnlyDictionary<int, string>

GetOutputNames(int)

public string GetOutputNames(int outputIndex)

Parameters

outputIndex int

Returns

string

Initialize(IOnnxSessionOptions)

public void Initialize(IOnnxSessionOptions options)

Parameters

options IOnnxSessionOptions

InitializeAsync(IOnnxSessionOptions, CancellationToken)

Asynchronously initializes the engine. Wraps Initialize(IOnnxSessionOptions) in a Task.Run so the caller's thread is not blocked by the (synchronous) creation of the underlying InferenceSession — which can take seconds (model parsing) or minutes (TensorRT engine compilation on first run).

public Task InitializeAsync(IOnnxSessionOptions options, CancellationToken cancellationToken = default)

Parameters

options IOnnxSessionOptions
cancellationToken CancellationToken

Returns

Task

Remarks

ONNX Runtime exposes no native async constructor for InferenceSession; this method offloads the work to a thread-pool thread but is not true async I/O.

ParseInputIndex(int)

protected string ParseInputIndex(int inputIndex)

Parameters

inputIndex int

Returns

string

ParseOutputIndex(int)

protected string ParseOutputIndex(int outputIndex)

Parameters

outputIndex int

Returns

string

RunInference(bool)

public void RunInference(bool clearInputAfterRun = true)

Parameters

clearInputAfterRun bool

RunInferenceAsync(bool, CancellationToken)

public Task RunInferenceAsync(bool clearInputAfterRun = true, CancellationToken cancellationToken = default)

Parameters

clearInputAfterRun bool
cancellationToken CancellationToken

Returns

Task

SetInputData(OrtValue, int)

public void SetInputData(OrtValue ortValue, int inputIndex)

Parameters

ortValue OrtValue
inputIndex int

SetInputData(OrtValue, string)

public void SetInputData(OrtValue ortValue, string inputName)

Parameters

ortValue OrtValue
inputName string

WarmUp(int, int)

Runs dummy inference(s) to warm up the model. This can significantly speed up the first real inference. Note: This method will clear any existing input data set on the engine.

public void WarmUp(int batchSize = 1, int iterations = 1)

Parameters

batchSize int

The batch size to use for dynamic input dimensions.

iterations int

Number of warm-up iterations to run (default 1).

WarmUpAsync(int, int, CancellationToken)

Asynchronously runs dummy inference(s) to warm up the model.

public Task WarmUpAsync(int batchSize = 1, int iterations = 1, CancellationToken cancellationToken = default)

Parameters

batchSize int

The batch size to use for dynamic input dimensions.

iterations int

Number of warm-up iterations to run (default 1).

cancellationToken CancellationToken

Token to cancel the operation.

Returns

Task