Class UAbstractGymConnector
- class UAbstractGymConnector : public UObject, public IGymConnector
-
An abstract class for connectors between unreal and gym.
Subclassed by UExternalGymConnector
Public Functions
- virtual void Init(const FSharedTrainingDefinition &AgentDefinitions)
-
Initialize this gym connector, setting up services and sending agent definitions.
Note
This function should be implemented by a derived class
- Parameters:
-
AgentDefinitions – – 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 iff the connector is closed
- void RegisterEnvironment(AAbstractScholaEnvironment *Env)
-
Register an environment with the subsystem so that it can be controlled by the subsytem.
- Parameters:
-
Env – [in] A ptr 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 SharedTrainingState = FTrainingState()
-
The states of the environments that are currently being trained.
- FSharedTrainingDefinition SharedTrainingDefinition = FSharedTrainingDefinition()
-
The shared training definition for the environments that will be trained.