Interface ISharedTensorHandle
- Namespace
- NT2I.ONNX.Abstractions.Interfaces.Hub
- Assembly
- NT2I.ONNX.Abstractions.dll
Handle léger refcompté représentant un tenseur de pré-traitement partagé entre plusieurs
modèles ONNX. Le buffer sous-jacent (CPU float[] ou pointeur GPU) reste la propriété
du SharedImageContext émetteur ; l'Dispose() du handle se
contente de décrémenter le refcount, sans libérer la mémoire elle-même.
Le handle ne possède pas l'OrtValue qui le wrappera côté moteur d'inférence :
chaque OnnxEngine consommateur crée son propre OrtValue par-dessus le pointeur
(via OrtValueHelper.FromCudaPointer ou FromCpuBuffer). Cela évite tout problème
de double-Dispose lié au ClearInput() de l'engine.
Utilisé conjointement avec GetTensor(IModelInputRequirements).
public interface ISharedTensorHandle : IDisposable
- Inherited Members
Properties
CpuBuffer
float[]? CpuBuffer { get; }
Property Value
- float[]
Device
Périphérique sur lequel le tenseur réside (CPU = CpuBuffer valide, GPU = DevicePointer valide).
DataHandlingDeviceEnum Device { get; }
Property Value
DevicePointer
nint DevicePointer { get; }
Property Value
ReferenceCount
Indique combien de consommateurs détiennent encore une référence active sur ce handle. Le buffer sous-jacent ne peut être réellement libéré (par le contexte propriétaire) que lorsque ce compteur retombe à zéro.
int ReferenceCount { get; }
Property Value
Shape
Forme du tenseur, conventionnellement [batchSize, channels, height, width].
long[] Shape { get; }
Property Value
- long[]