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.
Inherited Members
Namespace: Unity.MLAgents.Sensors
Assembly: Unity.ML-Agents.dll
Syntax
public struct ObservationSpec
Constructors
ObservationSpec(InplaceArray<int>, 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 = ObservationType.Default)
Parameters
Type | Name | Description |
---|---|---|
Inplace |
shape | Shape |
Inplace |
dimensionProperties | Dimension properties |
Observation |
observationType | Observation type |
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 |
---|---|
Unity |
Unity agents exception |
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 |
---|---|
Inplace |
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 |
---|---|
Observation |
Rank
The number of dimensions of the observation.
Declaration
public int Rank { get; }
Property Value
Type | Description |
---|---|
int |
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 |
---|---|
Inplace |
Methods
VariableLength(int, int)
Construct an ObservationSpec for variable-length observations.
Declaration
public static ObservationSpec VariableLength(int obsSize, int maxNumObs)
Parameters
Returns
Type | Description |
---|---|
Observation |
|
Vector(int, ObservationType)
Construct an ObservationSpec for 1-D observations of the requested length.
Declaration
public static ObservationSpec Vector(int length, ObservationType obsType = ObservationType.Default)
Parameters
Type | Name | Description |
---|---|---|
int | length | Length |
Observation |
obsType | Observation type |
Returns
Type | Description |
---|---|
Observation |
|
Visual(int, int, int, 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 channels, int height, int width, ObservationType obsType = ObservationType.Default)
Parameters
Type | Name | Description |
---|---|---|
int | channels | Channels |
int | height | Height |
int | width | Width |
Observation |
obsType | Observation type |
Returns
Type | Description |
---|---|
Observation |
|