UInferencePolicy
class UInferencePolicy : public UAbstractPolicyPolicy 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 constFunction 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 constFunction 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) overrideRequest 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 = = 0Number of inference calls to the policy.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 204, column 5)
FDictSpace ActionSpaceDefn
FDictSpace ActionSpaceDefnThe Action Space of the Agent.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 208, column 12)
FDictSpace ObservationSpaceDefn
FDictSpace ObservationSpaceDefnThe Observation Space of the Agent.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 212, column 12)
TObjectPtr<UNNEModelData> ModelData
TObjectPtr<UNNEModelData> ModelDataThe Model Data for the NNE Model.
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 216, column 12)
FString RuntimeName
FString RuntimeNameThe 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 = = falseVariable tracking if the network loaded correctly?
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 238, column 6)
TArray<FInferencePolicyBuffer> ActionBuffer
TArray<FInferencePolicyBuffer> ActionBufferSource: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 247, column 8)
TArray<FInferencePolicyBuffer> ObservationBuffer
TArray<FInferencePolicyBuffer> ObservationBufferSource: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 250, column 8)
TArray<float> StateBuffer
TArray<float> StateBufferSource: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 253, column 8)
int StateSeqLen
int StateSeqLenSource: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 256, column 5)
int StateDimSize
int StateDimSizeSource: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 259, column 5)
Private Interface
Private Members:
TSharedPtr<IModelInstanceRunSync> ModelInstance
TSharedPtr<IModelInstanceRunSync> ModelInstanceThe 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> InputBindingsAttributes: private
Source: Schola/Source/Schola/Public/Policies/InferencePolicy.h (line 265, column 8)
TArray<UE::NNE::FTensorBindingCPU> OutputBindings
TArray<UE::NNE::FTensorBindingCPU> OutputBindingsAttributes: 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)