首页 > 其他分享 >222怎么写一个自己的gym环境

222怎么写一个自己的gym环境

时间:2022-08-31 11:36:39浏览次数:99  
标签:小轮 olsr gym 30 环境 self 222 模拟

首先 我按照遗传算法纯python写好了强化学习算法

只要把这个移植到gym框架就好

   

主要看了这两个网址

https://blog.csdn.net/weixin_44597347/article/details/124301620 ---主要是这个!!!

https://xueqiu.com/1164950442/173500190

(这个等其他的也可以看看 https://blog.csdn.net/qq_33446100/article/details/117845119)

   

   

   

然后是注册:

https://blog.csdn.net/qq_43589538/article/details/125015799

pip3 install -e.

一定要理解清楚各个文件里写的名字的含义

   

比较容易忽略的是gym具体实现的那个python文件的类名字很重要!!!

olsr_rl.py

class OlsrRlEnv(gym.Env):

def __init__(self):

OlsrRlEnv这个类的名字是下面文件里的import

gym_olsr/envs/__init__.py

from gym_olsr.envs.olsr_rl import OlsrRlEnv

   

其他的按照上面教程仔细对应就问题不大

   

   

   

   

 

除了照着这个 https://blog.csdn.net/weixin_44597347/article/details/124301620 写

   

然后还有很多细节是按照百度的那个飞浆教程来写的

D:\RL\PARL\tutorials\parl2_dygraph\lesson3\dqn

具体的gym框架接口 是照着那个小车单摆来写的(比如下面这个例子)

   

 

2022年7月20日11:37:58

我的问题在于:

下棋,最终是为了取得胜利,就结束了。马里奥,最终到了终点就结束了。

小车单摆,最终单摆掉下来 或者 小车超出了运动的边界,就结束了。

   

但是我的网络模拟什么时候终止呢?(养猪,什么时候算养完了呢)

我这里先简单的想一下什么时候网络模拟终止---比如运行小30轮或者更多轮后结束

!!!有关到底要多少小轮的问题讨论和思考

马里奥很简单就可以判断---通关或者生命为0

但是我们一步step就是一个ns3模拟,那一轮要多少小轮(多少次ns3模拟呢?)

王天星认为:至少要能把所有可能的空间探索完才行

我一开始也是这么想的:比如我的网络模拟权重,alpha beta 取值都是0-1之间,然后颗粒度0.1(一般就够了),那一个小轮要10*10=100次模拟

但是回过头细想-一次马里奥,也没说要把所有的前后跳动作都做完,才算一个小轮结束啊!!!

   

总结:一个小轮不需要探索所有的可能(探索所有的可能是多次大轮做的),只要能获取足够多的数据就行

这里大致推测50-200小轮之间,具体得跑实验看

(养猪,养了一年成年了就终止了)

   

这也是为什么自定义的gym环境里,step最终要有一个done的判断!!!

/usr/local/lib/python3.8/dist-packages/gym/envs/classic_control/cartpole.py

done = bool(

x < -self.x_threshold

or x > self.x_threshold

or theta < -self.theta_threshold_radians

or theta > self.theta_threshold_radians

)

   

我的实现:比如 运行30小轮或者更多小轮后结束

/home/ylx/gym_olsr/gym_olsr/envs/olsr_rl.py

# 代表一次模拟结束!!!

# 一次马里奥游戏,最终通关 或 生命为零时 结束

# 小车单摆,最终单摆掉下来 或者 小车超出了运动的边界,就结束了。

# 养猪,养了一年成年了就终止了

# 网络模拟 运行30小轮或者更多小轮后结束 (30是因为ns2书中说一般至少要30轮取平均---这里就类似搞30看看效果)

if self.steps_beyond_done >= 50:

done = True

else:

done = False

   

   

 

2022年7月21日11:09:43

昨天晚上跑了一晚上都没跑完!!!

认真想了一下可以用备忘录啊!!!

我只要输入的alpha和beta参数一定,那ns3得到的网络模拟性能也可能是一定的!!!

所以可以用备忘录!!!

   

   

 

2022年7月21日11:32:14

有关输出的网络性能---即环境 不能简单的直接乘除到个位数!!!

应该按照标准 量级缩放的方法来进行!!!

这就需要我们先做一定的预训练来看看怎么量级缩放了!!!

   

标签:小轮,olsr,gym,30,环境,self,222,模拟
From: https://www.cnblogs.com/libxing/p/16642397.html

相关文章

  • MySql Replication主从环境搭建
    1、主库安装完毕之后,执行以下查询:SHOWVARIABLESLIKE'log_bin';SHOWVARIABLESLIKE'binlog_format';SHOWVARIABLESLIKE'server_id';SHOWVARIABLESLIKE'i......
  • 09 | 阿里云服务器从0配置django环境
    首先要租一台阿里云服务器,注意操作系统为centos7.说一个坑!!如果是ubuntu那么可能会造成有些python的版本不可以安装。配置服务器yumupdateyuminstall-ycr......
  • gym-101667K Untangling Chain
    UntanglingChain构造显然对于一条线段来说,走到头只有左右两边可以选择,换句话说,第一次是横着走,第二次是竖着走,因此可以构造一个走法,让他每次都突破自身走过路径的四个边(......
  • 搭建ELK及kafka日志收集环境之容器内置(filebeat)日志收集
    架构图1、构建tomcat镜像1.1、基础环境准备 1.2、build-command脚本与Dockefile准备[root@easzlab-images-02tomcat-base]#catbuild-command.sh#!/bin/bashT......
  • H - Mr. Panda and Birthday Song Gym - 101775H
    题意:给你一个长度不大于1e6的字符串,由'a'-'z'或‘?’组成,且‘?’可转化为任意小写字母。和两个数x,y。现在有两个条件:字符串中存在任意一个长度为x的子串均为元音,或存在......
  • UI自动化环境搭建
    一、下载驱动地址地址:http://chromedriver.storage.googleapis.com/index.html?path=103.0.5060.53/二、下载selenium三方库在cmd命令中运行pipinstallselenium三......
  • Linux系统应用实验一:Linux系统安装与桌面环境使用
    说明:本文结尾提供了本文所有资料下载的链接供读者下载!实验指导书:实验报告:简要的说明和概述一下centos7系统根目录下各个文件目录:bin目录:bin是Bin......
  • java_4_下载安装配置环境变量
    下载安装:去官网下载所需版本,按照程序引导的步骤安装即可配置环境变量:1.鼠标右击我的电脑>属性>高级系统变量>环境变量2.在环境变量模块新增一个系统变量: 3.在变量Pat......
  • JDK环境变量配置
    1.桌面右键我的电脑选择属性   2.进入高级系统设置 3.选择环境变量  4.新建变量,变量名为JAVA_HOME,值为你jdk存放或者安装的路径  5.新建变量,变量......
  • linux安装java环境
    1.在线下载jdkwget--no-check-certificate--no-cookies--header"Cookie:oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/jdk/......