UInferencePolicy
class UInferencePolicy : public UAbstractPolicy
Policy that uses a trained NNE model to make decisions.
Dependencies
This type depends on:
- FDictPoint
- FDictSpace
- FInferencePolicyBuffer
- FInteractionDefinition
- FPolicyDecision
- IRuntimeInterface
- UAbstractPolicy
Inherits from: public UAbstractPolicy
Public Interface
Constructor:
UInferencePolicy
UInferencePolicy()
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 200, column 1)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 13-15)
Public Functions:
GetRuntimeNames
TArray<FString> GetRuntimeNames() const const
Function that grabs all availabe runtime names.
Returns: An Array of available runtime names
Returns: TArray<FString>
Attributes: const
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 227, column 8)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 17-23)
GetRuntime
IRuntimeInterface * GetRuntime(const FString &SelectedRuntimeName) const const
Function that gets the singleton instance of the runtime with the given name.
Returns: A ptr to the runtime with the given name
Parameters:
SelectedRuntimeName
(const FString &
) – [in] The name of the runtime to get
Returns: IRuntimeInterface *
Attributes: const
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 234, column 19)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 25-40)
RequestDecision
virtual TFuture<FPolicyDecision *> RequestDecision(const FDictPoint &Observations) override
Request that the policy decide on action.
May take some time to occur
Returns: A future that will eventually contain the policy’s next decision
Parameters:
Observations
(const FDictPoint &
) – [in] The current state of the agent used to inform the policies choice of action
Returns: TFuture<FPolicyDecision *>
Attributes: virtual
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 240, column 17)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 43-94)
Init
virtual void Init(const FInteractionDefinition &PolicyDefinition)
Initialize an instance of a policy object from an interaction definition.
Parameters:
PolicyDefinition
(const FInteractionDefinition &
) – [in] An object defining the policy’s I/O shapes and other parameters
Attributes: virtual
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 242, column 6)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 250-303)
SetupBuffersAndBindings
bool SetupBuffersAndBindings(const FInteractionDefinition &PolicyDefinition, TSharedPtr<IModelInstanceRunSync> ModelInstance)
Parameters:
Name | Type | Default |
---|---|---|
PolicyDefinition | const FInteractionDefinition & | “ |
ModelInstance | TSharedPtr<IModelInstanceRunSync> | “ |
Returns: bool
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 244, column 6)
Implementation: Schola/Source/Schola/Private/Policies/InferencePolicy.cpp
(lines 135-247)
Public Members:
int Step
int Step = = 0
Number of inference calls to the policy.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 204, column 5)
FDictSpace ActionSpaceDefn
FDictSpace ActionSpaceDefn
The Action Space of the Agent.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 208, column 12)
FDictSpace ObservationSpaceDefn
FDictSpace ObservationSpaceDefn
The Observation Space of the Agent.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 212, column 12)
TObjectPtr<UNNEModelData> ModelData
TObjectPtr<UNNEModelData> ModelData
The Model Data for the NNE Model.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 216, column 12)
FString RuntimeName
FString RuntimeName
The Name of the Runtime to use for Inference.
If no Runtimes are available, enable NNE plugins (e.g. NNERuntimeORT)
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 220, column 9)
bool bNetworkLoaded
bool bNetworkLoaded = = false
Variable tracking if the network loaded correctly?
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 238, column 6)
TArray<FInferencePolicyBuffer> ActionBuffer
TArray<FInferencePolicyBuffer> ActionBuffer
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 247, column 8)
TArray<FInferencePolicyBuffer> ObservationBuffer
TArray<FInferencePolicyBuffer> ObservationBuffer
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 250, column 8)
TArray<float> StateBuffer
TArray<float> StateBuffer
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 253, column 8)
int StateSeqLen
int StateSeqLen
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 256, column 5)
int StateDimSize
int StateDimSize
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 259, column 5)
Private Interface
Private Members:
TSharedPtr<IModelInstanceRunSync> ModelInstance
TSharedPtr<IModelInstanceRunSync> ModelInstance
The instantiated model.
Attributes: private
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 263, column 12)
TArray<UE::NNE::FTensorBindingCPU> InputBindings
TArray<UE::NNE::FTensorBindingCPU> InputBindings
Attributes: private
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 265, column 8)
TArray<UE::NNE::FTensorBindingCPU> OutputBindings
TArray<UE::NNE::FTensorBindingCPU> OutputBindings
Attributes: private
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 267, column 8)
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h
(line 195, column 1)