docs.unity3d.com
    Show / Hide Table of Contents

    Class VectorSensor

    A sensor implementation for vector observations.

    Inheritance
    Object
    VectorSensor
    Namespace: Unity.MLAgents.Sensors
    Syntax
    public class VectorSensor : object, ISensor

    Constructors

    VectorSensor(Int32, String)

    Initializes the sensor.

    Declaration
    public VectorSensor(int observationSize, string name = null)
    Parameters
    Type Name Description
    Int32 observationSize

    Number of vector observations.

    String name

    Name of the sensor.

    Methods

    AddObservation(IEnumerable<Single>)

    Adds a collection of float observations to the vector observations of the agent.

    Declaration
    public void AddObservation(IEnumerable<float> observation)
    Parameters
    Type Name Description
    IEnumerable<Single> observation

    Observation.

    AddObservation(Quaternion)

    Adds a quaternion observation to the vector observations of the agent.

    Declaration
    public void AddObservation(Quaternion observation)
    Parameters
    Type Name Description
    Quaternion observation

    Observation.

    AddObservation(Boolean)

    Adds a boolean observation to the vector observation of the agent.

    Declaration
    public void AddObservation(bool observation)
    Parameters
    Type Name Description
    Boolean observation

    Observation.

    AddObservation(Int32)

    Adds an integer observation to the vector observations of the agent.

    Declaration
    public void AddObservation(int observation)
    Parameters
    Type Name Description
    Int32 observation

    Observation.

    AddObservation(Single)

    Adds a float observation to the vector observations of the agent.

    Declaration
    public void AddObservation(float observation)
    Parameters
    Type Name Description
    Single observation

    Observation.

    AddObservation(Vector2)

    Adds an Vector2 observation to the vector observations of the agent.

    Declaration
    public void AddObservation(Vector2 observation)
    Parameters
    Type Name Description
    Vector2 observation

    Observation.

    AddObservation(Vector3)

    Adds an Vector3 observation to the vector observations of the agent.

    Declaration
    public void AddObservation(Vector3 observation)
    Parameters
    Type Name Description
    Vector3 observation

    Observation.

    AddOneHotObservation(Int32, Int32)

    Adds a one-hot encoding observation.

    Declaration
    public void AddOneHotObservation(int observation, int range)
    Parameters
    Type Name Description
    Int32 observation

    The index of this observation.

    Int32 range

    The max index for any observation.

    GetCompressedObservation()

    Return a compressed representation of the observation. For small observations, this should generally not be implemented. However, compressing large observations (such as visual results) can significantly improve model training time.

    Declaration
    public virtual byte[] GetCompressedObservation()
    Returns
    Type Description
    Byte[]

    Compressed observation.

    Implements
    ISensor.GetCompressedObservation()

    GetCompressionType()

    Return the compression type being used. If no compression is used, return None.

    Declaration
    public virtual SensorCompressionType GetCompressionType()
    Returns
    Type Description
    SensorCompressionType

    Compression type used by the sensor.

    Implements
    ISensor.GetCompressionType()

    GetName()

    Get the name of the sensor. This is used to ensure deterministic sorting of the sensors on an Agent, so the naming must be consistent across all sensors and agents.

    Declaration
    public string GetName()
    Returns
    Type Description
    String

    The name of the sensor.

    Implements
    ISensor.GetName()

    GetObservationShape()

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

    Declaration
    public int[] GetObservationShape()
    Returns
    Type Description
    Int32[]

    Size of the observations that will be generated.

    Implements
    ISensor.GetObservationShape()

    Reset()

    Resets the internal states of the sensor. This is called at the end of an Agent's episode. Most implementations can leave this empty.

    Declaration
    public void Reset()
    Implements
    ISensor.Reset()

    Update()

    Update any internal state of the sensor. This is called once per each agent step.

    Declaration
    public void Update()
    Implements
    ISensor.Update()

    Write(ObservationWriter)

    Write the observation data directly to the ObservationWriter. Note that this (and GetCompressedObservation()) may be called multiple times per agent step, so should not mutate any internal state.

    Declaration
    public int Write(ObservationWriter writer)
    Parameters
    Type Name Description
    ObservationWriter writer

    Where the observations will be written to.

    Returns
    Type Description
    Int32

    The number of elements written.

    Implements
    ISensor.Write(ObservationWriter)
    Back to top
    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