OpenAI 开源机器人模拟 Python 库:优化API接口提升400%处理速度

在OpenAI的许多项目中都使用域随机化技术。 最新版本的mujoco-py支持支持自动的(headless)GPU 渲染,与基于CPU的渲染相比,它的速度有40倍的提升,可以每秒产生数百帧的合成图像数据。

该Python库是OpenAI团队深入学习机器人研究的核心工具之一,现在该团队发布的是作为MuJoCo的主要版本的mujoco-py(Python 3 的 MuJoCo 绑定)。 Mujoco-py 1.50.1.0带来了许多新的功能和显着的性能提升新功能包括以下几点:

  • 高效处理并行模拟
  • GPU 加速的自动 3D 渲染
  • 直接访问 MuJoCo 函数和数据结构
  • 支持所有的 MuJoCo 1.50 功能,比如改进的接触求解器

批量模拟

轨迹(trajectory)优化和强化学习中的许多方法(如LQR,PI2和TRPO)可以从并行运行多个模拟中受益。 mujoco-py通过OpenMP使用数据并行,并通过Cython和NumPy直接访问内存管理,从而使批量模拟更有效率。

新版本的MjSimPool接口的初步使用显示,速度超过旧版本的 400%,并且在一个已优化和受限的使用模式中(通过 Python 的多处理工具包获取相同水平的并行计算)仍然大约为旧版本的180%。提速的大部分原因在于MuJoCo各种数据结构的访问时间缩短。

高性能纹理随机化

在OpenAI的许多项目中都使用域随机化技术。 最新版本的mujoco-py支持支持自动的(headless)GPU 渲染,与基于CPU的渲染相比,它的速度有40倍的提升,可以每秒产生数百帧的合成图像数据。 在上述(减速)动画中,OpenAI使用理随机化技术来改变一个机器人的纹理,帮助这个机器人辨识其身体(在将其从模拟器转移至现实时)。 请查看examples / disco_fetch.py以获取随机纹理生成的示例。

采用mujoco-py实现VR

由mujoco-py公开的API足以使虚拟现实交互而无需任何额外的C ++代码。 OpenAI使用mujoco-py将MuJoCo的C ++ VR示例移植到Python。 如果您有HTC Vive VR设置,您可以尝试使用这一示例(此支持被认为是实验性的,但是OpenAI已经在内部使用它了)。

API和用法

开始使用mujoco-py的最简单的方式是使用MjSim class。 它是围绕模拟模型和数据的包装(wrapper),可让您轻松地进行模拟并从相机传感器中渲染图像。 下面是一个简单的例子:

from mujoco_py import load_model_from_path, MjSim 
model = load_model_from_path("xmls/tosser.xml")  
sim = MjSim(model) 
sim.step() 
print(sim.data.qpos) 
# => [ -1.074e-05   1.043e-04  -3.923e-05   0.000e+00   0.000e+00]

对于高阶用户,OpenAI 提供了大量的低水平接口以直接访问 MuJoCo C 结构体和内部函数。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能

DeepMind推出控制套件:为强化学习智能体提供性能基准

原文来源:arxiv 作者:Yuval Tassa, Yotam Doron, Alistair Muldal, Tom Erez,Yazhe Li, Dieg...

21670
来自专栏数据小魔方

R语言可视化——ggplot绘制中心密度辐射图

今天这篇算是之前ggplot2图表系列的增补。 因为在ggplot2中一直没有看到好的关于密度辐射图(或者称它为热力辐射图,就是那种PowerMap中可以通过颜...

40850
来自专栏逍遥剑客的游戏开发

About Lightmap Baking

15320
来自专栏牛客网

蚂蚁金服一面面经

本来以为自己的简历不可能跳过笔试,所以最近在刷笔试题,没有怎么复习安卓,在加之有些紧张,凉凉,呜呜呜~~~~~~~ 阿里不给通知,毫无预兆的打过来电话面试,面试...

50160
来自专栏IT技术精选文摘

浅析eBay联盟营销的上下文广告机制

18730
来自专栏量子位

从今天起,TensorFlow 1.9开始支持树莓派了

几个小时前,TensorFlow正式宣布TensorFlow 1.9开始支持树莓派了。

13600
来自专栏CDA数据分析师

如何在业务分析中实现商业洞察?-基于Excel BI

作者 CDA 数据分析师 一套完整的 BI 报表应该至少具备以下四个条件: 条件一:能够批量处理有一定规模的数据; 条件二:能够保证数据的时效性及准确性; 条...

24290
来自专栏人工智能的秘密

13个最受欢迎的机器学习Python库

人工智能的快速发展,让机器学习备受大家欢迎。今天给大家盘点一下最受欢迎的机器学习库(ML):

37490
来自专栏数据派THU

独家 | 手把手教你学习R语言(附资源链接)

作者:NSS 翻译:杨金鸿 术语校对:韩海畴 全文校对:林亦霖 本文约3000字,建议阅读7分钟。 本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言...

30470
来自专栏机器之心

资源 | OpenAI开源机器人模拟Python库mujoco-py:可高效处理并行模拟

选自OpenAI 机器之心编译 参与:黄小天 OpenAI 宣布开源一个高性能的 Python 库,它可用于使用 MuJoCo 引擎(在上年的机器人研究中开发出...

40140

扫码关注云+社区

领取腾讯云代金券