Class TextureTensorData
Inheritance
TextureTensorData
Assembly: Unity.Barracuda.dll
Syntax
public class TextureTensorData : UniqueResourceId, ITensorData, IDisposable, ITensorDataStatistics, IUniqueResource
Constructors
TextureTensorData(TensorShape, string, bool)
Declaration
public TextureTensorData(TensorShape shape, string buffername, bool clearOnInit = true)
Parameters
Fields
MaxTextureSize
Declaration
public static int MaxTextureSize
Field Value
name
Declaration
Field Value
Properties
bufferAsTexture
Declaration
public RenderTexture bufferAsTexture { get; }
Property Value
dataType
Returns the type of the elements this tensorData can contain.
Declaration
public virtual DataType dataType { get; }
Property Value
inUse
Declaration
public virtual bool inUse { get; }
Property Value
isGPUMem
Declaration
public virtual bool isGPUMem { get; }
Property Value
maxCapacity
Returns the maximum number of element this tensorData can contain.
Declaration
public virtual int maxCapacity { get; }
Property Value
tensorBatchTilled
Declaration
public bool tensorBatchTilled { get; }
Property Value
tensorChannelTilled
Declaration
public bool tensorChannelTilled { get; }
Property Value
Methods
Dispose()
Declaration
public virtual void Dispose()
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
public virtual float[] Download(TensorShape shape)
Parameters
| Type |
Name |
Description |
| TensorShape |
shape |
the TensorShape (and thus length) of the data to copy
|
Returns
| Type |
Description |
| float[] |
Tensor data as float arrary
|
~TextureTensorData()
Declaration
protected ~TextureTensorData()
Reserve(int)
Reserve uninitialized memory.
Declaration
public virtual void Reserve(int count)
Parameters
| Type |
Name |
Description |
| int |
count |
element count to reserve
|
ScheduleAsyncDownload(int)
Schedule an asynchronous download from device memory.
count is the number of element to readback.
Declaration
public virtual bool ScheduleAsyncDownload(int count)
Parameters
| Type |
Name |
Description |
| int |
count |
count of elements to download
|
Returns
| Type |
Description |
| bool |
false until data from device arrives to CPU and is ready for access
|
SharedAccess(out int)
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
public virtual BarracudaArray SharedAccess(out int offset)
Parameters
| Type |
Name |
Description |
| int |
offset |
This function outputs offset from the beginning of the array to location of values for specific tensor. offset parameters is specified in float elements
|
Returns
| Type |
Description |
| BarracudaArray |
array filled with the values of multiple tensors that share the same tensorData on device
|
ToString()
Declaration
public override string ToString()
Returns
Overrides
Upload(float[], TensorShape, int)
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
public virtual void Upload(float[] data, TensorShape shape, int managedBufferStartIndex = 0)
Parameters
| Type |
Name |
Description |
| float[] |
data |
data as float array
|
| TensorShape |
shape |
Tensor shape
|
| int |
managedBufferStartIndex |
managed buffer start index
|
Implements
Extension Methods