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

云南网站推广大连集团网站建设

云南网站推广,大连集团网站建设,企业门户网站中国燃气,网络推广运营培训班欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》 文章是根据 蘑菇书EasyRL 以及新版本的gym编写的可运行代码和示例, 0.安装环境, 文章所使用的python版本为py310 库版本如下 cloudpickle3.1.1 Farama-Notifications0.0.4 g…

欢迎去各大电商平台选购纸质版蘑菇书《Easy RL:强化学习教程》

文章是根据 蘑菇书EasyRL 以及新版本的gym编写的可运行代码和示例,

0.安装环境,

文章所使用的python版本为py310
库版本如下

cloudpickle==3.1.1
Farama-Notifications==0.0.4
gym-notices==0.0.8
gymnasium==1.1.1
numpy==2.2.4
pygame==2.6.1
typing_extensions==4.13.2

效果:

请添加图片描述

代码:

import gymnasium as gym
import numpy as npclass 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):  # 学习passdef play(env, agent, seed_id,train=False):episode_reward = 0. # 记录回合总奖励,初始值为0observation, info = env.reset(seed=seed_id) # 重置游戏环境,开始新回合while True: # 不断循环,直到回合结束action = agent.decide(observation)observation, reward, terminated, truncated, info= env.step(action) # 执行动作episode_over = terminated or truncated # 是否结束episode_reward += reward # 收集回合奖励if train: # 判断是否训练智能体agent.learn(observation, action, reward, episode_over) # 学习,这里是空的if episode_over: # 回合结束,跳出循环observation, info = env.reset(seed=seed_id) # 游戏失败了,重设环境breakreturn episode_reward # 返回回合总奖励if __name__ == '__main__':SEED_ID = 3env = gym.make("MountainCar-v0", render_mode="human")print('观测空间 = {}'.format(env.observation_space))print('动作空间 = {}'.format(env.action_space))print('观测范围 = {} ~ {}'.format(env.observation_space.low,env.observation_space.high))print('动作数 = {}'.format(env.action_space.n))agent = SimpleAgent(env)episode_reward = play(env, agent,SEED_ID)print('回合奖励 = {}'.format(episode_reward))episode_rewards = [play(env, agent,SEED_ID) for _ in range(100)]print('平均回合奖励 = {}'.format(np.mean(episode_rewards)))env.close()  # 关闭图形界面

输出:

在这里插入图片描述

SimpleAgent 类对应策略的平均回合奖励在 110 左右,而对于小车上山任务,只要连续 100 个回合的平均回合奖励大于 110,就可以认为该任务被解决了

测试智能体在 Gym 库中某个任务的性能时,出于习惯使然,学术界一般最关心 100 个回合的平均回合奖励。

对于有些任务,还会指定一个参考的回合奖励值,当连续 100 个回合的奖励大于指定的值时,则认为该任务被解决了。而对于没有指定的参考的回合奖励值的任务,就无所谓任务被解决了或没有被解决。

对 Gym 库的用法进行总结:

使用 env=gym.make(环境名)取出环境,使用 env.reset()初始化环境,使用 env.step(动作)执行一步环境,使用 env.render()显示环境,使用 env.close()关闭环境.

http://www.dtcms.com/a/438449.html

相关文章:

  • Sora 2 的社交野心:AI 如何重构内容社交产品逻辑?
  • 免费行情网站看男科一般花多少钱
  • 突破规模瓶颈的密钥:混合专家模型(MoE)的架构演进与应用
  • 厦门最早做网站的公司曲阳网站建设在哪
  • Spring Boot 的 7 大核心优势
  • GitLab入门教程:打开DevOps全流程的大门
  • 旅行社网站规划与建设的流程中国建设银行网站主要功能
  • 【408计组】3.2 主存储器的基本组成
  • 长沙门户网站建设公司徐典超 网站建设
  • 百度做任务的网站网站建设中古典武侠中文字幕
  • 【pytest】finalizer 执行顺序:FILO 原则
  • Windows11配置MSYS2+vscode+cpp+cmake环境
  • flash网站需要改变足球比赛直播观看
  • 批量M3U8转MP4工具
  • 关于棋牌游戏网站建设文案app 网站开发公司电话
  • 族谱家谱抖音快手微信小程序看广告流量主开源
  • 红河蒙自网站开发网站默认样式
  • 新版本Jenkins(2.516.1)界面如何设置为中文
  • CentOS 7 系统安装步骤(从U盘启动到桌面详细流程)附镜像下载​
  • [xboard] 23 kernel启动流程之汇编篇
  • 教育网站开发需求说明书同步朋友圈到wordpress
  • Lua上值与闭包
  • C语言指针全解析:从内存本质到高级应用的系统化探索
  • 博客网站开发背景及意义上传网站软件
  • 数据链路层协议——以太网,ARP协议
  • stub区域 概念及题目
  • 使用QT Designer建立QT视窗操作面简介
  • 好的外贸网站的特征商务网站建设方案ppt
  • Java代码审计-Servlet基础(1)
  • 微信建网站平台的宁河网站建设