OpenAI gym and Python threading

ops/2024/9/25 5:50:12/
aidu_pl">

题意:OpenAI Gym 和 Python 线程处理

问题背景:

I am working on a variation of A3C/ACER and I have several workers, each running on its own thread. I am using OpenAI gym environments.

我正在开发 A3C/ACER 的一个变体,并且有多个工作线程,每个线程都在独立运行。我使用的是 OpenAI Gym 环境。

Python threading works fine but it cannot fully utilize all cores. As there are no blocking I/O, it does not context switch.

Python 线程处理工作正常,但无法充分利用所有核心。由于没有阻塞的 I/O,它不会进行上下文切换

I would like workers to somehow to release the GIL while executing actions in their respective environments.

我希望工作线程在各自环境中执行操作时能够释放全局解释器锁(GIL)

I would appreciate your feedback: Does it make sense and it is possible?

我想听听你的反馈:这样做有意义吗?这是可行的吗?

问题解决:

Answering my own question: I found that a quite efficient way is demonstrated in OpenAI universe-starter-agent: GitHub - openai/universe-starter-agent: A starter agent that can solve a number of universe environments.

回答我自己的问题:我发现一个非常有效的方法展示在 OpenAI 的 universe-starter-agent 中:GitHub - openai/universe-starter-agent:一个能够解决多个 Universe 环境的入门代理。

The implementation uses Tensorflow and runs independent processes including a parameter server.

该实现使用 TensorFlow 并运行独立的进程,包括一个参数服务器

I think this can be useful as a reference to other people too.

我认为这对其他人也可以作为一个有用的参考。


http://www.ppmy.cn/ops/98040.html

相关文章

es的学习

1.认识es 2.ik分词器 对于某些词进行特定分词设置或者忽略设置 3.索引库的操作 就是相当于操作表 4.文档的操作 就是相当于操作数据

WPS宏关于时间格式值的读取与比对

之前对表格单元格的读取及赋值用Range对象的Value2或Formula 属性,获取表格区域值的时候用Value() 方法获取,对于日期格式Value2或Formula 属性获取到的都是日期数字,还转换不过来,用Value() 方法读取单个单元格成功拿到日期&…

Unity动画模块 之 3D模型导入基础设置 Rig页签

​本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ 1.Rig页签 Rig 选项卡 - Unity 手册,rig是设置骨骼与替身系统的,工作流程如下 Avatar是什么…

2 种方式申请免费 SSL 证书,阿里云 Certbot

如何使用免费的 SSL 证书,有时在项目中需要使用免费的 SSL 证书,Aliyun 提供免费证书,三个月有效期,可以直接在aliyun 申请,搜索 SSL 证书,选择测试证书。 Aliyun 证书需要每三月来来换一次,页…

EmguCV学习笔记 VB.Net 2.4 Image类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址:VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…

【计算机网络】认识端口号 认识传输层协议 认识网络字节序 认识socket套接字

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

【Postgresql】随手记:创建时间、更新时间数据库端自动实现更新

postgresql数据表中 字段 解释 id: 自增数字; name:字符串; create_at:记录创建数据的时间; update_at:记录更新记录的时间; 想法: create_at 和 update_at 字段用于记录…

DMA(hal库)

DMA(直接存储器存取) DMA(Direct Memory Access,直接内存访问)是一种允许外设或内存之间直接传输数据的技术,而无需 CPU 参与。这能显著提高数据传输效率并减少 CPU 的负担。 使用 DMA 通常涉及以下步骤&…