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.


    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
      • TensorShape(int)
      • TensorShape(int, int)
      • TensorShape(int, int, int)
      • TensorShape(int, int, int, int)
      • TensorShape(int, int, int, int, int)
      • TensorShape(int, int, int, int, int, int)
      • TensorShape(int, int, int, int, int, int, int)
      • TensorShape(int, int, int, int, int, int, int, int)
      • TensorShape(ReadOnlySpan<int>)
    • Fields
      • maxRank
    • Properties
      • this[int]
      • length
      • rank
    • Methods
      • Broadcast(TensorShape)
      • Equals(object)
      • Flatten()
      • GetHashCode()
      • HasZeroDims()
      • Length(int)
      • Length(int, int)
      • Ones(int)
      • Reduce(int, bool)
      • Squeeze()
      • Squeeze(int)
      • ToArray()
      • ToString()
      • Unsqueeze(int)
    • Operators
      • operator ==(TensorShape, TensorShape)
      • operator !=(TensorShape, TensorShape)
    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)