[英]Jupyter python kernel dies - OpenAI
我是强化学习的新手,我正在尝试使用 OpenAI Gym 环境。
首先,我通过这个命令安装了gym: !pip install gym
in jupyter
再次运行以确保它已完全安装后,我得到了以下输出:
Requirement already satisfied: gym in c:\program files\anaconda3\lib\site-packages (0.10.5) Requirement already satisfied: pyglet>=1.2.0 in c:\program files\anaconda3\lib\site-packages (from gym) (1.3.2) Requirement already satisfied: six in c:\program files\anaconda3\lib\site-packages (from gym) (1.11.0) Requirement already satisfied: requests>=2.0 in c:\program files\anaconda3\lib\site-packages (from gym) (2.19.1) Requirement already satisfied: numpy>=1.10.4 in c:\program files\anaconda3\lib\site-packages (from gym) (1.13.3) Requirement already satisfied: future in c:\program files\anaconda3\lib\site-packages (from pyglet>=1.2.0->gym) (0.16.0) Requirement already satisfied: urllib3=1.21.1 in c:\program files\anaconda3\lib\site-packages (from requests>=2.0->gym) (1.23) Requirement already satisfied: certifi>=2017.4.17 in c:\program files\anaconda3\lib\site-packages (from requests>=2.0->gym) (2018.4.16) Requirement already satisfied: chardet=3.0.2 in c:\program files\anaconda3\lib\site-packages (from requests>=2.0->gym) (3.0.4) Requirement already satisfied: idna=2.5 in c:\program files\anaconda3\lib\site-packages (from requests>=2.0->gym) (2.7)
正如 OpenAI Gym Doc 页面所述,我尝试了这段代码以确保一切正常:
import gym env = gym.make('CartPole-v0') for i_episode in range(20): observation = env.reset() #The process gets started by calling reset(), which returns an initial observation. for t in range(100): env.render() print(observation) action = env.action_space.sample() observation, reward, done, info = env.step(action) if done: print("Episode finished after {} timesteps".format(t+1)) break
运行此代码后,将打开一个新窗口,所有内容与文档页面上提供的视频完全相同。
但问题是当代理完成时(所有剧集都运行),内核死掉并再次重新启动。
我发现在某些特定版本中, gym.make(close=true)
可以解决问题。 但不是在最新版本的 anaconda 和 Gym 中。 另一个解决方案是使用以下代码: env = gym.make('name') env.close()
。 但问题是,这个close()
函数会删除env
对象,所以每次我们创建环境时。
问候
我不知道如何解决这个问题,但我在gym-retro 中使用了不同的代码,效果很好。
env = retro.make(game="StreetFighterIISpecialChampionEdition-Genesis", state="ChunLiVsBlanka.1star")
env = wrapper(env)
model = PPO2.load("D:/Python/Projects/Hakisa/rl_model_1000000_steps")
obs = env.reset()
total_reward = []
steps = 0
end = False
while end != True and steps < 100:
env.render()
action, state = model.predict(obs)
obs, reward, end, info = env.step(action)
steps += 1
total_reward.append(reward)
time.sleep(0.05)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.