当前位置: 首页 > news >正文

【蘑菇书EasyRL】强化学习,笔记整理

【蘑菇书EasyRL】强化学习,笔记整理

  • 1.笔记整理
    • 1.1 学习和决策代码框架
  • 2. 遇到的bug
    • gym 环境,新版本python无法使用
    • env_specs = envs.registry.all() 报错

蘑菇书的教程地址:
https://datawhalechina.github.io/easy-rl/#/chapter1/chapter1?id=_171-gym

强化学习像是一朵昙花,在20年到22年曾经出现过,被认为可能是未来的主流,随着大模型的出现,大部分人的精力都随之而去。
很多代码库都随着python以及软件版本的更新,有了很多的修改,本人近期学习蘑菇书,在这记录学习中遇到的问题等

1.笔记整理

1.1 学习和决策代码框架

SimpleAgent 类的 decide()方法用于决策,learn() 方法用于学习,该智能体不是强化学习智能体,不能学习,只能根据给定的数学表达式进行决策。

class SimpleAgent:def __init__(self, env):passdef decide(self, observation): # 决策position, velocity = observationlb = min(-0.09 * (position + 0.25) ** 2 + 0.03,0.3 * (position + 0.9) ** 4 - 0.008)ub = -0.07 * (position + 0.38) ** 2 + 0.07if lb < velocity < ub:action = 2else:action = 0return action # 返回动作def learn(self, *args): # 学习passagent = SimpleAgent(env)

2. 遇到的bug

gym 环境,新版本python无法使用

gym 环境一开始是openAI开发了制作强化学习的环境,还有之前非常有名的马里奥,但是这个已经被抛弃,使用了一个全新的名字gymnasium。所以如果你需要使用新版本的python的话,可以尝试这个包。

PS:有机会自己搭建一个fc游戏的环境,现有的环境大部分都已经年久失修,很多代码无法使用。

env_specs = envs.registry.all() 报错

是因为all是比较老的方式,会出现:的报错。所以需要修改成values

from gymnasium import envs
env_specs = envs.registry.values()
envs_ids = [env_spec.id for env_spec in env_specs]
print(envs_ids)

相关文章:

【蘑菇书EasyRL】强化学习,笔记整理

【蘑菇书EasyRL】强化学习&#xff0c;笔记整理 1.笔记整理1.1 学习和决策代码框架 2. 遇到的buggym 环境&#xff0c;新版本python无法使用env_specs envs.registry.all() 报错 蘑菇书的教程地址&#xff1a; https://datawhalechina.github.io/easy-rl/#/chapter1/chapter1?…...

尚硅谷谷粒商城项目笔记——三、安装docker【电脑CPU:AMD】

三、安装docker 注意&#xff1a; 因为电脑是AMD芯片&#xff0c;自己知识储备不够&#xff0c;无法保证和课程中用到的环境一样&#xff0c;所以环境都是自己根据适应硬件软件环境重新配置的&#xff0c;这里的虚拟机使用的是VMware。 首先关闭防火墙和安全策略 systemctl…...

【8-9月份唯一机械电气计算机主题的IEEE会议】第七届机电一体化与计算机技术工程国际学术会议(MCTE 2024,8月23-25)

由广东博士创新发展促进会、输变电装备技术全国重点实验室联合主办&#xff0c;重庆大学电气工程学院、AEIC学术交流中心协办的第七届机电一体化与计算机技术工程国际学术会议&#xff08;MCTE 2024&#xff09;将于2024年8月23-25日在中国广州隆重举行。 大会诚挚邀请您投递相…...

YOLOv8改进 | 主干网络 | 简单而优雅且有效的VanillaNet 【华为诺亚方舟】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有80+篇内容,内含各种Head检测头、损失函数Loss、…...

Tomcat高可用集群(实例详解)

一.环境准备 虚拟机的版本&#xff1a;VMware-workstation-full-15.5.6-16341506.exe系统镜像版本&#xff1a;CentOS-6.10-x86_64-bin-DVD1.iso&#xff0c;全新安装&#xff0c;桌面版&#xff0c;可上网系统内存大小&#xff1a;1GB系统硬盘大小&#xff1a;20GB连接工具版…...

搭建自己的金融数据源和量化分析平台(五):更新两市退市股票信息

在前面的股票列表设计中&#xff0c;我们有一个list_status字段&#xff0c;可能的值为L上市 D退市 P暂停上市。 由于股票可能会被退市&#xff0c;因此需要该字段来维护上市状态。 深市爬虫&#xff1a; # 读取深交所最新退市股票列表 def get_delisted_stock_list():cache_f…...

Redis复习总结

之前写的博客太杂,最近想把Redis的知识点再系统的过一遍,带着自己的理解使用简短的话把一些问题总结一下,尤其是开发中和面试中的高频问题,基础知识点参考–>Redis入门、Spring Cache,这篇不再赘述。 目录 基础简介;与Memcached的区别;为什么作为mysql缓存?如何保证R…...

