我刚刚开始使用稳定基线 3 自学强化学习。我的长期目标是训练代理玩特定的回合制棋盘游戏。不过,目前我对新事物感到不知所措。
我已经实现了一个健身房环境,我可以用它来手动玩我的游戏或让它选择随机动作。
目前,我一直在努力寻找一个模型来响应观察结果。我的环境的动作空间是一个DiscreteSpace(256)
. 我创建环境为model = PPO('MlpPolicy', env, verbose=1)
. 当我后来打电话时model.predict(observation)
,我确实得到了一个看起来像一个动作的号码。当重复运行时,我得到不同的数字,我认为这是在未经训练的模型上预期的。
不幸的是,在我的游戏中,大多数行为在大多数州都是非法的,我想过滤它们并选择最好的合法行为。或者简单地将所有操作的输出结果转储出来,以了解正在发生的事情。
在浏览其他人的代码时,我看到了对model.action_probability(observation)
. 不幸的是,据我所知,方法不是稳定基线 3 的一部分。从稳定基线 2 迁移到 v3 的指南只提到它没有被实施 [ 1 ]。
你能给我一个关于如何继续的提示吗?