我试图使用我的gym
环境与稳定的基线,但当我不得不更新stable-baselines3
版本到2.0.0a5我的环境不工作了,并在几个文档和论坛线程后,我看到我不得不开始使用gymnasium
而不是gym
使其工作。现在我的代码在我的MacOs和Google Colab中运行良好。尽管如此,我尝试在Windows上使用与Google Colab相同的需求文件创建虚拟环境(代码确实可以工作),但在Windows上我得到:
AssertionError: The algorithm only supports (<class 'gym.spaces.box.Box'>, <class 'gym.spaces.discrete.Discrete'>, <class 'gym.spaces.multi_discrete.MultiDiscrete'>, <class 'gym.spaces.multi_binary.MultiBinary'>) as action spaces but Discrete(5) was provided
我在两个环境中拥有的gym
、gymnasium
和stable-baselines3
版本是相同的,所以我不明白为什么会发生这种情况。我的版本如下:
gym
-->版本:0.25.2gymnasium
-->版本:0.28.1stable-baselines3
-->版本:2.0.0a5
1条答案
按热度按时间qco9c6ql1#
Stable Baselines 3
版本>2.0.0使用Gymnasium
。任何低于2.0.0的版本都使用Gym。这个错误提示您应该使用gym
。将您的Stable Baselines 3
降级到<2.0.0的版本,并使用gym
而不是Gymnasium
。应该可以了我之前问的This question与这个问题有关,即澄清了在谈论是否使用
gym
或Gymnasium
时存在一些不一致之处。Gymnasium
是最好的,因为它被维护,但不是所有的包都兼容。另一方面,gym
被许多软件包支持,但不是最新的。权衡是你的,但也基于你需要处理的东西。然而,您的错误建议您应该使用
gym
,因此降级Stable Baselines 3
。(As我更喜欢
gym 0.26
,但这完全取决于你。这也与对代理-环境循环所做的更改有关,其中渲染在循环的上述版本部分中)