强化学习实践0

gym是目前强化学习最常用的工具之一,一直在迭代升级。2021年gym库不再更新,推出了gymnasium作为替代 1。
    gymnasium与gym之间的主要不同在于reset和step的返回参数数目发生了变化,具体变化见版本变化。
    gym目前并不支持python3.11版本,所以在台式上就用gymnasium吧。
    
    有很多版本兼容问题,gym0.26.0和之后的版本对之前的代码不兼容。所以可以安装0.25.2。
    seed()函数在新版本已经被删除了。在新版本中,seed应该在reset()函数调用时指定。
    新版本的env_step()的返回值由4个变为5个了。

安装环境:

pip install numpy pandas matplotlib  

 pip install gymnasium[all]       

 pip install gymnasium[accept-rom-license]
pip install pygame       

查看gymnasium库中已注册的环境:

from gymnasium import envs
env_list = envs.registry.keys()
env_ids = [env_item for env_item in env_list]
print('There are {0} envs in gym'.format(len(env_ids)))
print(env_ids)

env_ids可以写入下面这个代码中的gym.make("env_ids")中。

倒立摆代码可运行:

import time
import gymnasium as gym

# 生成环境
env = gym.make('CartPole-v1', render_mode='human')
# 环境初始化
state = env.reset()
# 循环交互

while True:
    # 渲染画面
    # env.render()
    # 从动作空间随机获取一个动作
    action = env.action_space.sample()
    # agent与环境进行一步交互
    state, reward, terminated, truncated, info = env.step(action)
    print('state = {0}; reward = {1}'.format(state, reward))
    # 判断当前episode 是否完成
    if terminated:
        print('terminated')
        break
    time.sleep(0.1)
# 环境结束
# env.close()

终止条件(主要是杆角度和车位置):

这个笔记很不错:

强化学习笔记:Gym入门--从安装到第一个完整的代码示例_gym安装-CSDN博客

强化学习环境gymnasium的搭建_gymnasium安装-CSDN博客

官方文档:

Gymnasium Documentation (farama.org)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值