基于JSP的医院挂号系统

你好&#xff0c;我是专注于医疗信息系统的计算机专业毕业生。如果您对医院挂号系统感兴趣或有相关需求&#xff0c;欢迎随时联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术 工具&#xff1a;MyEclipse 系统展示 首页 管理员功能模…...

Chainlit快速实现AI对话应用1 分钟内实现聊天数据的持久化保存

概述 默认情况下&#xff0c;Chainlit 应用不会保留其生成的聊天和元素。即网页一刷新&#xff0c;所有的聊天记录&#xff0c;页面上的所有聊天记录都会消失。但是&#xff0c;存储和利用这些数据的能力可能是您的项目或组织的重要组成部分。 一旦启用&#xff0c;数据持久性…...

STM32DMA数据传输

我估计大多数人学这么久连听说都没听说过DMA&#xff0c;更不用提知道它是干嘛的。其实DMA的本质就是一个数据的搬运工。平常的时候当我们没有配置的时候&#xff0c;一直都是CPU在搬运数据&#xff0c;但是这个活又累又没有技术含量&#xff0c;所以DMA的重要性还是有的。 目…...

Python学习笔记50:游戏篇之外星人入侵(十一)

前言 本篇文章接着之前的内容&#xff0c;继续对游戏功能进行优化&#xff0c;主要是优化游戏状态以及对应的处理。 状态 一个游戏包含多种状态&#xff0c;这个状态是一个可以很复杂也可以很简单的内容。条件所限&#xff0c;我们这个游戏的状态就比较简单&#xff1a; 未…...

vue3踩坑问题记录

//vue3element-plus //1、placeholder换行显示 const startTxt ref() const contentText ref<any>() startTxt.value "请描述问题内容、例如&#xff1a;" historyData.prompt.forEach((el:any)>{contentText.value \n${el.question}}) <ElInputv-mo…...

Python 爬虫实战:Scrapy 框架详解与应用

&#x1f6e0;️ Scrapy 框架基本使用 Scrapy 是一个强大的 Python 爬虫框架&#xff0c;提供了用于提取和处理网页数据的功能。以下是 Scrapy 的基本使用步骤&#xff1a; 安装 Scrapy pip install scrapy创建 Scrapy 项目 scrapy startproject myproject这将生成一个基础…...

60 函数参数——关键参数

关键参数主要指调用函数时的参数传递方式&#xff0c;与函数定义无关。 通过关键参数可以按参数名字传递值&#xff0c;明确指定哪个值传递给哪个参数&#xff0c;实参顺序可以和形参顺序不一致&#xff0c;但不影响参数值的传递结果&#xff0c;避免了用户需要牢记参数位置和…...

wps 最新 2019 专业版 下载安装教程,解锁全部功能,免费领取

文章目录 前言软件介绍软件下载安装步骤激活步骤小福利&#xff08;安卓APP&#xff09;软件介绍软件下载安装步骤 前言 本篇文章主要针对WPS2019专业版的安装下载进行详细讲解&#xff0c;软件已激活&#xff0c;可放心使用&#xff1b;并且可以进行账号登录&#xff0c;进行…...

前端(三):Ajax

一、Ajax Asynchronous JavaScript And XML&#xff0c;简称Ajax&#xff0c;是异步的JavaScript和XML。 作用&#xff1a;数据交换&#xff0c;通过Ajax可以给服务器发送请求&#xff0c;并获取服务器响应的数据。异步交互&#xff1a;可以在不重新加载整个页面的情况下&…...

启动 /使用/关闭 Redis 服务器

1. Linux 启动 Linux 系统启动 Redis 有两种方法&#xff0c;分别是前台启动&#xff0c;后台启动&#xff0c;两者各有差异&#xff1b; &#xff08;1&#xff09;前台启动 首先&#xff0c;需要进入 bin 路径(安装路径不同输入的命令也不同); 个人的命令&#xff08;一般…...

Linux系统中的高级SELinux安全策略定制技术

随着信息技术的发展&#xff0c;计算机系统的安全性变得越来越重要。在开源世界中&#xff0c;Linux作为一种广泛应用的操作系统&#xff0c;其安全性一直备受关注。其中&#xff0c;SELinux&#xff08;Security-Enhanced Linux&#xff09;作为Linux系统中的一个安全模块&…...

使用 Ansible Blocks 进行错误处理

注&#xff1a;机翻&#xff0c;未校。 How to Use Ansible Blocks Make your Playbooks more readable and maintainable using Blocks feature in Ansible. 使用 Ansible 中的块功能使 Playbook 更具可读性和可维护性。 Jul 15, 2024 — LHB Community How to Use Ansible…...

java中的静态变量和实例变量的区别

java中的静态变量和实例变量的区别 在Java中&#xff0c;静态变量&#xff08;也称为类变量&#xff09;和实例变量是两种不同类型的变量&#xff0c;它们在多个方面存在显著的区别。以下是它们之间的一些主要区别&#xff1a; 存储位置 静态变量&#xff1a;存储在方法区&am…...

