相关内容:

NVIDIA公司推出的GPU运行环境下的机器人仿真环境(NVIDIA Isaac Gym)的安装——强化学习的仿真训练环境

=============================================

NVIDIA Isaac Gym   实现的功能就是在GPU端运行机器人仿真环境。

具体来看,实现了两个方面的功能:

1.  GPU端运行的机器人仿真环境

2.  GPU端运行的大规模机器人仿真环境

这两个功能其实就是一个,那就是大规模GPU端运行的机器人仿真环境,其关键点还是这个大规模上,这也就是为什么这里是用GPU端实现仿真环境的原因。

这里的仿真环境主要是为强化学习进行仿真环境下进行算法训练来服务的,强化学习算法大致可以分为基于值函数的强化学习算法和基于策略梯度的强化学习算法两种。由于机器人仿真环境往往需要多个动作的长时间决策,而该类问题基于策略梯度的强化学习算法比较适用,同时由于基于策略梯度的强化学习算法对仿真环境数据传递的时效性要求较高,同时多仿真环境的并行采样数据又可以进一步提高基于策略梯度的强化学习算法的性能,所以对于机器人控制的强化学习算法我们往往需要大规模的仿真环境进行并行运行。如大型的计算机公司往往会采用几百台服务器集群使用MPI的方式进行CPU端的仿真环境运行,而这往往需要较大的经济支持,因此个人进行这方面研究时往往无法满足大规模CPU集群的仿真环境的要求,而NVIDIA Isaac Gym所实现的功能就是将CPU端运行的机器人仿真环境搬到了GPU端,因为一个顶尖的商用CPU也就是几十个或者近百个核心而一个普通些NVIDIA显卡就具有几千个流式计算核心,这样以往需要CPU集群的计算任务也可以使用一个普通的NVIDIA显卡来运行。可以说NVIDIA Isaac Gym本质就是将传统的CPU端运行的机器人仿真环境在GPU上进行了实现,从而实现了大规模仿真环境在普通GPU上可以并行的目的。 可以说NVIDIA Isaac Gym的应用场景是大规模环境采样的并行的任务,如果你的reinforcement learning任务不需要大规模仿真环境并行的话那么就用不到这个NVIDIA Isaac Gym,而机器人仿真环境的训练往往正是需要大规模仿真环境并行的任务,这也是为什么NVIDIA Isaac Gym上实现的基本都是机器人仿真环境。

大规模仿真环境并行在CPU端与GPU端的对比图:

传统的使用CPU端运行大规模的仿真环境基本是两种方式:

For example, we could split 1024 environments into eight physics scenes with 128 environments each. Each scene can run in its own thread

第一种, 一个CPU核心运行一个仿真环境,由于单CPU核心数有限所以我们常常采用分布式集群的方式运行。

第二种, 一个CPU核心同时维护运行多个仿真环境,比如1024个并行仿真环境,而此时我们的CPU核心数为8,那么我们可以为每个CPU核心分配128个仿真环境进行运行。该种方式可以在单个CPU上单机运行大规模的仿真环境。

NVIDIA Isaac Gym最大的意义就是实现了在普通的单机电脑上也可以进行大规模仿真环境的运行,从而实现在单机环境下使用大规模仿真环境来加速进行高纬度连续任务的强化学习训练。

关于详细介绍:

https://arxiv.org/pdf/2108.10470.pdf

NVIDIA公司推出的GPU运行环境下的机器人仿真环境(NVIDIA Isaac Gym)—— 到底实现了什么功能,意义价值又是什么???的更多相关文章

  1. Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)

    目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...

  2. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  3. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

  4. Linux环境下SolrCloud集群环境搭建关键步骤

    Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/close ...

  5. Linux环境下HDFS集群环境搭建关键步骤

    Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.or ...

  6. Linux环境下ZooKeeper集群环境搭建关键步骤

    ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...

  7. 在Win环境下配置java的环境进行开发步骤

    1.下载官方JDK,网址如下 http://www.oracle.com/technetwork/java/javase/downloads/index.html

  8. Anaconda3+python3环境下如何创建python2环境(win+Linux下适用,同一个anaconda下py2/3共存)

    本人之前已经在anaconda环境下已经安装了python3的环境,现在因为一些需求,要安装python2环境 1.打开anaconda的anaconda prompt查看当前环境: conda in ...

  9. Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境

    一.软件 1)VS2012(C++11特性在VS2012以上可以使用):传送门: 2)Cocos2d-x官网源码:传送门:http://cocos2d-x.org/download 3)JDK:传送门 ...

  10. Windows环境下maven 安装与环境变量配置

    Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用 ...

随机推荐

  1. StringRedisHelper

    @Slf4j @Service public class StringRedisHelper { private StringRedisTemplate redisTemplate; @Autowir ...

  2. pyenv-win 替换国内镜像源

    前情提要 今天心血来潮想学一学python 然后因为python版本众多,了解到了pyenv这个python版本管理器 在github下载好pyenv以后,打算先安装一个稳定的版本 pyenv ins ...

  3. oracle数据库文件

    oracle数据库重要的文件包括参数文件,控制文件,数据文件,临时文件,重做日志文件. 1 参数文件 oracle的参数文件可以设置数据库的名称,SGA和PGA的大小,控制文件的路径等系统参数.这些参 ...

  4. uniapp windows 上架 apple store

    香蕉云 蒲公英 ios上架助手iOS Development 开发!先用上架助手在certificates里面生成一个p12文件在profiles里面生成mobileprovision文件就欧克了 需 ...

  5. 闲鱼面试:说说JWT工作原理?

    JWT(JSON Web Token)一种开放的标准规范(RFC 7519),用于在网络上安全的传输信息,通常被用于身份验证. 简单来说,你可以把 JWT 想象成一张小巧的.自包含的电子通行证.这张通 ...

  6. itunes同步视频

    itunes同步视频不要通过影片同步,而是通过照片同步 如果显示的是iCloud,只需在手机或ipad上,设置里icloud中,包照片的iCloud关掉,然后重连一下就行

  7. 了解Microsoft Media Foundation

    关于Microsoft Media Foundation 是什么 Microsoft Media Foundation是用来处理(创建.修改.传输.合成)多媒体数据(音视频)的一个平台. 有什么用 M ...

  8. Linux查看系统占用

    ## 查看内存占用 #CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 #内存消耗最多的前10个进程 ps auxw|head ...

  9. 3款C#开源且实用的工具类库,工作效率提升利器!

    前言 在日常工作开发中工具类库是软件开发中不可或缺的一部分,它们通过提供代码重用.通用功能.隐藏复杂性.提高代码质量.扩展性等方面的优势,帮助开发者更高效.更稳定地构建软件应用程序.今天大姚给大家分享 ...

  10. 常用 Java 组件和框架分类

    WEB 容器 Tomcat https://tomcat.apache.org/ Jetty https://www.jetty.com/ JBoss https://www.jboss.org/ R ...