RL强化学习 搭建自己的gym环境

一、在自己的anaconda环境中找到gym包目录下env文件夹
C:\Users\admin\anaconda3\envs\RL\Lib\site-packages\gym\env

二、在env目录下创建user文件夹
C:\Users\admin\anaconda3\envs\RL\Lib\site-packages\gym\env\user

三、在user目录下创建两个文件
(1) __ init __.py
(2) my_env_v1.py

四、在my_env_v1.py中编写环境

import math
from typing import Optional, Union

import numpy as np

import gym
from gym import logger, spaces
from gym.envs.classic_control import utils
from gym.error import DependencyNotInstalled
from gym.utils.renderer import Renderer

class My_Env():

	def __init__():
		'''
			初始化函数
			配置环境参数
		'''
	def step():
		'''
			交互函数
			相当于物理引擎
			输入:动作
			返回:下一步状态,即时奖励,终止状态标志,调试项
		'''
	def reset():
		'''
			初始化函数
			环境状态随机初始化
		'''
	def render():
		'''
			渲染函数
			展示动画场景
		'''
	def close():
		'''
			关闭图形界面函数
			终止动画的显示
		'''
	

五、在**__ init __.py **中导入环境

from gym.envs.user.my_env_v1 import My_Env

六、在env文件夹中的**__ init __.py **中注册环境
在文件最后添加代码

register(
    id='MyWorld-v1',
    entry_point='gym.envs.user.my_env_v1:My_Env',
    max_episode_steps=1000,
)

七、环境搭建完成后的测试

import gym
import random
import numpy as np
env = gym.make('MyWorld-v1')	#导入环境
env.reset()		#初始化
while True:
    #a = random.choice((0,1))	#随机生成动作
    #s,r,done,_ = env.step(a)	#执行动作
    env.render()	#循环渲染
    #if done == True:
    #    env.reset()	
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值