Class Tensor
Represents data in a multidimensional array-like structure.
Inherited Members
Namespace: Unity.Sentis
Syntax
public abstract class Tensor : IDisposable
Constructors
Tensor(TensorShape, ITensorData, ITensorAllocator)
Create a Tensor with the specified shape, an ITensorData data and an ITensorAllocator allocator.
Declaration
protected Tensor(TensorShape shape, ITensorData data = null, ITensorAllocator allocator = null)
Parameters
| Type | Name | Description |
|---|---|---|
| TensorShape | shape | |
| ITensorData | data | |
| ITensorAllocator | allocator |
Fields
m_Disposed
Declaration
protected bool m_Disposed
Field Value
| Type | Description |
|---|---|
| Boolean |
m_Shape
Declaration
protected TensorShape m_Shape
Field Value
| Type | Description |
|---|---|
| TensorShape |
m_TensorAllocator
Declaration
protected ITensorAllocator m_TensorAllocator
Field Value
| Type | Description |
|---|---|
| ITensorAllocator |
m_TensorOnDevice
Declaration
protected ITensorData m_TensorOnDevice
Field Value
| Type | Description |
|---|---|
| ITensorData |
Properties
allocator
The allocator for the tensor. Refer to ITensorAllocator.
Declaration
public ITensorAllocator allocator { get; }
Property Value
| Type | Description |
|---|---|
| ITensorAllocator |
dataType
The data type of the elements of the tensor.
Declaration
public abstract DataType dataType { get; }
Property Value
| Type | Description |
|---|---|
| DataType |
shape
The shape of the tensor, as a TensorShape.
Declaration
public TensorShape shape { get; protected set; }
Property Value
| Type | Description |
|---|---|
| TensorShape |
tensorOnDevice
The device-specific internal representation of the tensor data.
Declaration
public ITensorData tensorOnDevice { get; protected set; }
Property Value
| Type | Description |
|---|---|
| ITensorData |
Methods
AsyncReadbackRequest(Action<Boolean>)
Schedules asynchronous download of the internal data.
Invokes callback when async readback is finished.
Boolean indicates if async readback is successful.
Declaration
public void AsyncReadbackRequest(Action<bool> callback = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Action<Boolean> | callback |
AttachToDevice(ITensorData)
Associates a tensor with the block of data on a device. Sentis downloads from source on first access.
Make sure source contains initialized and valid data that represents tensor values.
Declaration
public void AttachToDevice(ITensorData source)
Parameters
| Type | Name | Description |
|---|---|---|
| ITensorData | source |
CompleteAllPendingOperations()
Declaration
public void CompleteAllPendingOperations()
DeepCopy()
Returns a deep copy of the current Tensor.
Declaration
public abstract Tensor DeepCopy()
Returns
| Type | Description |
|---|---|
| Tensor |
DetachFromDevice(Boolean)
Synchronizes the tensor data with the data on the device, then remove the tensor from the device.
Declaration
public ITensorData DetachFromDevice(bool disposeDeviceData = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | disposeDeviceData |
Returns
| Type | Description |
|---|---|
| ITensorData |
Dispose()
Disposes of the tensor and any associated memory.
Declaration
public virtual void Dispose()
Implements
Finalize()
Dispose of the tensor and any associated memory.
Declaration
protected void Finalize()
IsAsyncReadbackRequestDone()
Checks if asynchronous readback request it done.
Returns true if async readback is successful.
Declaration
public bool IsAsyncReadbackRequestDone()
Returns
| Type | Description |
|---|---|
| Boolean |
MakeReadable()
Blocking call to make tensor data read write.
Issues a blocking download of the internal data. And converts tensorData to ArrayTensorData
Declaration
public void MakeReadable()
PinToDevice(ITensorData, Boolean)
Declaration
protected void PinToDevice(ITensorData onDevice, bool disposeUnpinned = true)
Parameters
| Type | Name | Description |
|---|---|---|
| ITensorData | onDevice | |
| Boolean | disposeUnpinned |
ShallowCopy()
Returns a shallow copy of the current Tensor. The copy shares data storage with original tensor.
Declaration
public Tensor ShallowCopy()
Returns
| Type | Description |
|---|---|
| Tensor |
ShallowReshape(TensorShape)
Returns a shallow copy of the Tensor with a new shape. The copy shares data storage with the original tensor.
newShape.length must be equal to this.shape.length.
Declaration
public abstract Tensor ShallowReshape(TensorShape newShape)
Parameters
| Type | Name | Description |
|---|---|---|
| TensorShape | newShape |
Returns
| Type | Description |
|---|---|
| Tensor |
TakeOwnership()
Removes system references to the tensor. The caller assumes ownership.
Declaration
public void TakeOwnership()
ToString()
Returns a string that represents the Tensor.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |
Overrides
UploadToDevice(ITensorData)
Declaration
public abstract void UploadToDevice(ITensorData destination)
Parameters
| Type | Name | Description |
|---|---|---|
| ITensorData | destination |