Class OnnxEngine
public class OnnxEngine : IDisposable
- Inheritance
-
OnnxEngine
- Implements
- Inherited Members
Constructors
OnnxEngine()
public OnnxEngine()
OnnxEngine(IOnnxSessionOptions)
public OnnxEngine(IOnnxSessionOptions options)
Parameters
optionsIOnnxSessionOptions
Properties
DefaultOutputDevice
public OutputBindingTarget DefaultOutputDevice { get; }
Property Value
InputMetadata
public IReadOnlyDictionary<string, NodeMetadata>? InputMetadata { get; }
Property Value
IsInitialized
public bool IsInitialized { get; }
Property Value
IsRunning
public bool IsRunning { get; }
Property Value
Options
public IOnnxSessionOptions? Options { get; }
Property Value
OutputMetadata
public IReadOnlyDictionary<string, NodeMetadata>? OutputMetadata { get; }
Property Value
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
Dispose()
public void Dispose()
GetAllInputDimensions()
public IReadOnlyDictionary<string, IReadOnlyCollection<long>> GetAllInputDimensions()
Returns
GetAllOutputData()
public IReadOnlyDictionary<string, OrtValue?> GetAllOutputData()
Returns
GetDimensions()
Obtient toutes les dimensions d'entrée et sortie
public (List<int[]>, List<int[]>) GetDimensions()
Returns
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
inputIndexintL'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
inputNamestringLe nom de l'entrée.
Returns
- IReadOnlyCollection<long>
Les dimensions d'entrée.
GetInputNames()
Liste les entrées
public IReadOnlyDictionary<int, string>? GetInputNames()
Returns
GetInputNames(int)
public string GetInputNames(int inputIndex)
Parameters
inputIndexint
Returns
GetOutputData(int)
public OrtValue? GetOutputData(int outputIndex)
Parameters
outputIndexint
Returns
GetOutputData(string)
public OrtValue? GetOutputData(string outputName)
Parameters
outputNamestring
Returns
GetOutputDimensions(int)
Obtient les dimensions de sortie pour un index de liaison de sortie spécifique.
public IReadOnlyCollection<long> GetOutputDimensions(int outputIndex = 0)
Parameters
outputIndexintL'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
outputNamestringLe nom de la sortie.
Returns
- IReadOnlyCollection<long>
Les dimensions de sortie.
GetOutputNames()
Liste les sorties
public IReadOnlyDictionary<int, string> GetOutputNames()
Returns
GetOutputNames(int)
public string GetOutputNames(int outputIndex)
Parameters
outputIndexint
Returns
Initialize(IOnnxSessionOptions)
public void Initialize(IOnnxSessionOptions options)
Parameters
optionsIOnnxSessionOptions
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
optionsIOnnxSessionOptionscancellationTokenCancellationToken
Returns
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
inputIndexint
Returns
ParseOutputIndex(int)
protected string ParseOutputIndex(int outputIndex)
Parameters
outputIndexint
Returns
RunInference(bool)
public void RunInference(bool clearInputAfterRun = true)
Parameters
clearInputAfterRunbool
RunInferenceAsync(bool, CancellationToken)
public Task RunInferenceAsync(bool clearInputAfterRun = true, CancellationToken cancellationToken = default)
Parameters
clearInputAfterRunboolcancellationTokenCancellationToken
Returns
SetInputData(OrtValue, int)
public void SetInputData(OrtValue ortValue, int inputIndex)
Parameters
SetInputData(OrtValue, string)
public void SetInputData(OrtValue ortValue, string inputName)
Parameters
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
batchSizeintThe batch size to use for dynamic input dimensions.
iterationsintNumber 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
batchSizeintThe batch size to use for dynamic input dimensions.
iterationsintNumber of warm-up iterations to run (default 1).
cancellationTokenCancellationTokenToken to cancel the operation.