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.InferenceEngine
    Assembly: Unity.InferenceEngine.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.

    ReadbackAndCloneAsync()

    Schedules asynchronous download task of the internal data.

    Declaration
    public Awaitable<Tensor> ReadbackAndCloneAsync()
    Returns
    Type Description
    Awaitable<Tensor>

    awaitable tensor on the cpu.

    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
    In This Article
    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)