相关内容:

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. RSA算法中,为什么需要的是两个素数?

    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全.密码学.联邦学习.同态加密等隐私计算领域的技术和内容. RSA算法中,为什么需要的是两个素数? RSA算法是一种广泛使用 ...

  2. vuex中的数据在页面刷新后数据消失

    用sessionstorage 或者 localstorage 存储数据 存储: sessionStorage.setItem( '名', JSON.stringify(值) ) 使用: sessio ...

  3. 工程数学 实验5-MATLAB最优化工具箱的使用

    (1)线性规划应用案例的求解 1.基本要求 通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力:熟悉线性规划的建模过程:掌握Matlab优化工具箱中线性规划函数的调用. 2 ...

  4. 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart Search”功能

    前言   这是一个AD的一个强大的新功能,能招到元器件的原理图.3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型. ManufacturerPart Search 在设计工具中选择即用型 ...

  5. CentOS7安装最新版ruby

    背景 直接通过yum安装的ruby版本太低,不能满足redis.fpm等软件的需求. 系统环境 CentOS7 安装步骤 下载ruby http://www.ruby-lang.org/en/down ...

  6. 网络OSI七层模型及各层作用 tcp-ip

    背景 虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTT.CoAP.LWM2M.OPC),需要重新复习一下. OSI七层模型 七层模型,亦称OSI(Open System ...

  7. NAT类型检测方案

    一.NAT分类 NAT大致有4种类型: 1. Full Cone NAT 完全锥形NAT,所有从同一个内网IP和端口号发送过来的请求都会被映射成同一个外网IP和端口号,并且任何一个外网主机都可以通过这 ...

  8. 嵌入式知识分享——GDB程序调试方法说明

    前  言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu 18.04.4 64bit 虚拟机:VM ...

  9. yb课堂之实战登陆模块开发整合Json Web Token《十》

    开发登陆模块功能,并整合Json Web Token 开发登陆功能 LoginRequest.java UserMapper.xml  UserMapper.java UserService.java ...

  10. SpringBoot整合模版引擎freemarker实战

    Freemarker相关maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <a ...