当前位置: 首页 > 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)
http://www.lryc.cn/news/416306.html

相关文章:

  • 尚硅谷谷粒商城项目笔记——三、安装docker【电脑CPU:AMD】
  • 【8-9月份唯一机械电气计算机主题的IEEE会议】第七届机电一体化与计算机技术工程国际学术会议(MCTE 2024,8月23-25)
  • YOLOv8改进 | 主干网络 | 简单而优雅且有效的VanillaNet 【华为诺亚方舟】
  • Tomcat高可用集群(实例详解)
  • 搭建自己的金融数据源和量化分析平台(五):更新两市退市股票信息
  • Redis复习总结
  • 基于JSP的医院挂号系统
  • Chainlit快速实现AI对话应用1 分钟内实现聊天数据的持久化保存
  • STM32DMA数据传输
  • Python学习笔记50:游戏篇之外星人入侵(十一)
  • vue3踩坑问题记录
  • Python 爬虫实战:Scrapy 框架详解与应用
  • 60 函数参数——关键参数
  • wps 最新 2019 专业版 下载安装教程,解锁全部功能,免费领取
  • 前端(三):Ajax
  • 启动 /使用/关闭 Redis 服务器
  • Linux系统中的高级SELinux安全策略定制技术
  • 使用 Ansible Blocks 进行错误处理
  • java中的静态变量和实例变量的区别
  • 【Effecutive C++】条款02 尽量以const, enum, inline替换 #define
  • leetcode-226. 翻转二叉树
  • 用的到linux-tomcat端口占用排查-Day5
  • mqtt协议详解(0)初步认识mqtt
  • Java语言程序设计基础篇_编程练习题*16.7 (设置时钟的时间)
  • YOLOv8新版本支持实时检测Transformer(RT-DETR)、SAM分割一切
  • 【传输层协议】UDP和TCP协议
  • Java Excel复杂表头,表头合并单元格
  • Java整合腾讯云发送短信实战Demo
  • 电路中电阻,电容和电感作用总结
  • OrangePi AIpro学习1 —— 烧写和ssh系统