Interface ITensorData
Interface for device dependent representation of Tensor data.
Namespace: Unity.Barracuda
Syntax
public interface ITensorData : IDisposable
Properties
maxCapacity
Returns the maximum number of element this tensorData can contain.
Declaration
int maxCapacity { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
Download(TensorShape)
Returns an array filled with the values of a tensor.
Depending on the implementation and underlying device this array might be a copy or direct reference to the tensor values.
This is a blocking call, unless data from device was requested via ScheduleAsyncDownload
beforehand and has already arrived.
Declaration
float[] Download(TensorShape shape)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | the TensorShape (and thus length) of the data to copy |
Returns
Type | Description |
---|---|
Single[] | Tensor data as |
Reserve(Int32)
Reserve uninitialized memory.
Declaration
void Reserve(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count | element count to reserve |
ScheduleAsyncDownload(Int32)
Schedule an asynchronous download from device memory.
count
is the number of element to readback.
Declaration
bool ScheduleAsyncDownload(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count | count of elements to download |
Returns
Type | Description |
---|---|
Boolean |
|
SharedAccess(out Int32)
Returns an array filled with the values of multiple tensors that share the same tensorData on device.
Depending on the implementation and underlying device this array might be a copy or direct reference to tensor values, no conversion from on device memory layout will occur.
This is a blocking call, unless data from device was requested via ScheduleAsyncDownload
beforehand and has already arrived.
Declaration
float[] SharedAccess(out int offset)
Parameters
Type | Name | Description |
---|---|---|
Int32 | offset | This function outputs |
Returns
Type | Description |
---|---|
Single[] | array filled with the values of multiple tensors that share the same tensorData on device |
Upload(Single[], TensorShape, Int32)
Initialize with data
.
shape
is the TensorShape (and thus length) of the data to copy.
managedBufferStartIndex
is the offset where to start the copy in the data
Declaration
void Upload(float[] data, TensorShape shape, int managedBufferStartIndex = 0)
Parameters
Type | Name | Description |
---|---|---|
Single[] | data | data as |
TensorShape | shape | Tensor shape |
Int32 | managedBufferStartIndex | managed buffer start index |