docs.unity3d.com
    Show / Hide Table of Contents

    Class TextureAsTensorData

    Texture based Tensor storage

    Inheritance
    Object
    UniqueResourceId
    TextureAsTensorData
    Inherited Members
    UniqueResourceId.uniqueId
    UniqueResourceId.GetUniqueId()
    Namespace: Unity.Barracuda
    Syntax
    public class TextureAsTensorData : UniqueResourceId, 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

    TextureAsTensorData(Texture[], TextureAsTensorData.Flip, TextureAsTensorData.InterpretDepthAs, TextureAsTensorData.InterpretColorAs, Vector4, Vector4, Int32)

    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

    TextureAsTensorData.Flip flip

    flip

    TextureAsTensorData.InterpretDepthAs depthAs

    depth as

    TextureAsTensorData.InterpretColorAs colorAs

    color as

    Vector4 scale

    multiplies scale to texture values

    Vector4 bias

    substracts bias from texture values

    Int32 interpretPixelAsChannels

    interpret pixel as channels

    Properties

    bias

    subtracts bias texture value

    Declaration
    public Vector4 bias { get; }
    Property Value
    Type Description
    Vector4

    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

    Declaration
    public virtual bool inUse { get; }
    Property Value
    Type Description
    Boolean

    isGPUMem

    Declaration
    public virtual bool isGPUMem { get; }
    Property Value
    Type Description
    Boolean

    maxCapacity

    Returns the maximum number of element this tensorData can contain.

    Declaration
    public virtual int maxCapacity { get; }
    Property Value
    Type Description
    Int32
    Implements
    ITensorDataStatistics.maxCapacity

    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
    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 float arrary

    Implements
    ITensorData.Download(TensorShape)

    Reserve(Int32)

    Reserve uninitialized memory.

    Declaration
    public virtual void Reserve(int count)
    Parameters
    Type Name Description
    Int32 count

    element count to reserve

    Implements
    ITensorData.Reserve(Int32)

    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

    false until data from device arrives to CPU and is ready for access

    Implements
    ITensorData.ScheduleAsyncDownload(Int32)

    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 BarracudaArray SharedAccess(out int offset)
    Parameters
    Type Name Description
    Int32 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

    Implements
    ITensorData.SharedAccess(out Int32)

    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 float array

    TensorShape shape

    Tensor shape

    Int32 managedBufferStartIndex

    managed buffer start index

    Implements
    ITensorData.Upload(Single[], TensorShape, Int32)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023