强化学习实践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')breaktime.sleep(0.1)
# 环境结束
# env.close()

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

这个笔记很不错:

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

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

官方文档:

Gymnasium Documentation (farama.org)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【重回王座】ChatGPT发布最新模型gpt-4-turbo-2024-04-09

今天,新版GPT-4 Turbo再次在大型模型排行榜上荣登榜首,成功超越了此前领先的Claude 3 Opus。另外,新模型在处理长达64k的上下文时,性能竟能够与旧版在处理26k上下文时的表现相当。 目前GPT-4 Turbo仅限于ChatGPT Plus的用户&…

minio-docker单节点部署SDK测试文件上传下载

目录 一,docker部署minio单节点单磁盘 二,SDK测试上传下载 一,docker部署minio单节点单磁盘 1.拉取镜像 # 下载镜像 docker pull minio/minio 2.查看镜像 docker images 3.启动minio(新版本) 创建本机上的挂载目录,这个可以…

C++11的更新介绍(lamada、包装器)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 lambda表达式 C98中的一个…

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。 代码如下: //简单工厂模式 public class SimpleFactory {public static void main(String[] args) {Product ProductAFactory.createProduct("A");ProductA.info();Produc…

AI赋能档案开放审核:实战

关注我们 - 数字罗塞塔计划 - 为进一步推进档案开放审核工作提质增效,结合近几年的业务探索、研究及项目实践,形成了一套较为成熟、高效的AI辅助档案开放审核解决方案,即以“AI人工”的人机协同模式引领档案开放审机制创新,在档…

SQL注入sqli_libs靶场第一题

第一题 联合查询 1)思路: 有回显值 1.判断有无注入点 2.猜解列名数量 3.判断回显点 4.利用注入点进行信息收集 爆用户权限,爆库,爆版本号 爆表,爆列,爆账号密码 2)解题过程&#xff1…

C语言学习笔记之指针(一)

目录 什么是指针? 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针? 野指针的成因 如何规避野指针? 二级指针 什么是指针? 在介绍指针之前&#…

Vulnhub靶机 DC-1渗透详细过程

Vulnhub靶机:DC-1渗透详细过程 目录 Vulnhub靶机:DC-1渗透详细过程一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描web渗透利用msf反弹shell数据库信息web管理员密码提权 一、将靶机导入到虚拟机当中 靶机地址: https://www.vulnhub.com/entry/dc-1-1,29…

Python网络爬虫中JSON格式数据存储详解

目录 一、引言 二、JSON格式数据简介 三、Python中处理JSON数据 四、网络爬虫中获取JSON数据 五、存储JSON数据到文件 六、从文件中读取JSON数据 七、注意事项和常见问题 八、总结 一、引言 在网络爬虫的应用中,JSON格式数据以其轻量级、易读易写的…

【计算机毕业设计】停车场管理系统——后附源码

🎉**欢迎来到琛哥的技术世界!**🎉 📘 博主小档案: 琛哥,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 琛哥在深度学习任务中展现出卓越的能力&a…

移动硬盘盒子加入PD100W充电功能:便携存储与高效充电的完美结合

在数字化时代,移动存储设备已经成为我们日常生活中不可或缺的一部分。无论是工作文件、学习资料还是娱乐内容,我们都需要一种可靠且便捷的方式来存储和携带这些数据。近年来,移动硬盘盒子以其紧凑的设计和出色的性能,受到了广大用…