1

我正在做一个项目,使用 Pybrain 包将强化学习与交通灯模拟相结合。我已经阅读了教程并实现了我自己的Environment和子类Task。我使用ActionValueNetworkas 控制器是因为我希望我的状态是一个具有连续值的向量,这样它就可以包含诸如每条车道上等待的汽车数量、每条车道的总等待时间等信息。

我将 的输入维度设置ActionValueNetwork为我的状态向量的维度,这表明可以将向量用作状态变量。当我使用 Q-learner 或 SARSA 学习器时,代码起初运行良好,但一旦learn()调用该方法,我就会收到一条错误消息。此函数包含行

state = int(state)

错误信息是

TypeError: only length-1 arrays can be converted to Python scalars

这表明只能使用标量形状的状态。

pybrain 强化学习环境是否支持向量形状态?如果是这样,我如何修改我的代码,使其能够与他们的 Q-learning 或其他方法的实现一起使用?

4

1 回答 1

1

在此期间我发现了我的问题。我正在使用Q()学习器,但应该使用NFQ()实现神经拟合 Q 学习算法的学习器。现在它起作用了。

于 2016-11-29T13:50:57.353 回答