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

西安网站建设q.479185700強高端网站设计定制公司

西安网站建设q.479185700強,高端网站设计定制公司,wordpress 不同文章不同模板,深圳vi设计公司全力设计我们为什么要创建一个gym的环境呢#xff1f;因为需要#xff0c;哈哈哈#xff0c;这是一句废话#xff0c;但是也是一句真话。因为我不想自己写强化学习的算法了#xff0c;我想用一些现成的框架#xff0c;这些框架训练的都是gym的游戏#xff0c;那我把我自己想要训…我们为什么要创建一个gym的环境呢因为需要哈哈哈这是一句废话但是也是一句真话。因为我不想自己写强化学习的算法了我想用一些现成的框架这些框架训练的都是gym的游戏那我把我自己想要训练的东西改成一个gym的框架不就可以直接用强化学习的框架来训练了嘛。就是这么一个简单的需求我们开始吧。 顺便说一下我这里的gym是比较老的版本新版本的gym有一些不同新版本的gym在step函数中返回的是一个五元组reset返回的是一个二元组这都与旧版本不同但是这些强化学习的框架还没有改过来所以我们也就使用了旧版本函数不过这也不是什么大问题。 需要实现的函数 __init__() 构造函数中我们需要定义两个变量self.action_space和self.observation_space 为了覆盖父类的变量这两个变量的名字是固定的。它们定义了强化学习中的动作空间和状态空间的类型和大小如果是离散的则使用Discrete创建参数为离散量的个数比如CartPole中CartPole中的 self.action_space实际就是用Discrete(2)创建的如果是连续的则使用Box创建比如CartPole这个例子中状态有四维而且状态空间的每个维度都有定义域那么就可以如下创建 self.action_space Discrete(2)high np.array([ self.x_threshold * 2,np.finfo(np.float32).max, # finfo可以显示响应类型的机器限制这里为浮点数最大值 self.theta_threshold_radians * 2,np.finfo(np.float32).max,]) self.observation_space spaces.Box(-high, high, dtypenp.float32)reset() 调用这个方法可以重置模拟器环境并返回重启后的模拟器中agent的初始state step() 调用该方法以实现agent与simulator进行一次交互。我们的奖励机制也需要写在这个函数中所以该函数非常重要。该函数的返回值必须是四元组包含 state 状态也就是状态空间 reward 奖励交互后agent得到的奖励 done 结束true表示已经结束False表示没有结束 info 信息是一个字典用来debug一般用不到 render() 用来显示画面一般pass如果有能力写动画的话也可以 seed() 用来设置随机种子一般pass如果程序中有一些随机性的行为可以在这里设置随机种子。 定义一个简单的环境 我们定义我们的动作空间为两个值范围均为 [-1,1]状态空间或者说观测空间为离散的5个变量奖励为两个动作的和状态转移均为从0到1234状态到4就结束。看一下代码 import gym from gym import spaces from stable_baselines3 import A2C import numpy as npclass MySim(gym.Env):def __init__(self):low np.array([-1,-1],dtypenp.float32)high np.array([1,1],dtypenp.float32)self.action_space spaces.Box(low,high,dtypenp.float32)self.observation_space spaces.Discrete(5)self.state 0def step(self,action):self.state 1reward action[0] action[1] # 这里的reward的类型是np,float32不是python内建的floatdone Falseif self.state 4:done Trueinfo {}return self.state, float(reward), done, infodef reset(self):self.state 0return 0def render(self,modehuman):passdef seed():pass可以用一些工具来检测这个环境是否正确比如 stable_baselines3 下的 check_env就可以帮助我们进行环境的检测 from stable_baselines3.common.env_checker import check_env if __name__ __main__: env MySim()check_env(env)如果没有任何报错就说明环境正常可以用这个环境来训练一些代码了我们用了A2C算法 if __name__ __main__:env MySim()check_env(env)model A2C(policyMlpPolicy, envenv)model.learn(total_timesteps10000)obs env.reset()# 验证一次for _ in range(10):action, state model.predict(observationobs)print(action[0] action[1])obs, reward, done, info env.step(action)if done:break输出为 2.0 2.0 2.0 2.0可以预见的输出正确。
http://www.w-s-a.com/news/847305/

相关文章:

  • 网站设计是平面设计吗音频文件放到网站空间里生成链接怎么做
  • seo是对网站进行什么优化可以在哪些网站做翻译兼职
  • 南宁seo网站推广服务网站建设客户分析
  • 网站属于什么公司甜品售卖网站网页设计
  • 如何在宝塔中安装wordpressseo1888网站建设
  • 网站系统cms湖南平台网站建设制作
  • 美团网站怎么做未备案网站加速
  • 通用cms网站wordpress可以商用
  • 阳江网络问政平台 周报济南seo公司案例
  • 重庆聚百思网站开发网络市场调研
  • seo工具共享网站敬请期待的英语
  • 最好看免费观看高清大全中国移动网络优化做什么的
  • 网站开发的步骤医院网站建设细节
  • 阿雷网站建设wordpress lucene
  • seo做多个网站建筑公司企业标语
  • 各大网站收录查询汕尾手机网站设计
  • 东莞网站平台费用58同城推广能免费做网站吗
  • 网站建设的组织机构做博客网站赚钱吗
  • 移动网站建设的前期规划内容南阳网站备案
  • 天津公司网站建设公司哪家好网站建设评估
  • 猪八戒网网站建设wordpress建网 打不开
  • 廊坊网站排名优化报价自学网站建设和seo
  • 摄影网站开发背景vs2012做网站
  • 网站建设空间使用标准沈阳网站建设招标公司
  • 网站流量怎么做的成都山而网站建设公司
  • 天河区网站建设公司爱站网排名
  • 怎样开发设计网站建设博物馆网页设计案例
  • 山西建设厅网站查不了seo搜索引擎优化包邮
  • 临沂网站建设价格太原网站优化公司
  • 网页设计基础课程设计搜索引擎优化英文