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
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.