docs.unity3d.com
    Show / Hide Table of Contents

    Class TensorFloat

    Represents data in a multidimensional array-like structure of floats.

    Inheritance
    Object
    Tensor
    TensorFloat
    Inherited Members
    Tensor.m_TensorOnDevice
    Tensor.m_TensorAllocator
    Tensor.m_Shape
    Tensor.m_CacheIsDirty
    Tensor.m_Disposed
    Tensor.shape
    Tensor.tensorOnDevice
    Tensor.allocator
    Tensor.UploadToDevice(ITensorData, Boolean)
    Tensor.AllocateOnDevice(ITensorData)
    Tensor.AttachToDevice(ITensorData)
    Tensor.DetachFromDevice(Boolean)
    Tensor.FlushCache(Boolean)
    Tensor.ShallowCopy()
    Tensor.TakeOwnership()
    Tensor.Dispose()
    Tensor.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Sentis
    Syntax
    public class TensorFloat : Tensor, IDisposable

    Constructors

    TensorFloat(Single)

    Initializes and returns a scalar tensor with the value of srcData.

    Declaration
    public TensorFloat(float srcData)
    Parameters
    Type Name Description
    Single srcData

    TensorFloat(TensorShape, Single[])

    Initializes and returns a tensor with the specified shape and a float[] array of srcData data.

    Declaration
    public TensorFloat(TensorShape shape, float[] srcData)
    Parameters
    Type Name Description
    TensorShape shape
    Single[] srcData

    TensorFloat(TensorShape, Single[], Int32)

    Initializes and returns a tensor with specified shape and a float[] array of srcData data. Sentis reads srcData from dataStartIndex. You can provide an optional debug name.

    srcData.Length - dataStartIndex must be bigger than or equal to shape.length.

    Declaration
    public TensorFloat(TensorShape shape, float[] srcData, int dataStartIndex = 0)
    Parameters
    Type Name Description
    TensorShape shape
    Single[] srcData
    Int32 dataStartIndex

    Properties

    dataType

    The data type of the elements of the tensor.

    Declaration
    public override DataType dataType { get; }
    Property Value
    Type Description
    DataType
    Overrides
    Tensor.dataType

    isCacheNull

    Declaration
    protected override bool isCacheNull { get; }
    Property Value
    Type Description
    Boolean
    Overrides
    Tensor.isCacheNull

    Item[Int32]

    Returns the tensor element at offset d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32]

    Returns the tensor element at offset (d1, d0), which is position d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32]

    Returns the tensor element at offset (d2, d1, d0), which is position d2 * stride1 + d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32, Int32]

    Returns the tensor element at offset (d3, d2, d1, d0), which is position d3 * stride2 + d2 * stride1 + d1 * stride0 + d0 in this tensor.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d3, int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d3
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32, Int32, Int32]

    Returns the tensor element at offset (d4, d3, d2, d1, d0), which is position d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d4, int d3, int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d4
    Int32 d3
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32, Int32, Int32, Int32]

    Returns the tensor element at offset (d5, d4, d3, d2, d1, d0), which is position d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d5
    Int32 d4
    Int32 d3
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32]

    Returns the tensor element at offset (d6, d5, d4, d3, d2, d1, d0), which is position d6 * stride5 + d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d6, int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d6
    Int32 d5
    Int32 d4
    Int32 d3
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32]

    Returns the tensor element at offset (d7, d6, d5, d4, d3, d2, d1, d0), which is position d7 * stride6 + d6 * stride5 + d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    Declaration
    public float this[int d7, int d6, int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
    Parameters
    Type Name Description
    Int32 d7
    Int32 d6
    Int32 d5
    Int32 d4
    Int32 d3
    Int32 d2
    Int32 d1
    Int32 d0
    Property Value
    Type Description
    Single

    Methods

    ClearCache()

    Declaration
    protected override void ClearCache()
    Overrides
    Tensor.ClearCache()

    DeepCopy()

    Returns a deep copy of the current Tensor.

    Declaration
    public override Tensor DeepCopy()
    Returns
    Type Description
    Tensor
    Overrides
    Tensor.DeepCopy()

    PrepareCacheForAccess(Boolean)

    Read data from the device and write it to the cache.

    The default value of blocking is true, which means this method is a blocking read.

    When the value of blocking is false, the read is non-blocking. You can keep calling the method to get the status of the asynchronous download. You can access the tensor data when the method returns true.

    Declaration
    public override bool PrepareCacheForAccess(bool blocking = true)
    Parameters
    Type Name Description
    Boolean blocking
    Returns
    Type Description
    Boolean
    Overrides
    Tensor.PrepareCacheForAccess(Boolean)

    ShallowReshape(TensorShape)

    Returns a shallow copy of the Tensor with a new shape. The copy shares data storage with the original tensor.

    newShape.length must be equal to this.shape.length.

    Declaration
    public override Tensor ShallowReshape(TensorShape newShape)
    Parameters
    Type Name Description
    TensorShape newShape
    Returns
    Type Description
    Tensor
    Overrides
    Tensor.ShallowReshape(TensorShape)

    ToReadOnlyArray()

    Returns the cached linear memory representation of the data in this tensor.

    If the tensor is the result of computation on a different device, the method creates a blocking read.

    If you modify the contents of the returned array, the behaviour is undefined.

    Declaration
    public float[] ToReadOnlyArray()
    Returns
    Type Description
    Single[]

    UploadIfDirty()

    Declaration
    protected override void UploadIfDirty()
    Overrides
    Tensor.UploadIfDirty()

    Zeros(TensorShape)

    Initializes and returns a tensor with the specified shape and filled with 0.

    Declaration
    public static TensorFloat Zeros(TensorShape shape)
    Parameters
    Type Name Description
    TensorShape shape
    Returns
    Type Description
    TensorFloat

    Extension Methods

    TensorExtensions.PrintDataPart(Tensor, Int32, String)
    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