docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Tensor

    Represents data in a multidimensional array-like structure.

    Ownership and lifetime:

    • Disposed needs to be called on the main thread.
    • Ownership is always to the owner of the object.

    Data Representation:

    • TensorShape represents the data layout of the tensor
    • Data is held by a tensorData (ITensorData) which can be on a given backend
    • Data is stored in a flattened row major format
    • Data can be pending (ie computation is being done in parallel)
      • call CompleteAllPendingOperations for a blocking call to finish computing the tensor's data Data can be in a non readable type (GPU/NPU)
      • Call CompleteAllPendingOperations to finish computing the tensor's data
      • Call ReadbackAndClone or ReadBackAndCloneAsync to allow reading the tensor's data

    Data manipulation

    • ToReadOnlyArray returns a copy of the tensor's data
    • dataOnBackend can be manipulated directly to avoid a unnecessary copy see ComputeTensorData/CPUTensorData for info
    Inheritance
    object
    Tensor
    Tensor<T>
    Implements
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Sentis
    Assembly: Unity.Sentis.dll
    Syntax
    public abstract class Tensor : IDisposable

    Properties

    backendType

    The backend type where the tensor data is currently stored.

    Declaration
    public BackendType backendType { get; }
    Property Value
    Type Description
    BackendType

    count

    The length of the tensor (32 bit stride).

    Declaration
    public int count { get; }
    Property Value
    Type Description
    int

    dataOnBackend

    The device-specific internal representation of the tensor data.

    Declaration
    public ITensorData dataOnBackend { get; }
    Property Value
    Type Description
    ITensorData

    dataType

    The data type of the elements of the tensor.

    Declaration
    public DataType dataType { get; }
    Property Value
    Type Description
    DataType

    shape

    The shape of the tensor, as a TensorShape.

    Declaration
    public TensorShape shape { get; }
    Property Value
    Type Description
    TensorShape

    Methods

    AdoptTensorData(ITensorData, bool)

    Associates a new tensor data to the tensor.

    Declaration
    public void AdoptTensorData(ITensorData tensorData, bool disposePrevious = true)
    Parameters
    Type Name Description
    ITensorData tensorData

    The new tensor data to associate to the tensor.

    bool disposePrevious

    Whether to dispose the previous tensor data.

    CompleteAllPendingOperations()

    Completes all scheduled tensor operations on device.

    Declaration
    public void CompleteAllPendingOperations()

    Dispose()

    Disposes of the tensor and any associated memory.

    Declaration
    public void Dispose()

    IsReadbackRequestDone()

    Checks if asynchronous readback request it done.

    Returns true if async readback is successful.

    Declaration
    public bool IsReadbackRequestDone()
    Returns
    Type Description
    bool

    Whether the async readback request is successful.

    ReadbackAndClone()

    Blocking download task of the internal data.

    Declaration
    public Tensor ReadbackAndClone()
    Returns
    Type Description
    Tensor

    CPU copy of the tensor.

    ReadbackRequest()

    Schedules asynchronous download of the internal data.

    Declaration
    public void ReadbackRequest()

    ReleaseTensorData()

    Sets the tensor data to null and return the previous one.

    Declaration
    public ITensorData ReleaseTensorData()
    Returns
    Type Description
    ITensorData

    The tensor data.

    Reshape(TensorShape)

    Changes the shape of a tensor without changing the backing data.

    The new shape must fit in the allocated backend tensor data, and the data cannot be on the GPUPixel backend.

    Declaration
    public abstract void Reshape(TensorShape shape)
    Parameters
    Type Name Description
    TensorShape shape

    The new shape for the tensor.

    ToString()

    Returns a string that represents the Tensor.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    String representation of tensor.

    Overrides
    object.ToString()

    Implements

    IDisposable

    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
    • Properties
      • backendType
      • count
      • dataOnBackend
      • dataType
      • shape
    • Methods
      • AdoptTensorData(ITensorData, bool)
      • CompleteAllPendingOperations()
      • Dispose()
      • IsReadbackRequestDone()
      • ReadbackAndClone()
      • ReadbackRequest()
      • ReleaseTensorData()
      • Reshape(TensorShape)
      • ToString()
    • Implements
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)