Class UAbstractGymConnector
- class UAbstractGymConnector : public UObject, public IGymConnector
-
An abstract class for connectors between Unreal Engine and gym environments.
class provides the basic structure and functionality for connecting Unreal Engine environments with external gym environments for training purposes.
Subclassed by UExternalGymConnector
Public Functions
- UAbstractGymConnector()
-
Constructor for the abstract gym connector.
Initializes the connector with default values.
- virtual void Init(const FTrainingDefinition &AgentDefinitions)
-
Initialize this gym connector, setting up services and sending agent definitions.
Note
This function should be implemented by a derived class.
- Parameters:
-
AgentDefinitions – [in] – The definitions of the agents that will be trained.
- void Init()
-
Initialize this gym connector, collecting environments and training definitions.
Note
Calls the other Init function with the SharedTrainingDefinition.
- virtual void UpdateEnvironments(FTrainingStateUpdate &StateUpdate) override
-
Update the environments with the new state update.
- Parameters:
-
StateUpdate – [in] The new state update.
- void SetStatus(EConnectorStatus NewStatus)
-
Set the status of the connector.
- Parameters:
-
NewStatus – [in] The new status of the connector.
- inline virtual void SubmitEnvironmentStates()
-
Submit environment states to the other end of the connector.
Note
This function should be implemented by a derived class.
- inline virtual FTrainingStateUpdate *ResolveEnvironmentStateUpdate()
-
Resolve the environment state update.
Useful for connections that operate off of futures, or otherwise require synchronization.
Note
This function should be implemented by a derived class.
- Returns:
-
The resolved environment state update.
- inline virtual void SubmitPostResetState(const FTrainingState &States)
-
Submit the initial state of the environment after a reset to the other end of the connector.
Note
This function should be implemented by a derived class.
- Parameters:
-
States – [in] The states to submit.
- void UpdateConnectorStatus(const FTrainingStateUpdate &StateUpdate)
-
Update the connector status based on a state update.
- Parameters:
-
StateUpdate – [in] The state update to base the new status on.
- inline virtual void Enable()
-
Enable the connector.
Useful for multistage setup as it is called after init.
Note
This function should be implemented by a derived class.
- inline virtual bool CheckForStart()
-
Check if the connector is ready to start.
Note
This function should be implemented by a derived class.
- Returns:
-
True if the connector is ready to start.
- inline virtual FTrainingStateUpdate *GetCurrentStateUpdate()
-
Get the latest state update.
- Returns:
-
The last state update.
- inline bool IsNotStarted()
-
Get if the connector is closed.
- Returns:
-
True if the connector is closed.
- void RegisterEnvironment(AAbstractScholaEnvironment *Env)
-
Register an environment with the subsystem so that it can be controlled by the subsystem.
- Parameters:
-
Env – [in] A pointer to the environment to be registered.
Public Members
- FTrainingStateUpdate *CurrentStateUpdate
-
The current state update from the environments.
- TArray<AAbstractScholaEnvironment*> Environments = TArray<AAbstractScholaEnvironment*>()
-
The environments that are currently being trained.
- FTrainingState TrainingState = FTrainingState()
-
The states of the environments that are currently being trained.
- FTrainingDefinition TrainingDefinition = FTrainingDefinition()
-
The shared training definition for the environments that will be trained.