Class ArrayTensorData
Represents internal Tensor
data backed by a managed array.
Inherited Members
Namespace: Unity.Sentis
Syntax
public class ArrayTensorData : ITensorData, IDisposable, IConvertibleToBurstTensorData, IConvertibleToComputeTensorData
Constructors
ArrayTensorData(TensorShape, Boolean)
Initializes and returns an instance of ArrayTensorData
, and allocates storage for a tensor with the shape of shape
.
Declaration
public ArrayTensorData(TensorShape shape, bool clearOnInit = true)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | The shape of the tensor data to allocate. |
Boolean | clearOnInit | Whether to zero the data on allocation. The default value is |
ArrayTensorData(TensorShape, NativeTensorArray, Int32, Boolean)
Initializes and returns an instance of ArrayTensorData
with given storage and offset.
Declaration
public ArrayTensorData(TensorShape shape, NativeTensorArray array, int offset = 0, bool clearOnInit = true)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | The shape of the tensor data. |
NativeTensorArray | array | The allocated data to use as backing data. |
Int32 | offset | The integer offset from the start of the backing array. The default value is 0. |
Boolean | clearOnInit | Whether to zero the data on instantiation. The default value is |
Properties
array
The NativeTensorArray
managed array containing the Tensor
data.
Declaration
public NativeTensorArray array { get; }
Property Value
Type | Description |
---|---|
NativeTensorArray |
deviceType
On what device backend are the data elements stored
Declaration
public DeviceType deviceType { get; }
Property Value
Type | Description |
---|---|
DeviceType |
Implements
maxCapacity
The maximum count of the stored data elements.
Declaration
public int maxCapacity { get; }
Property Value
Type | Description |
---|---|
Int32 |
Implements
shape
The shape of the tensor using this data as a TensorShape
.
Declaration
public TensorShape shape { get; }
Property Value
Type | Description |
---|---|
TensorShape |
Methods
ConvertToBurstTensorData(TensorShape)
Implement this method to convert to BurstTensorData
.
Declaration
public BurstTensorData ConvertToBurstTensorData(TensorShape shape)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape |
Returns
Type | Description |
---|---|
BurstTensorData |
Implements
ConvertToComputeTensorData(TensorShape)
Implement this method to convert to ComputeTensorData
.
Declaration
public ComputeTensorData ConvertToComputeTensorData(TensorShape shape)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape |
Returns
Type | Description |
---|---|
ComputeTensorData |
Implements
Dispose()
Disposes of the ArrayTensorData
and any associated memory.
Declaration
public void Dispose()
Implements
Download<T>(Int32, Int32)
Returns data from internal storage.
Declaration
public T[] Download<T>(int dstCount, int srcOffset = 0)
where T : struct
Parameters
Type | Name | Description |
---|---|---|
Int32 | dstCount | |
Int32 | srcOffset |
Returns
Type | Description |
---|---|
T[] |
Type Parameters
Name | Description |
---|---|
T |
Implements
Pin(Tensor, Boolean)
Moves the tensor into memory on the CPU backend device.
Declaration
public static ArrayTensorData Pin(Tensor X, bool uploadCache = true)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Boolean | uploadCache | Whether to also move the existing tensor data to the CPU. The default value is |
Returns
Type | Description |
---|---|
ArrayTensorData |
Reserve(Int32)
Reserves memory for count
elements.
Declaration
public void Reserve(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count |
Implements
ScheduleAsyncDownload()
Schedules asynchronous download of the internal data.
Declaration
public bool ScheduleAsyncDownload()
Returns
Type | Description |
---|---|
Boolean |
Implements
ToString()
Returns a summary of the storage used by the tensor array, as a string.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String |
Overrides
Upload<T>(T[], Int32, Int32)
Uploads the tensor data to internal storage.
Declaration
public void Upload<T>(T[] data, int srCount, int srcOffset = 0)
where T : struct
Parameters
Type | Name | Description |
---|---|---|
T[] | data | |
Int32 | srCount | |
Int32 | srcOffset |
Type Parameters
Name | Description |
---|---|
T |