首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雷的RLlib是如何利用LazyFrames的?

雷的RLlib是如何利用LazyFrames的?
EN

Stack Overflow用户
提问于 2019-07-18 01:06:58
回答 1查看 210关注 0票数 0

我正在尝试找出RLLib如何有效地利用帧,即它如何避免将重复的帧保存到内存中,这在OpenAI基线中是通过LazyFrames完成的。

在Ray的RLLib atari_wrapper.py中,似乎所有的观测值都以普通的ndarray格式存储:https://github.com/ray-project/ray/blob/master/python/ray/rllib/env/atari_wrappers.py#L253

这与OpenAI基线中LazyFrames的常见用法形成了鲜明对比:https://github.com/openai/baselines/blob/master/baselines/common/atari_wrappers.py#L217

这样做是因为PyArrow不能使用LazyFrames并且需要numpy数组吗?即使是这样,假设RLLib中的_get_ob输出是4个观测值的串联数字数组,那么内存需求不是比分别保存4个观测值并通过射线对象in链接它们要高得多吗?这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-18 03:19:26

RLlib不使用LazyFrames。对于使用大量内存的算法,例如DQN,它使用LZ4压缩观察值,这以一些额外的CPU时间为代价提供了更高的节省。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57081007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档