Я новичок в усиленном обучении и пытаюсь использовать среды OpenAI Gym.
Сначала я установил тренажерный зал по этой команде: !pip install gym
в 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
объект, поэтому каждый раз, когда мы создаем среду.
Привет