Class StackingSensor
Sensor that wraps around another Sensor to provide temporal stacking. Conceptually, consecutive observations are stored left-to-right, which is how they're output For example, 4 stacked sets of observations would be output like | t = now - 3 | t = now -2 | t = now - 1 | t = now | Internally, a circular buffer of arrays is used. The m_CurrentIndex represents the most recent observation. Currently, observations are stacked on the last dimension.
Implements
Inherited Members
Namespace: Unity.MLAgents.Sensors
Assembly: solution.dll
Syntax
public class StackingSensor : ISensor
Constructors
| Name | Description |
|---|---|
| StackingSensor(ISensor, int) | Initializes the sensor. |
Methods
| Name | Description |
|---|---|
| GetBuiltInSensorType() | Return the corresponding BuiltInSensorType for 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. |
| GetCompressionSpec() | Return information on the compression type being used. If no compression is used, return Default(). |
| 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. |
| GetObservationSpec() | Returns a description of the observations that will be generated by the sensor. See ObservationSpec for more details, and helper methods to create one. |
| 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. |
| Update() | Updates the index of the "current" buffer. |
| 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. |