docs.unity3d.com
    Show / Hide Table of Contents

    Struct ObservationSpec

    A description of the observations that an ISensor produces. This includes the size of the observation, the properties of each dimension, and how the observation should be used for training.

    Namespace: Unity.MLAgents.Sensors
    Syntax
    public struct ObservationSpec

    Constructors

    ObservationSpec(InplaceArray<Int32>, InplaceArray<DimensionProperty>, ObservationType)

    Create a general ObservationSpec from the shape, dimension properties, and observation type.

    Declaration
    public ObservationSpec(InplaceArray<int> shape, InplaceArray<DimensionProperty> dimensionProperties, ObservationType observationType = default(ObservationType))
    Parameters
    Type Name Description
    InplaceArray<Int32> shape
    InplaceArray<DimensionProperty> dimensionProperties
    ObservationType observationType
    Remarks

    Note that not all combinations of DimensionProperty may be supported by the trainer. shape and dimensionProperties must have the same size.

    Exceptions
    Type Condition
    UnityAgentsException

    Properties

    DimensionProperties

    The properties of each dimensions of the observation. The length of the array must be equal to the rank of the observation tensor.

    Declaration
    public InplaceArray<DimensionProperty> DimensionProperties { get; }
    Property Value
    Type Description
    InplaceArray<DimensionProperty>
    Remarks

    It is generally recommended to use default values provided by helper functions, as not all combinations of DimensionProperty may be supported by the trainer.

    ObservationType

    The type of the observation, e.g. whether they are generic or help determine the goal for the Agent.

    Declaration
    public ObservationType ObservationType { get; }
    Property Value
    Type Description
    ObservationType

    Rank

    The number of dimensions of the observation.

    Declaration
    public int Rank { get; }
    Property Value
    Type Description
    Int32

    Shape

    The size of the observations that will be generated. For example, a sensor that observes the velocity of a rigid body (in 3D) would use [3]. A sensor that returns an RGB image would use [Height, Width, 3].

    Declaration
    public InplaceArray<int> Shape { get; }
    Property Value
    Type Description
    InplaceArray<Int32>

    Methods

    VariableLength(Int32, Int32)

    Construct an ObservationSpec for variable-length observations.

    Declaration
    public static ObservationSpec VariableLength(int obsSize, int maxNumObs)
    Parameters
    Type Name Description
    Int32 obsSize
    Int32 maxNumObs
    Returns
    Type Description
    ObservationSpec

    Vector(Int32, ObservationType)

    Construct an ObservationSpec for 1-D observations of the requested length.

    Declaration
    public static ObservationSpec Vector(int length, ObservationType obsType = default(ObservationType))
    Parameters
    Type Name Description
    Int32 length
    ObservationType obsType
    Returns
    Type Description
    ObservationSpec

    Visual(Int32, Int32, Int32, ObservationType)

    Construct an ObservationSpec for visual-like observations, e.g. observations with a height, width, and possible multiple channels.

    Declaration
    public static ObservationSpec Visual(int height, int width, int channels, ObservationType obsType = default(ObservationType))
    Parameters
    Type Name Description
    Int32 height
    Int32 width
    Int32 channels
    ObservationType obsType
    Returns
    Type Description
    ObservationSpec
    In This Article
    • Constructors
      • ObservationSpec(InplaceArray<Int32>, InplaceArray<DimensionProperty>, ObservationType)
    • Properties
      • DimensionProperties
      • ObservationType
      • Rank
      • Shape
    • Methods
      • VariableLength(Int32, Int32)
      • Vector(Int32, ObservationType)
      • Visual(Int32, Int32, Int32, ObservationType)
    Back to top
    Terms of use
    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