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)

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    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.

    In This Article
    • Constructors
      • TensorFloat(Single)
      • TensorFloat(TensorShape, Single[])
      • TensorFloat(TensorShape, Single[], Int32)
    • Properties
      • dataType
      • isCacheNull
      • Item[Int32]
      • Item[Int32, Int32]
      • Item[Int32, Int32, Int32]
      • Item[Int32, Int32, Int32, Int32]
      • Item[Int32, Int32, Int32, Int32, Int32]
      • Item[Int32, Int32, Int32, Int32, Int32, Int32]
      • Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32]
      • Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32]
    • Methods
      • ClearCache()
      • DeepCopy()
      • PrepareCacheForAccess(Boolean)
      • ShallowReshape(TensorShape)
      • ToReadOnlyArray()
      • UploadIfDirty()
      • Zeros(TensorShape)
    • Extension Methods
    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