Class TextureTensorData
Inheritance
TextureTensorData
Assembly: solution.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