自定义并注册Gym环境

本文详细指导如何在Python中自定义Gym环境,包括设置up.py、注册环境ID、编写envs文件结构及实现核心方法。通过一步步操作,教你如何安装并测试自定义的Gym环境,适合环境设计与机器学习初学者。
摘要由CSDN通过智能技术生成

@TO自定义并注册Gym环境C

自定义并注册Gym环境

一.建立以下形式的文件结构

在这里插入图片描述

二.各文件的代码

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

steup.py:
from setuptools import setup

setup(name='gym_ubi',
      version='0.0.1',
      install_requires=['gym']
)

gym_ubi目录下的 _init_.py它注册了你想创建环境的id和entry_points(文件位置)
id#环境名,版本号v0必须有
entry_points#文件夹名.文件名:类名

import logging
from gym.envs.registration import register
logger = logging.getLogger(__name__)
register(
    id='Gym_ubi-v0',
    entry_point='gym_ubi.envs:MyUBIEnv'
)

/gym_ubi/envs目录下的_init_.py,其中是ubi_env是环境所存在的文件名字,MyUBIEnv是该文件下的类。

from gym_ubi.envs.ubi_env import MyUBIEnv

/gym_ubi/envs/ubi_env.py就是自己想定义的环境,通常有以下结构。
1、reset(self):重置环境的状态,返回观察。
2、step(self,action):推进一个时间步长,返回 observation,reward,done,info
3、render(self,mode=’human’,close=False):重绘环境的一帧。默认模式一般比
较友好,如弹出一个窗口

import gym
from gym import error, spaces, utils
from gym.utils import seeding
class MyUBIEnv(gym.Env):
    metadata = {'render.modes': ['human']}
    def __init__(self):
        pass
    def step(self, action):
        print("step.")
    def reset(self):
        print("reset")
    def render(self, mode='human', close=False):
        pass

/gym_ubi/envs/UBIAgent.py 可以测试环境是否成功创建。

import gym
import gym_ubi
from gym import envs
env = gym.make('Gym_ubi-v0')
env.reset()
for _ in range(5):
    env.render()
env.step(env.action_space.sample()) # take a random action

envids = [spec.id for spec in envs.registry.all()]
print("NUM:",len(envids))
for envid in sorted(envids):
    print(envid)

三.安装并测试图

安装方式:在此文件夹目录下/gym-ubi-master利用终端Anaconda Prompt敲

pip install -e .

在这里插入图片描述

测试结果截图:表面已成功自定义环境。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值