本文整理汇总了Python中agent.Agent.update_experience方法的典型用法代码示例。如果您正苦于以下问题:Python Agent.update_experience方法的具体用法?Python Agent.update_experience怎么用?Python Agent.update_experience使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类agent.Agent
的用法示例。
在下文中一共展示了Agent.update_experience方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from agent import Agent [as 别名]
# 或者: from agent.Agent import update_experience [as 别名]
def main(env_name, monitor=True, load=False, seed=0, gpu=-1):
env = gym.make(env_name)
view_path = "./video/" + env_name
model_path = "./model/" + env_name + "_"
n_st = env.observation_space.shape[0]
n_act = env.action_space.n
agent = Agent(n_act, seed, gpu)
if load:
agent.load_model(model_path)
if monitor:
env.monitor.start(view_path, video_callable=None, force=True, seed=seed)
for i_episode in xrange(10000):
observation = env.reset()
agent.reset_state(observation)
ep_end = False
q_list = []
r_list = []
while not ep_end:
action = agent.act()
observation, reward, ep_end, _ = env.step(action)
agent.update_experience(observation, action, reward, ep_end)
agent.train()
q_list.append(agent.Q)
r_list.append(reward)
if ep_end:
agent.save_model(model_path)
break
print('%i\t%i\t%f\t%i\t%f' % (i_episode, agent.step, agent.eps, sum(r_list), sum(q_list)/float(len(q_list))))
if monitor:
env.monitor.close()