我目前正在学习强化学习,并希望使用它在赛车-V0环境。我已经成功地使用了PPO算法,现在我想使用DQN算法,但是当我想训练模型时,它给了我这个错误:
AssertionError:该算法只支持(裸子植物空间.离散.离散class>)作为动作空间,但提供了Box(-1。0.0.,1. 1. 1.,(3,),float32)
这是我的代码:
import os
import gym
from stable_baselines3 import DQN
from stable_baselines3.common.vec_env import DummyVecEnv
from stable_baselines3.common.evaluation import evaluate_policy
environment_name = 'CarRacing-v0'
env = gym.make(environment_name)
#Test Environment
episodes = 5
for episode in range(1, episodes+1):
obs = env.reset()
done = False
score = 0
while not done:
env.render()
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
score += reward
print('Episode:{} Score:{}'.format(episode, score))
env.close()
env = gym.make(environment_name)
env = DummyVecEnv([lambda: env])
log_path = os.path.join('Training', 'Logs')
model = DQN('CnnPolicy', env, verbose=1, tensorboard_log = log_path)我在这个项目中使用jupyter笔记本。
发布于 2022-10-10 08:21:43
Is说模型只适用于离散env,在创建env时尝试添加continuous=False。
更多信息
https://www.gymlibrary.dev/environments/box2d/car_赛车/
https://stable-baselines3.readthedocs.io/en/master/guide/algos.html
https://datascience.stackexchange.com/questions/109518
复制相似问题