Ml-agents 合作推块未返回奖励

我正在使用最新的稳定版本处理合作推块环境(https://github.com/Unity-Technologi…nvironment-Examples.md#cooperative-push-block)(为了使用Python API而导出)。问题是我没有收到奖励(无论是正的还是负的),奖励始终为0。如果我导出单人推块环境,我可以正确地收到奖励。下面是我从协作示例中使用的代码 https://github.com/Unity-Technologies/ml-agents/blob/main/docs/Python-API.md

decision_steps, terminal_steps = env.get_steps(behavior_name)if tracked_agent in decision_steps:    episode_rewards += decision_steps[tracked_agent].rewardprint('REWARD', decision_steps.reward) # 始终为0# decision_steps[tracked_agent].reward 也返回0

根据文档,我应该收到负罚分(-0.0001)或正信号 +1, +2, +3。即使他们随机推动一个块,我收到的奖励仍然是0。

文档中提到奖励是以“组奖励”的形式给出的。我不知道这是否意味着需要更改上述代码。


回答:

我在Unity ml-agents GitHub问题部分收到了以下回答:

DecisionStep 还有一个与奖励字段分开的group_reward字段。合作推块代理的组奖励应该在这里。我们为协作示例没有明确指出这一点而道歉,我会对其进行更新。

https://github.com/Unity-Technologies/ml-agents/issues/5567

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注