Skip to content

UInferencePolicy

class UInferencePolicy : public UAbstractPolicy

Policy that uses a trained NNE model to make decisions.

Dependencies

This type depends on:

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&lt;FString&gt;

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 &#42;

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&lt;FPolicyDecision &#42;&gt;

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:

NameTypeDefault
PolicyDefinitionconst FInteractionDefinition &
ModelInstanceTSharedPtr<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)