跳至内容

UAbstractBrain

class UAbstractBrain : public UObject

一个 AbstractBaseClass,用于表示同步策略、观察和操作的不同方式的子类。

依赖项

此类型依赖于

继承自: public UObject

子类: USynchronousBrain

公共接口

构造函数

UAbstractBrain

UAbstractBrain()

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 35 行,第 1 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 5-7 行)

公共函数

IncrementStep

void IncrementStep()

递增当前代理器的步数。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 60 行,第 6 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 9-12 行)

SetStep

void SetStep(int NewStep)

设置当前代理器的步数。

参数

  • NewStep (int) – 要将步数更新到的值

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 66 行,第 6 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 14-17 行)

ResetStep

void ResetStep()

将代理器的步数重置为 0。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 71 行,第 6 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 19-22 行)

IsActive

bool IsActive()

检查此 Brain 是否处于活动状态(例如。

未关闭或没有出错)

返回: 如果此 Brain 功能正常(例如,未关闭或没有出错),则为 true

返回: bool

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 77 行,第 6 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 24-27 行)

Reset

inline virtual void Reset()

重置此 Brain。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 82 行,第 14 列)

IsDecisionStep

virtual bool IsDecisionStep(int StepToCheck)

检查特定步数是否需要大脑决策。

返回:如果代理应该请求决策,则为 true

参数

  • StepToCheck (int) – 要检查的时间步

返回: bool

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 89 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 29-32 行)

IsDecisionStep

virtual bool IsDecisionStep()

如果当前步是决策步,由步频定义。

返回:如果当前步是决策步,则为 true

返回: bool

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 95 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 34-37 行)

初始化

void Init(UAbstractPolicy *InjectedPolicy)

通过提供策略来初始化此 Brain。

注意:这样可以避免在打开 Agent 时在编辑器中出现大量嵌套结构

参数

  • InjectedPolicy (UAbstractPolicy *) – [输入/输出] 此 Brain 将用于做出决策的策略

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 102 行,第 6 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 39-42 行)

HasAction

inline virtual bool HasAction()

检查此大脑是否已准备好动作。

返回:如果此大脑已准备好动作(例如,本次调用的 GetAction() 将成功),则为 true

返回: bool

属性: inline, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 108 行,第 14 列)

获取动作

inline virtual FAction * GetAction()

从该大脑获取一个动作

返回:指向当前动作的指针

返回: FAction *

属性: inline, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 114 行,第 17 列)

RequestDecision

inline virtual bool RequestDecision(const FDictPoint &Observations)

请求大脑确定新动作。

返回:如果决策请求成功则为 True,否则为 False

参数

  • Observations (const FDictPoint &) – [in] 用于告知大脑动作选择的当前代理状态

返回: bool

属性: inline, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 120 行,第 14 列)

GetAbstractSettingsVisibility

virtual bool GetAbstractSettingsVisibility() const const

供子类使用,用于设置设置是否可见。

返回: 如果此类中的设置在编辑器中可见,则为 true。

返回: bool

属性: const, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 125 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 44-47 行)

GetStatus

virtual EBrainStatus GetStatus()

获取 Brain 的最后一个状态。

返回: 最后一个状态

返回: EBrainStatus

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 131 行,第 22 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 49-52 行)

SetStatus

virtual void SetStatus(EBrainStatus NewStatus)

更新 Brain 的状态。

参数

  • NewStatus (EBrainStatus) – [输入] 要设置的新状态

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 137 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 54-57 行)

UpdateStatusFromDecision

virtual void UpdateStatusFromDecision(const FPolicyDecision &Decision)

根据 PolicyDecision 更新 Brain 的状态。

参数

  • Decision (const FPolicyDecision &) – [输入] 用于解包和使用该 PolicyDecision 来更新状态

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 143 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 59-71 行)

ResolveDecision

inline virtual void ResolveDecision()

告知策略您即将需要一个响应决策,因此它应该解析开放的决策并相应地更新其状态。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 148 行,第 14 列)

IsActionStep

virtual bool IsActionStep()

检查 Brain 是否有操作,并且它是一个操作步骤。

返回: 如果 Brain 有操作并且是操作步骤,则为 true

返回: bool

属性: virtual

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 154 行,第 14 列)

实现: Schola/Source/Schola/Private/Brains/AbstractBrain.cpp (第 73-76 行)

公共成员

UAbstractPolicy * Policy

UAbstractPolicy * Policy

此 Brain 封装的底层策略。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 33 行,第 17 列)

bool bTakeActionBetweenDecisions

bool bTakeActionBetweenDecisions = = true

如果为 true,则代理器将在每次请求新操作的决策之间重复其最后一个操作。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 39 行,第 6 列)

int Step

int Step = = 0

模拟的当前步数。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 43 行,第 5 列)

int DecisionRequestFrequency

int DecisionRequestFrequency = = 5

请求新操作之间的步数。

如果不同代理器之间的此值不同,则可能导致某些框架(例如 Stable Baselines 3)中的训练出现问题。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 47 行,第 5 列)

bool bAbstractSettingsVisibility

bool bAbstractSettingsVisibility = = true

切换用户是否可以看到此类设置。

如果子类中的设置不相关,则用于在子类中隐藏

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 51 行,第 6 列)

EBrainStatus Status

EBrainStatus Status = = EBrainStatus::Running

Brain 的状态。

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 55 行,第 14 列)

使用于

此类型由以下部分使用

来源: Schola/Source/Schola/Public/Brains/AbstractBrain.h (第 26 行,第 1 列)

© . This site is unofficial and not affiliated with AMD.