Class TextureAsTensorData
Texture based Tensor
storage
Inherited Members
Namespace: Unity.Barracuda
Assembly: solution.dll
Syntax
public class TextureAsTensorData : UniqueResourceId, ITensorData, IDisposable, ITensorDataStatistics, IUniqueResource
Constructors
TextureAsTensorData(Texture, int, Flip, InterpretDepthAs, InterpretColorAs)
Create TextureAsTensorData
from supplied texture
Declaration
public TextureAsTensorData(Texture texture, int interpretPixelAsChannels = -1, TextureAsTensorData.Flip flip = Flip.Y, TextureAsTensorData.InterpretDepthAs depthAs = InterpretDepthAs.Batch, TextureAsTensorData.InterpretColorAs colorAs = InterpretColorAs.AverageMultipleChannels)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | texture |
int | interpretPixelAsChannels | interpret pixel as channels |
Texture |
flip | flip |
Texture |
depthAs | depth as |
Texture |
colorAs | color as |
TextureAsTensorData(Texture[], int, Flip, InterpretDepthAs, InterpretColorAs)
Create TextureAsTensorData
from supplied textures
Declaration
public TextureAsTensorData(Texture[] textures, int interpretPixelAsChannels = -1, TextureAsTensorData.Flip flip = Flip.Y, TextureAsTensorData.InterpretDepthAs depthAs = InterpretDepthAs.Batch, TextureAsTensorData.InterpretColorAs colorAs = InterpretColorAs.AverageMultipleChannels)
Parameters
Type | Name | Description |
---|---|---|
Texture[] | textures | backing textures |
int | interpretPixelAsChannels | interpret pixel as channels |
Texture |
flip | flip |
Texture |
depthAs | depth as |
Texture |
colorAs | color as |
Exceptions
Type | Condition |
---|---|
Argument |
thrown if textures array is empty or texture types are different |
Invalid |
thrown if unsupported texture type is supplied |
TextureAsTensorData(Texture[], Flip, InterpretDepthAs, InterpretColorAs, Vector4, Vector4, int)
Create TextureAsTensorData
from supplied textures
Declaration
public TextureAsTensorData(Texture[] textures, TextureAsTensorData.Flip flip, TextureAsTensorData.InterpretDepthAs depthAs, TextureAsTensorData.InterpretColorAs colorAs, Vector4 scale, Vector4 bias, int interpretPixelAsChannels)
Parameters
Type | Name | Description |
---|---|---|
Texture[] | textures | backing textures |
Texture |
flip | flip |
Texture |
depthAs | depth as |
Texture |
colorAs | color as |
Vector4 | scale | multiplies |
Vector4 | bias | substracts |
int | interpretPixelAsChannels | interpret pixel as channels |
Exceptions
Type | Condition |
---|---|
Argument |
thrown if textures array is empty or texture types are different |
Invalid |
thrown if unsupported texture type is supplied |
Properties
bias
subtracts bias texture value
Declaration
public Vector4 bias { get; }
Property Value
Type | Description |
---|---|
Vector4 |
dataType
Returns the type of the elements this tensorData can contain.
Declaration
public virtual DataType dataType { get; }
Property Value
Type | Description |
---|---|
Data |
flip
Flip flag
Declaration
public TextureAsTensorData.Flip flip { get; }
Property Value
Type | Description |
---|---|
Texture |
inUse
Declaration
public virtual bool inUse { get; }
Property Value
Type | Description |
---|---|
bool |
interpretColorAs
Interpret color as
Declaration
public TextureAsTensorData.InterpretColorAs interpretColorAs { get; }
Property Value
Type | Description |
---|---|
Texture |
interpretDepthAs
Interpret depth as
Declaration
public TextureAsTensorData.InterpretDepthAs interpretDepthAs { get; }
Property Value
Type | Description |
---|---|
Texture |
interpretPixelAsChannels
Interpret pixel as channels
Declaration
public int interpretPixelAsChannels { get; }
Property Value
Type | Description |
---|---|
int |
isGPUMem
Declaration
public virtual bool isGPUMem { get; }
Property Value
Type | Description |
---|---|
bool |
maxCapacity
Returns the maximum number of element this tensorData can contain.
Declaration
public virtual int maxCapacity { get; }
Property Value
Type | Description |
---|---|
int |
scale
multiplies scales texture value
Declaration
public Vector4 scale { get; }
Property Value
Type | Description |
---|---|
Vector4 |
shape
Shape
Declaration
public TensorShape shape { get; }
Property Value
Type | Description |
---|---|
Tensor |
textures
Backing textures
Declaration
public Texture[] textures { get; }
Property Value
Type | Description |
---|---|
Texture[] |
Methods
Dispose()
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 |
---|---|---|
Tensor |
shape | the TensorShape (and thus length) of the data to copy |
Returns
Type | Description |
---|---|
float[] | Tensor data as |
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 |
|
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 |
Returns
Type | Description |
---|---|
Barracuda |
array filled with the values of multiple tensors that share the same tensorData on device |
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 |
Tensor |
shape | Tensor shape |
int | managedBufferStartIndex | managed buffer start index |