# define your env and model above
episodes = 1000
for ep in range(1, episodes+1):
state = env.reset()
done = False
score = 0
step = 0
while step < 200 and not done:
action = model.predict(state)
state, reward, done, _ = env.step(action)
score += reward
step += 1
print (f"Episode {ep} is finished at {step} step with a score {score}")
while episode_counter < training_episode:
#initate your agents here
while not (agent.is_terminal() or otherAgent.is_terminal() or anotherAgent.is_terminal()):
# agent execute step
2条答案
按热度按时间isr3a4wc1#
你也可以把你的最大步数封装到环境的
step
方法中的done
标志中。qpgpyjmq2#
虽然我不能提供确切的代码示例,因为我不能看到你的代码,我可以告诉你的方法,我对我的项目。你可以检查一个步骤执行后,如果它的终端状态的意思,如果一个代理达到目标,你可以计数步骤,并检查是否超过你的阈值。我是如何在我的代码是:
希望这会有所帮助。我的代码是与多代理,但你可以使用相同的方法为单代理环境。