docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct TensorShape

    Represents the shape of a tensor.

    Inherited Members
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Sentis
    Assembly: Unity.Sentis.dll
    Syntax
    [Serializable]
    public struct TensorShape

    Constructors

    TensorShape(int)

    Initializes and returns an instance of TensorShape with a rank of 1: (d0).

    For example (9).

    Declaration
    public TensorShape(int d0)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    TensorShape(int, int)

    Initializes and returns an instance of TensorShape with a rank of 2: (d0, d1).

    For example (8, 9).

    Declaration
    public TensorShape(int d0, int d1)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    TensorShape(int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 3: (d0, d1, d2).

    For example (7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    TensorShape(int, int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 4: (d0, d1, d2, d3).

    For example (6, 7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2, int d3)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    int d3

    Length of axis 3.

    TensorShape(int, int, int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 5: (d0, d1, d2, d3, d4).

    For example (5, 6, 7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2, int d3, int d4)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    int d3

    Length of axis 3.

    int d4

    Length of axis 4.

    TensorShape(int, int, int, int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 6: (d0, d1, d2, d3, d4, d5).

    For example (4, 5, 6, 7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2, int d3, int d4, int d5)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    int d3

    Length of axis 3.

    int d4

    Length of axis 4.

    int d5

    Length of axis 5.

    TensorShape(int, int, int, int, int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 7: (d0, d1, d2, d3, d4, d5, d6).

    For example (3, 4, 5, 6, 7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2, int d3, int d4, int d5, int d6)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    int d3

    Length of axis 3.

    int d4

    Length of axis 4.

    int d5

    Length of axis 5.

    int d6

    Length of axis 6.

    TensorShape(int, int, int, int, int, int, int, int)

    Initializes and returns an instance of TensorShape with a rank of 8: (d0, d1, d2, d3, d4, d5, d6, d7).

    For example (2, 3, 4, 5, 6, 7, 8, 9).

    Declaration
    public TensorShape(int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7)
    Parameters
    Type Name Description
    int d0

    Length of axis 0.

    int d1

    Length of axis 1.

    int d2

    Length of axis 2.

    int d3

    Length of axis 3.

    int d4

    Length of axis 4.

    int d5

    Length of axis 5.

    int d6

    Length of axis 6.

    int d7

    Length of axis 7.

    TensorShape(ReadOnlySpan<int>)

    Initializes and returns an instance of TensorShape with a given shape. For example: TensorShape(new [] {3, 4, 5, 6}) returns a tensor with a shape of (3, 4, 5, 6).

    Declaration
    public TensorShape(ReadOnlySpan<int> shape)
    Parameters
    Type Name Description
    ReadOnlySpan<int> shape

    The shape as a span.

    Fields

    maxRank

    The maximum rank a TensorShape can have.

    Declaration
    public const int maxRank = 8
    Field Value
    Type Description
    int

    Properties

    this[int]

    Gets or sets the tensor shape at a given axis. A negative axis counts backwards from the inner dimension.

    Declaration
    public int this[int axis] { get; set; }
    Parameters
    Type Name Description
    int axis

    The axis to get or set.

    Property Value
    Type Description
    int

    length

    The number of elements represented by the TensorShape. For example a shape of (1, 2, 3, 4) represents 24 elements: 1 * 2 * 3 * 4.

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

    rank

    The rank of a TensorShape. For example, a tensor of shape (5) has a rank of 1. A tensor of shape (7, 3, 5) has a rank of 3.

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

    Methods

    Broadcast(TensorShape)

    Creates a TensorShape by applying numpy-style broadcasting between this and other.

    Sentis broadcasts shapes from innermost to outermost dimensions. Two dimensions are compatible when they're equal, or one of the dimensions is 1.

    Declaration
    public TensorShape Broadcast(TensorShape other)
    Parameters
    Type Name Description
    TensorShape other

    The other tensor shape which which to broadcast.

    Returns
    Type Description
    TensorShape

    The broadcast tensor shape.

    Equals(object)

    Determines whether the specified object is equal to the current TensorShape.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    object obj

    The object to compare to the shape.

    Returns
    Type Description
    bool

    Whether the object is equal to the shape.

    Overrides
    ValueType.Equals(object)

    Flatten()

    Creates a TensorShape by duplicating this and flattening to a 1D shape of the same length.

    For example, if this is (2, 3, 4), the method returns (2 * 3 * 4).

    Declaration
    public TensorShape Flatten()
    Returns
    Type Description
    TensorShape

    The flattened tensor shape.

    GetHashCode()

    Serves as the default hash function.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int

    The hash code of the tensor shape.

    Overrides
    ValueType.GetHashCode()

    HasZeroDims()

    Calculates whether any axes are length 0. In this case the length is also 0.

    Declaration
    public bool HasZeroDims()
    Returns
    Type Description
    bool

    Whether the shape has any axes that are length 0.

    Length(int)

    Returns the number of elements represented by the TensorShape, starting from a given axis. A negative axis counts backwards from the inner dimension.

    Declaration
    public int Length(int start)
    Parameters
    Type Name Description
    int start

    The first axis to count length from.

    Returns
    Type Description
    int

    The number of elements in the shape.

    Length(int, int)

    Returns the number of elements represented by the TensorShape, between the start and end axes. Negative axes counts backwards from the inner dimension.

    Declaration
    public int Length(int start, int end)
    Parameters
    Type Name Description
    int start

    The first axis to count length from.

    int end

    The exclusive final axis to count length to.

    Returns
    Type Description
    int

    The number of elements in the shape.

    Ones(int)

    Creates a TensorShape with a given rank where all of the dimensions are 1. For example if rank is 3, the method returns (1, 1, 1).

    Declaration
    public static TensorShape Ones(int rank)
    Parameters
    Type Name Description
    int rank

    The rank of the tensor shape.

    Returns
    Type Description
    TensorShape

    The created tensor shape.

    Reduce(int, bool)

    Removes a dimension at axis. For example, if this is (2, 3, 4, 5), the value of axis is 1, and the value of keepDim is true, the method returns (2, 1, 4, 5).

    Declaration
    public TensorShape Reduce(int axis, bool keepDim = true)
    Parameters
    Type Name Description
    int axis

    The axis along which to reduce.

    bool keepDim

    When the value is true, Sentis replaces the dimension with 1.

    Returns
    Type Description
    TensorShape

    The reduced tensor shape.

    Squeeze()

    Creates a TensorShape by duplicating this and removing the dimensions of size 1. For example, if this is (5, 1, 3, 1), the method returns (5, 3).

    Declaration
    public TensorShape Squeeze()
    Returns
    Type Description
    TensorShape

    The squeezed tensor shape.

    Squeeze(int)

    Creates a TensorShape by duplicating this and removing the given axis of size 1. For example, if this is (5, 1, 3, 1), and axis is 1, the method returns (5, 3, 1).

    Declaration
    public TensorShape Squeeze(int axis)
    Parameters
    Type Name Description
    int axis

    The axis to squeeze.

    Returns
    Type Description
    TensorShape

    The squeezed tensor shape.

    ToArray()

    Returns the TensorShape as an array of integers. For example if the TensorShape is (5, 2, 3, 4), the method returns new[] {5, 2, 3, 4}.

    Declaration
    public int[] ToArray()
    Returns
    Type Description
    int[]

    An integer array representation of the shape.

    ToString()

    Returns a string that represents the TensorShape.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    String representation of shape.

    Overrides
    ValueType.ToString()

    Unsqueeze(int)

    Creates a TensorShape by duplicating this and inserting a dimension of size one at a given axis. For example if this is (2), and the value of axis is 0, the method returns (1, 2).

    Declaration
    public TensorShape Unsqueeze(int axis)
    Parameters
    Type Name Description
    int axis

    The axis at which to unsqueeze.

    Returns
    Type Description
    TensorShape

    The unsqueezed tensor shape.

    Operators

    operator ==(TensorShape, TensorShape)

    Compares two TensorShape objects. Returns true if the two objects have the same rank, and all their dimensions are equal.

    Declaration
    public static bool operator ==(TensorShape a, TensorShape b)
    Parameters
    Type Name Description
    TensorShape a

    The first shape to compare.

    TensorShape b

    The second shape to compare.

    Returns
    Type Description
    bool

    Whether the two shapes are equal.

    operator !=(TensorShape, TensorShape)

    Compares two TensorShape objects.

    Declaration
    public static bool operator !=(TensorShape a, TensorShape b)
    Parameters
    Type Name Description
    TensorShape a

    The first shape to compare.

    TensorShape b

    The second shape to compare.

    Returns
    Type Description
    bool

    Whether the two shapes are not equal.

    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)