highway-env更改环境配置
前言
关于在模型训练过程中需要更改某些配置来使车辆运行或道路满足某些特殊需要,首先需要打开该项目的源文件的安装位置(本人是先安装的python,并通过pip安装的该环境的库):
C:\Users\你的用户名\AppData\Local\Programs\Python\Python36\Lib\site-packages\highway_env
1、车辆的加、减速度区间以及转向区间
在利用强化学习对车辆进行训练时,车辆默认是可以前进以及后退的,但是车辆后退会导致需要的训练回合数较高而且模型很容易不收敛,为了验证算法的有效性,一般是要求车辆只可以前向行驶。该环境中,车辆的前进以及后退通过加速度来进行控制,其默认范围在highway_env\envs\common\action.py文件中的ContinuousAction类下
ACCELERATION_RANGE = (-5, 5.0)"""Acceleration range: [-x, x], in m/s²."""STEERING_RANGE = (-np.pi / 4, np.pi / 4)"""Steering angle range: [-x, x], in rad."""
2、增加观测信息
在某些条件下,我们在训练过程中,希望观测更多的state中不含有的车辆及环境的状态信息,这些状态信息在训练过程中的以下语句中的info变量中。
next_state, reward, done, info = env.step(action)
其可以通过在highway_env\envs\common\abstract.py文件中的_info函数下更改,通过在
info = {"speed": self.vehicle.speed,"crashed": self.vehicle.crashed,"vehicle heading": self.vehicle.heading,#车辆的指向角,以pi为单位"action": action,}
下添加对应的内容即可实现,上述代码中的
"vehicle heading": self.vehicle.heading,#车辆的指向角,以pi为单位
就是我自己添加的,它反映的是车辆的指向角信息。
3、创建自己的环境
创建自己的环境主要注意的点有以下几条:
建议在已有环境的基础上进行更改。
首先是要将原始类名改掉(自己随便取),如下
class feiv0(AbstractEnv):
其他奖励函数、车辆以及道路网等根据自己的需要自行修改即可。
其次要注意的是
register(id='fei-v0',#调用环境时的identry_point='highway_env.envs:feiv0',#此处的feiv0应该与上文所述的类名相同
)
修改完毕后即可在模型训练或测试过程中,通过以下命令调取环境
env = gym.make("fei-v0")
后记
其他一些暂时还没有想到,也没有用到,等后续有需要再补充吧。
highway-env更改环境配置相关推荐
- Hack The Box - Meta 利用Exiftool远程代码执行漏洞获取webshell,ImageMagrick命令执行漏洞横向提权,更改环境配置SUDO纵向提权
Hack The Box - Meta Hack The Box开始使用流程看这篇 文章目录 Hack The Box - Meta 整体思路 1.Nmap扫描 2.Exiftool远程代码执行漏洞( ...
- anaconda如何更改环境配置_Anaconda环境配置2020-08-27
明天是人在公司的最后一天,电脑将留在公司.在此为这2个月的环境做个记录方便自己的电脑复现. C:Userscompu>conda env list # conda environments: # ...
- anaconda如何更改环境配置_手把手教新手安装Anaconda配置开发环境
Anaconda是针对Python的集成环境,它已经成为全球数千万数据科学从业人员必备的开发工具,帮助人们有效地解决数据科学和机器学习相关地问题.如果你想从事数据科学和机器学习的工作,可以从本文开始, ...
- React项目配置axios和反向代理和process.env环境配置等
React项目配置axios和代理和proces.env环境配置等 React项目配置axios和代理和proces.env环境配置等 配置axios和代理 proces.env环境配置 React项 ...
- Anaconda创建跟别人环境配置一样的虚拟环境(coda env creat -f environment.yml)
当我们跑别人在github上的代码时,往往需要配置跟作者一样的环境.当作者导出自己的环境配置时,一般都是.yml文件,这时候需要输入命令行来实现配置一模一样的环境. 导出的yml文件一般配置如下: n ...
- [配置]VUE中通过process.env判断开发,测试和生产环境,并分环境配置不同的URL HOST
[配置]VUE中通过process.env判断开发,测试和生产环境,并分环境配置不同的URL HOST process.env是什么? process.env 是 Node.js 中的一个环境对象.其 ...
- 环境配置 | 更改注册表使PPT导出的图片分辨率达到300dpi
环境配置 | 更改注册表使PPT导出的图片分辨率达到300dpi(转) 转载原文链接: http://www.360doc.com/content/18/0621/17/7669533_7641843 ...
- 【环境配置】临时更改pip源至清华、阿里、中科大镜像
[环境配置]临时更改pip源至清华.阿里.中科大镜像 清华源: -i https://pypi.tuna.tsinghua.edu.cn/simple 阿里源: -i https://mirrors. ...
- vue cli3 热更新 保存时自动刷新页面内容 + 分离环境变量.env package.json配置
前几天ts+vue3.0+view-design撸了一个项目,然后总感觉哪里不对劲,今天终于醒悟了原来是热更新没开 在vue.config.js中配置以下选项 const IS_PRO = ['pro ...
最新文章
- 小程序云开发获取手机号完整代码 云函数中网络请求第三方接口
- 老师学python可以干嘛-学 Python 都用来干嘛的?
- 2022年全球及中国智慧消防栓行业与十四五投资建议与竞争策略研究报告
- LeetCode 1124. 表现良好的最长时间段(单调栈/哈希)
- FSNotes for Mac(强大的文本编辑器)
- 51NOD-1029 大数除法【大数】
- mysql图片数据类型_Mysql数据类型简介(大概了解)
- 一键搞定JavaEE应用,JRE+Tomcat+Mysql-JaveEE绿色运行环境JTM0.9版 (转载)
- 如何从零开始准备数学建模竞赛?
- C++ SHFileOperation实现文件、文件夹拷贝、删除、重命名
- nexus 发布报错 Not authorized
- 软件开发过程与项目管理
- vp230引脚功能_CAN收发器—TJA1040与TJA1050区别
- leetcode刷题方法
- 学生台灯哪个品牌的专业?盘点小学生台灯品牌排行榜
- FPGA_硬件电路(自用)
- 安防天下1——视频监控技术概述及相关基础了解
- 求解TSP问题神器——elkai(简单好用)
- 蓝牙4.0 BLE协议结构图详解
- 时间格式 年月日时分秒毫秒
热门文章
- CodeForces - 978F Mentors(思维)
- 一款免费的百度网盘下载软件
- 7发布年份_众多洋酒大牌相继发布新品 | 全球烈酒新品一周速览
- Vue超出文本框显示省略号,鼠标滑入显示全部
- python3获取oracle REST API for Oracle Eloqua Marketing Cloud Service 数据
- 智慧停车场管理系统php,智慧停车场管理系统云平台源码
- 数据结构、算法与应用c++语言描述(答案)
- 电网电压采样方案之一变流并联负反馈,电流反馈
- java判断键盘按键按下_在Java中检测并操作键盘方向键
- 13个经典的量化策略涵盖股票期货期权市场