1. 前言

一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流。

如有不对之处,欢迎评论区指出错误,你我共同进步学习!

2. 正文

2.1 yield

最开始发现于:rollout_storage.py文件下的mini_batch_generator函数:



感觉这个最外层的num_epochs也没用啊?直到我看到了yield,然后去外面的函数看了看它的调用,发现了一个好玩的事情:



才知道这里的roll out的打乱前的batch是按照一个迭代器产生的,我自己也试了一下,确实我之前都没注意到这一点。

相较于return,yield最大的特点是可以手动的推进迭代,举个:

def f1():
for i in range(5):
yield i
a = f1()
print(next(a))
print(next(a))
print(next(a))
print(next(a))

输出:



而return只是返回了一个值,程序运行到这里就断开了,所以不少函数用return作为中断,而yield可以循环返回值,而且函数也不会中断,相当于自己写了一个迭代器,根据自己的需要从迭代器里面“拿”数据,这样解释应该会通俗易懂。

但当然也可以这么写,一下就可以取出迭代器里的所有值了:

def f1():
for i in range(5):
yield i+1,i+2,i+3 generator = f1()
for a,b,c in generator:
print(a,b,c)

输出:

然后在代码中:



圈1表示随机化roll out storages的循环次数:(注意可以自己看代码,这个epochs的每次循环输出的数据其实是重复的),这里就用到了我前面提到的yield的用法,generator迭代器。

这个值调的大,那么在update的时候迭代的次数就越多,其所在位置如下所示:rsl_rl/ppo.py

下面的KL的注释可以不用管他,这个就是一个调整学习率的地方,在.config文件的schedule处可以自行设置,选择fixed就是不更新学习率,始终是一个值,adaptive就是可以更新。

然后回到上面,圈2表示的是batch的数量batch_num,也就是按照一个batch_size大小取样,一共取batch_num次,也就是上面图所表示的内层循环。

注意这个两个值不要开太大,要学会取舍,不然可能会不收敛而且learning_time会"炒鸡"慢

3. 后记

这篇博客暂时记录到这里,日后我会继续补充。

【Legged gym】关于Legged gym用到的roll_out_storages的batch的解析和一些PPO算法层面.config文件里参数的说明的更多相关文章

  1. Gym - 102861B 、Gym - 102861F、Gym 102861G、Gym 102861L、Gym 102861N、Gym 101968C、Gym 101968D

    训练赛链接:https://vjudge.net/contest/410049#problem/D Gym - 102861B 题意: 在一个二维平面上,给你一个船,问你在这个二维平面上有没有船重叠. ...

  2. OAuth 2.0 for MVC, Two Legged Implementation

    OAuth 2.0 for MVC, Two Legged Implementation tdupont  Fri, Mar 18 2011 9:30 AM  13 OAuth 1.0 was one ...

  3. Gym 100952H&&2015 HIAST Collegiate Programming Contest H. Special Palindrome【dp预处理+矩阵快速幂/打表解法】

    H. Special Palindrome time limit per test:1 second memory limit per test:64 megabytes input:standard ...

  4. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) (转载)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  5. 强化学习 平台 openAI 的 gym 安装 (Ubuntu环境下如何安装Python的gym模块)

    openAI 公司给出了一个集成较多环境的强化学习平台  gym , 本篇博客主要是讲它怎么安装. openAI公司的主页: https://www.openai.com/systems/ 从主页上我 ...

  6. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    http://lib.csdn.net/article/aimachinelearning/68113 原文地址:http://blog.csdn.net/jinzhuojun/article/det ...

  7. OpenAI gym的建模思想

    一.强化学习问题需要描述那些内容 强化学习中最主要的两类对象是“个体”和“环境”,其次还有一些像“即时奖励”.“收获”.“状态”.“行为”.“价值”.“策略”.“学习”.“控制”等概念.这些概念把个体 ...

  8. Open AI Gym简介

    介绍 OpenAI Gym是一款用于研发和比较强化学习算法的工具包,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏都在范围中. OpenAI Gym 是一个用于开发和比较 ...

  9. Codeforces Gym 100338B Spam Filter 字符串哈希+贝叶斯公式

    原题链接:http://codeforces.com/gym/100338/attachments/download/2136/20062007-winter-petrozavodsk-camp-an ...

  10. conda常用命令,如何在conda环境中安装gym库?

    查看已安装的环境: conda info -e 或 conda env list 创建新环境gymlab: conda create -n gymlab python=3.5 激活环境gymlab: ...

随机推荐

  1. 消息中间件之-Kafka相关知识

    前言 本篇文章是我基于拉勾kafka课程所作的笔记,包括Kafka基本架构.核心概念.生产者解析.消费者解析.存储.事务.一致性保证等等,希望对大家有所帮助. 一.kafka架构 Kafka基础知识 ...

  2. Pycharm:鼠标滚动控制字体大小

    Pycharm字体放大的设置 1.File -> setting -> Keymap ->在搜寻框中输入:increase -> Increase Font Size(双击) ...

  3. Kotlin:【定义类】field、计算属性、防态竞争条件

  4. 使用twinkle-tray快捷调整多个显示器的亮度

    前言 自从安装了这个小工具,我再也没用过笔记本键盘上的快捷键了~ 介绍 Twinkle Tray enables brightness control on external displays in ...

  5. 2021 OWASP TOP 10

    OWASP TOP 10 2021年版Top 10有哪些变化? 2021年版Top 10产生了三个新类别,原有四个类别的命名和范围也发生了变化,且进行了一些 整合. 2017年 TOP 10 top ...

  6. 识别与防御CSRF漏洞

    识别与防御CSRF漏洞 CSRF(Cross-Site Request Forgery,跨站请求伪造),通常也被称为"一键攻击"或"会话劫持",其缩写为CSRF ...

  7. 修改本机host文件后,浏览器访问还是旧的网址

    一.修改本机host文件后也会遇到修改hosts不生效的情况,而且有时生效,有时不生效情况 1.DNS缓存机制 一条域名的DNS记录会在本地有两种缓存,浏览器缓存和操作系统(OS)缓存.在浏览器中访问 ...

  8. 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)

    一.基础原则 1️⃣ 说人话最重要 "不用专业术语,就像和朋友聊天一样描述需求". ️ 错误示范:"请用SWOT分析法输出新能源汽车行业报告". 正确示范:&q ...

  9. Docker启动Nginx

    Docker启动Nginx 搜索镜像 docker search nginx 拉取镜像 这里拉取的官方镜像 docker pull nginx 创建挂载目录 将nginx的文件都放在/opt/ngin ...

  10. [TJOI/HEOI2016] 求和 题解

    为什么又是佳媛姐姐啊啊啊! 斯特林数在这道题中不好处理,直接拆开: \[f(n)=\sum_{i=0}^n\sum_{j=0}^i\begin{Bmatrix}i\\j\end{Bmatrix}2^j ...