天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > Gym学习(2)自定义注册Gym环境

Gym学习(2)自定义注册Gym环境

时间:2018-12-04 13:22:02

相关推荐

Gym学习(2)自定义注册Gym环境

一个Gym环境包含智能体可与之交互的必须的功能。一般包含4个函数(方法): init:初始化环境类step:输入action,输出包含4个项的list:the next state, the reward of the current state, done, info.reset:重置state和环境的其他变量render:显示实时的视频 所有gym环境都包含在pip包中,并遵循以下结构

其中各部分的代码如下:gym-foo/setup.py

from setuptools import setupsetup(name='gym_foo',version='0.0.1',install_requires=['gym'])

这是pip的安装文件。它描述了环境的名字、版本、依赖等。

gym-foo/gym_foo/init.py

from gym.envs.registration import registerregister(id='foo-v0',entry_point='gym_foo.envs:FooEnv',)

这个文件注册了环境的id和entry points

gym-foo/gym_foo/envs/init.py

from .foo_env import FooEnv

gym-foo/gym_foo/envs/foo_env.py

import gymfrom gym import error, spaces, utilsfrom gym.utils import seedingclass FooEnv(gym.Env):metadata = {'render.modes': ['human']}def __init__(self):passdef step(self, action):passdef reset(self):passdef render(self, mode='human', close=False):pass

现在,环境已经定义完成,下面可以进行安装和注册环境了。

进入到gym-foo目录,运行pip命令

pip install -e .

-e 参数表示这个包是以"editable"模式安装的。这意味着这个包安装在本地,并且任何对于原始包的任何更改都会反映到环境上面。

3. 创建Gym环境

新建一个py文件create_gym_foo.py

import gymimport gym_fooenv = gym.make('foo-v0')

运行该文件会创建一个名为foo-v0的Gym环境

4. 查看已有的Gym环境

新建一个py文件test_gym_foo.py

from gym import envsimport gym_fooenvids = [spec.id for spec in envs.registry.all()]for envid in sorted(envids):print(envid)

运行该文件,查看输出内容

可以看到最后一个即为我们刚刚创建的Gym环境。

本文参考自:/article/57141243315/

欢迎查看下篇:Gym学习(3)创建Pybullet的Gym环境

如果觉得《Gym学习(2)自定义注册Gym环境》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。