Python程序员最后的护城河:掌握无GIL环境下的内存序建模、seq_cst原子操作与TSO一致性验证(附GCC/Clang内联汇编对照表)

第一章&#xff1a;Python程序员的无GIL并发觉醒&#xff1a;从CPython锁争用到真正并行的范式跃迁Python开发者长期在CPython解释器下与全局解释器锁&#xff08;GIL&#xff09;共处——它保障了内存管理的安全&#xff0c;却也悄然扼杀了多核CPU上真正的并行计算能力。当I/O…...

双轴卷取分切机程序,PLC和触摸屏使用西门子smart200系列。 前后卷取双轴张力控制计算

双轴卷取分切机程序&#xff0c;PLC和触摸屏使用西门子smart200系列。 前后卷取双轴张力控制计算。 利用变频器模拟量输出控制张力。 卷取版型较好。 内部张力梯度算法理解后可用于恒张力卷取设备。 程序有完整注释&#xff0c;完整的设备图纸&#xff0c;方便理解阅读。 只包含…...

1990~2024年各省市区区县水稻种植面积面板数据

各省市区县区县水稻种植面积面板数据1990&#xff5e;2024 数据文件包含如下&#xff1a; 1990&#xff5e;2024年各城市水稻种植面积面板数据.dta 1990&#xff5e;2024年各区县水稻种植面积面板数据.dta 1990&#xff5e;2024年各省份水稻种植面积面板数据.dta 除了省市…...

48tools:一站式多平台视频下载与直播录制高效解决方案

48tools&#xff1a;一站式多平台视频下载与直播录制高效解决方案 【免费下载链接】48tools 48工具&#xff0c;提供公演、口袋48直播录源&#xff0c;公演、口袋48录播下载&#xff0c;封面下载&#xff0c;B站直播抓取&#xff0c;B站视频下载&#xff0c;A站直播抓取&#x…...

OpenClaw开发提效指南:Qwen3.5-9B实现日志分析+异常修复建议

OpenClaw开发提效指南&#xff1a;Qwen3.5-9B实现日志分析异常修复建议 1. 为什么开发者需要日志分析自动化 作为一名全栈开发者&#xff0c;我每天要面对数十个微服务的日志文件。传统的人工排查方式就像在黑暗森林中摸索——需要反复grep关键字、比对时间戳、手动拼接调用链…...

从SVM到LSTM:我的谣言检测模型优化踩坑实录(附PHEME/微博数据集对比)

从SVM到LSTM&#xff1a;我的谣言检测模型优化踩坑实录 去年夏天接手社交媒体谣言检测项目时&#xff0c;我完全没料到这个看似标准的文本分类任务会如此充满挑战。团队最初的想法很简单&#xff1a;用传统机器学习方法快速搭建基线&#xff0c;再逐步升级到深度学习模型。但当…...

基于贝叶斯优化的稀疏高斯过程回归(BO-SGPR)多输入单输出回归模型【MATLAB】

基于贝叶斯优化的稀疏高斯过程回归&#xff08;BO-SGPR&#xff09;多输入单输出回归模型【MATLAB】 在处理复杂的非线性回归、小样本学习以及带有不确定性量化的预测任务时&#xff0c;高斯过程回归&#xff08;Gaussian Process Regression, GPR&#xff09; 因其强大的理论基…...

_EMD-KPCA-LSTM 基于经验模态分解和核主成分分析的长短期记忆网络多维时间序列预测_matlab_实现基于EMD-KPCA-LSTM多维时间序列预测模型,与LSTM和EMD-LSTM进行对比

EMD-KPCA-LSTM 基于经验模态分解和核主成分分析的长短期记忆网络多维时间序列预测MATLAB代码&#xff08;含LSTM、EMD-LSTM、EMD-KPCA-LSTM三个模型的对比&#xff09; matlab 参考文档&#xff1a;基于EMD-PCA-LSTM的光伏功率预测模型 研究内容&#xff1a;本案例使用数据集是…...

OpenClaw如何做好记忆持久化的 · 六、经济学与可扩展性——记忆的代价

六、经济学与可扩展性——记忆的代价⏱ 30 秒速览 | 中度使用&#xff08;日均 50 次对话&#xff09;纯记忆附加成本&#xff1a;~$5/月&#xff08;Claude Sonnet&#xff09;/ ~$1/月&#xff08;GPT-4o-mini&#xff09;。72% 花在记忆注入&#xff0c;24% 花在自动提取&am…...

Intv_AI_MK11与PyCharm深度集成:打造AI全栈开发环境

Intv_AI_MK11与PyCharm深度集成&#xff1a;打造AI全栈开发环境 1. 引言 作为一名开发者&#xff0c;你是否遇到过这样的场景&#xff1a;在PyCharm中编写代码时&#xff0c;突然卡在某个函数实现上&#xff0c;或者不确定某个API的最佳用法&#xff1f;传统的解决方案是切换…...