gym自定义环境

如何自定义一个自己的强化学习环境呢,并且将该环境安装在本地文件夹中,可供随时修改该环境,如状态、动作、奖励等。具体方法如下:

1.首先创建这样一个包:

TX_PiH/
  README.md
  setup.py
  gym_envs/
    __init__.py
    envs/
      __init__.py
      tx_pih.py

重要文件分别为:
TX_PiH/setup.py
TX_PiH/gym_envs/init.py
TX_PiH/gym_envs/envs/init.py

2.分别为上述三个文件添加自定义内容:

2.1 TX_PiH/setup.py:
from setuptools import find_packages, setup
setup(
    name="gym_envs",
    author="Wang Feihong",
    version='2.0.0',
    packages=find_packages(),
    )

该文件中,重点必要内容是:1环境名称name、2版本version

2.2 TX_PiH/gym_envs/init.py:
from gym.envs.registration import register
register(
    id="txPiH-v2",
    entry_point="gym_envs.envs:TXEnv",
    max_episode_steps=350,
)

这是为了gym检测到自定义环境,环境id必写,为了之后环境的生成需要,entry_point必写,指向环境所在位置及代码中环境类名称,max_episode_steps可写,判断智能体在当前回合能进行的最大步数,若已达目标或者达到最大步数,则产生完成信号。
除此之外,注册自定义环境还有其他关键字:reward_threshold、nondeterministic、order_enforce、autoreset、kwargs。具体参见gym的api文档。

2.3 TX_PiH/gym_envs/envs/init.py:
from gym_envs.envs.tx_pih import TXEnv

添加该行路径信息即可。gym_envs.envs.tx_pih.py文件中即写明强化学习环境,类名称为TXPeginHoleEnv:“class TXPeginHoleEnv(gym.env)”,可在之中定义observation_space、action_space、reset、step、render、close等。

3.本地安装该自定义环境

pip install -e .

在TX_PiH文件夹下,打开终端运行该命令即可,conda对应虚拟环境目录"envs/你的虚拟环境名称/lib/python3.X/site-packages/"会生成链接文件:gym-envs.egg-link。
若使用该命令:python setup.py install。会将自定义环境安装到虚拟环境位置中。

4.测试环境

创建测试文件:test.py

import gym
import gym_envs
env = gym.make('txPiH-v2')

能成功调用到该环境,则表明自定义环境创建成功。

参考资料:https://www.gymlibrary.dev/content/environment_creation/

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值