Я пытаюсь обучить некоторых keras-rl
агентов против среды OpenAI-Gym
.Проблема заключается в том, что этой среде требуется None как первое действие каждый раз, когда среда сбрасывается, чтобы вернуть действительное наблюдение.Как я могу это реализовать?
Библиотека вызывает agent.fit()
со средой в качестве аргумента следующим образом:
dqn.fit(env)
Я бы не хотел менять код агентов keras-или код окружающей среды.
Решением может быть выяснение того, как обучить агента keras-rl с образцом, а не с окружением, и заставить этот «код» (это только приблизительное значение) работать:
for _ in range(num):
env.reset()
observation, _, done, _ = env.step(None)
reward = None
done = None
while not done:
old_observation = observation
action = agent.act(observation, reward, done)
observation, reward, done, info = env.step(action)
agent.train(old_observation, action, reward, done)