Class VectorSensor
A sensor implementation for vector observations.
Implements
Inherited Members
Namespace: Unity.MLAgents.Sensors
Assembly: Unity.ML-Agents.dll
Syntax
public class VectorSensor : ISensor
Constructors
VectorSensor(int, string, ObservationType)
Initializes the sensor.
Declaration
public VectorSensor(int observationSize, string name = null, ObservationType observationType = ObservationType.Default)
Parameters
Type | Name | Description |
---|---|---|
int | observationSize | Number of vector observations. |
string | name | Name of the sensor. |
Observation |
observationType | Observation type |
Methods
AddObservation(bool)
Adds a boolean observation to the vector observation of the agent.
Declaration
public void AddObservation(bool observation)
Parameters
Type | Name | Description |
---|---|---|
bool | observation | Observation. |
AddObservation(IList<float>)
Adds a list or array of float observations to the vector observations of the agent.
Declaration
public void AddObservation(IList<float> observation)
Parameters
AddObservation(int)
Adds an integer observation to the vector observations of the agent.
Declaration
public void AddObservation(int observation)
Parameters
Type | Name | Description |
---|---|---|
int | observation | Observation. |
AddObservation(float)
Adds a float observation to the vector observations of the agent.
Declaration
public void AddObservation(float observation)
Parameters
Type | Name | Description |
---|---|---|
float | 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(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(int, int)
Adds a one-hot encoding observation.
Declaration
public void AddOneHotObservation(int observation, int range)
Parameters
Type | Name | Description |
---|---|---|
int | observation | The index of this observation. |
int | range | The upper limit on the value observation can take (exclusive). |
GetBuiltInSensorType()
Return the corresponding BuiltInSensorType for the sensor.
Declaration
public BuiltInSensorType GetBuiltInSensorType()
Returns
Type | Description |
---|---|
Built |
A BuiltInSensorType corresponding to the sensor. |
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. |
GetCompressionSpec()
Return information on the compression type being used. If no compression is used, return Default().
Declaration
public CompressionSpec GetCompressionSpec()
Returns
Type | Description |
---|---|
Compression |
An object describing the compression used by the sensor. |
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. |
GetObservationSpec()
Returns a description of the observations that will be generated by the sensor.
See Observation
Declaration
public ObservationSpec GetObservationSpec()
Returns
Type | Description |
---|---|
Observation |
An object describing the observation. |
Reset()
Resets the internal state of the sensor. This is called at the end of an Agent's episode. Most implementations can leave this empty.
Declaration
public void Reset()
Update()
Update any internal state of the sensor. This is called once per each agent step.
Declaration
public void Update()
Write(ObservationWriter)
Write the observation data directly to the Observation
Declaration
public int Write(ObservationWriter writer)
Parameters
Type | Name | Description |
---|---|---|
Observation |
writer | Where the observations will be written to. |
Returns
Type | Description |
---|---|
int | The number of elements written. |