我正在使用协同推块环境( https://github.com/Unity-Technologi...nvironment-Examples.md#cooperative-push-block) (为了使用Python而导出),使用最新的稳定版本。问题是,我没有得到奖励(积极或消极)。总是0。如果我导出单推送块环境,我将正确地收到奖励。下面是我从collab示例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].reward
print('REWARD', decision_steps.reward) # Always 0
# Each decision_steps[tracked_agent].reward also returns 0我应该得到一个负面的惩罚(-0.0001)或一个积极的信号+1,+2,+3,根据文档。即使他们随机地推了一个街区,我也会得到0作为奖励。
他们在文档中说,奖励是作为“组奖励”给予的。我不知道这是否意味着改变了上面的代码。
发布于 2021-10-06 07:04:54
我已经从问题部分收到了这个答复:
DecisionStep还有一个独立于奖励字段的group_reward字段。给合作普什布洛克特工的团体奖励应该在这里。我们很抱歉,collab没有明确指出这一点,我会对其进行更新。
https://stackoverflow.com/questions/69432159
复制相似问题