Class TextureAsTensorData
Texture based Tensor
storage
Inherited Members
Namespace: Unity.Barracuda
Syntax
public class TextureAsTensorData : UniqueResource, ITensorData, IDisposable, ITensorDataStatistics, IUniqueResource
Constructors
TextureAsTensorData(Texture, Int32, TextureAsTensorData.Flip, TextureAsTensorData.InterpretDepthAs, TextureAsTensorData.InterpretColorAs)
Create TextureAsTensorData
from supplied texture
Declaration
public TextureAsTensorData(Texture texture, int interpretPixelAsChannels = null, TextureAsTensorData.Flip flip = TextureAsTensorData.Flip.Y, TextureAsTensorData.InterpretDepthAs depthAs = TextureAsTensorData.InterpretDepthAs.Batch, TextureAsTensorData.InterpretColorAs colorAs = TextureAsTensorData.InterpretColorAs.AverageMultipleChannels)
Parameters
Type | Name | Description |
---|---|---|
Texture | texture | texture |
Int32 | interpretPixelAsChannels | interpret pixel as channels |
TextureAsTensorData.Flip | flip | flip |
TextureAsTensorData.InterpretDepthAs | depthAs | depth as |
TextureAsTensorData.InterpretColorAs | colorAs | color as |
TextureAsTensorData(Texture[], Int32, TextureAsTensorData.Flip, TextureAsTensorData.InterpretDepthAs, TextureAsTensorData.InterpretColorAs)
Create TextureAsTensorData
from supplied textures
Declaration
public TextureAsTensorData(Texture[] textures, int interpretPixelAsChannels = null, TextureAsTensorData.Flip flip = TextureAsTensorData.Flip.Y, TextureAsTensorData.InterpretDepthAs depthAs = TextureAsTensorData.InterpretDepthAs.Batch, TextureAsTensorData.InterpretColorAs colorAs = TextureAsTensorData.InterpretColorAs.AverageMultipleChannels)
Parameters
Type | Name | Description |
---|---|---|
Texture[] | textures | backing textures |
Int32 | interpretPixelAsChannels | interpret pixel as channels |
TextureAsTensorData.Flip | flip | flip |
TextureAsTensorData.InterpretDepthAs | depthAs | depth as |
TextureAsTensorData.InterpretColorAs | colorAs | color as |
Properties
flip
Flip flag
Declaration
public TextureAsTensorData.Flip flip { get; }
Property Value
Type | Description |
---|---|
TextureAsTensorData.Flip |
interpretColorAs
Interpret color as
Declaration
public TextureAsTensorData.InterpretColorAs interpretColorAs { get; }
Property Value
Type | Description |
---|---|
TextureAsTensorData.InterpretColorAs |
interpretDepthAs
Interpret depth as
Declaration
public TextureAsTensorData.InterpretDepthAs interpretDepthAs { get; }
Property Value
Type | Description |
---|---|
TextureAsTensorData.InterpretDepthAs |
interpretPixelAsChannels
Interpret pixel as channels
Declaration
public int interpretPixelAsChannels { get; }
Property Value
Type | Description |
---|---|
Int32 |
inUse
Returns true if this tensor data is attached to any tensor.
Declaration
public virtual bool inUse { get; }
Property Value
Type | Description |
---|---|
Boolean |
Implements
isGPUMem
Returns true if this tensor data is reserved as GPU memory.
Declaration
public virtual bool isGPUMem { get; }
Property Value
Type | Description |
---|---|
Boolean |
Implements
maxCapacity
Returns the maximum number of element this tensorData can contain.
Declaration
public virtual int maxCapacity { get; }
Property Value
Type | Description |
---|---|
Int32 |
Implements
shape
Shape
Declaration
public TensorShape shape { get; }
Property Value
Type | Description |
---|---|
TensorShape |
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 |
---|---|---|
TensorShape | shape | the TensorShape (and thus length) of the data to copy |
Returns
Type | Description |
---|---|
Single[] | Tensor data as |
Implements
Reserve(Int32)
Reserve uninitialized memory.
Declaration
public virtual void Reserve(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count | element count to reserve |
Implements
ScheduleAsyncDownload(Int32)
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 |
---|---|---|
Int32 | count | count of elements to download |
Returns
Type | Description |
---|---|
Boolean |
|
Implements
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
public virtual 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 |
Implements
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
public virtual 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 |