OpenAI Gym学习

来源:互联网 发布:统计学 算法模型 编辑:程序博客网 时间:2024/05/22 10:56

记录和上传结果

前面三篇博文介绍了OpenAI Gym安装、使用以及基本环境。接下来介绍如何在OpenAI Gym平台测试自己的强化学习的算法,可以轻松地记录自己算法在环境中的表现,以及拍摄自己算法学习的视频,只需使用Monitor Wrapper包装自己的环境,如下所示:

import gymfrom gym import wrappersenv = gym.make('CartPole-v0')env = wrappers.Monitor(env, '/tmp/cartpole-experiment-1')for i_episode in range(20):    observation = env.reset()    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

在提供的目录将记录自己算法的性能。 Monitor是相当复杂的,并支持写入单个目录的环境的多个实例。
然后,可以将结果上传到OpenAI Gym:

import gymgym.upload('/tmp/cartpole-experiment-1', api_key='sk_Gmo4wYBhRoeJ9shfSS8hvg')

输出应如下所示:

[2017-05-11 00:11:13,592] [CartPole-v0] Uploading 20 episodes of training data[2017-05-11 00:11:21,614] [CartPole-v0] Uploading videos of 3 training episodes (8459 bytes)[2017-05-11 00:11:33,060] [CartPole-v0] Creating evaluation object from /tmp/cartpole-experiment-1 with learning curve and training video[2017-05-11 00:11:33,669] ****************************************************You successfully uploaded your evaluation on CartPole-v0 toOpenAI Gym! You can find it at:    https://gym.openai.com/evaluations/eval_mVPNxudETYOY9eCCwwWzw****************************************************

评估

每次上传都会导致OpenAI Gym的服务器上的评估对象,然后,自己应该创建一个Gist,显示如何重现自己算法的结果,评估页面将具有如下您可以通过Gist网址的框:
这里写图片描述
或者,也可以通过传递写入参数在上传时提供Gist:

import gymgym.upload('/tmp/cartpole-experiment-1', writeup='https://gist.github.com/gdb/b6365e79be6052e7531e7ba6ea8caf23', api_key='sk_Gmo4wYBhRoeJ9shfSS8hvg')

评估将自动得分,并有一个漂亮的页面。在大多数环境中,您的目标是尽量减少达到阈值级别的性能所需的步骤数。(每个环境定义阈值)在某些环境(特别是非常困难的环境)下,尚不清楚该阈值是什么,此时,目标是使最终的表现最大化。
到这里OpenAI Gym的学习就告一段了,接下来就是验证相关的强化学习算法了。

1 0
原创粉丝点击