DeepMind 开源基于 MuJoCo 物理引擎强化学习工具 Control Suite
DeepMind Control Suite 是 DeepMind 最新开源的,一套有标准化结构的持续控制任务,旨在成为强化学习 Agent 的性能基准。Control Suite 由 Python 编写,并由 MuJoCo 物理引擎驱动。
论文:
https://arxiv.org/abs/1801.00690
代码:
https://github.com/deepmind/dm_control
演示视频:
安装和要求:
1.从 MuJoCo(http://www.mujoco.org/) 上下载 MuJoCo Pro 1.50,在安装 MuJoCo Pro 之前必须先装好 dm_control, dm_control 的安装脚本会基于 MuJoCo 的头文件生成 Python ctypes 绑定。默认情况下,dm_control会假定 MuJoCo Zip 文件将被提取到 ~/.mujoco/mjpro150 文件夹。
2.通过运行 pip install git+git://github.com/deepmind/dm_control.git 安装 dm_control Python 包,或者克隆 Github 代码库然后运行 pip install /path/to/dm_control/。在安装期间,dm_control 会在 ~/.mujoco/mjpro150/include 的步骤 1 里寻找 MuJoCo 头文件,不过该路径可通过 headers-dir 命令配置。
3.在运行时,dm_control 会要求安装 license key,详情请查看 MuJoCo license key (https://www.roboti.us/license.html)页面。默认情况下,dm_control 在 ~/.mujoco/mjkey.txt 路径寻找 MuJoCo license key。
4.如果将 license key (例如,mjkey.txt) 或 MuJoCo Pro 所提供的共享库(例如,libmujoco150.so或 libmujoco150.dylib)安装到非默认路径,需要用 MJKEY_PATH 和 MJLIB_PATH 环境变量来指定其路径。
macOS 用户 Homebrew 额外安装说明
1.只要你是用 Homebrew 安装的 Python 解释器 (注意:不是系统默认的解释器),使用上述 pip 安装命令一般是可行的。
2.获取 OpenGL 之前,需要通过运行 brew install glfw 从 Homebrew 安装 glfw。
3.在运行之前,DYLD_LIBRARY_PATH 的环境变量要用 GLFW 库路径来更新,通过运行 export DYLD_LIBRARY_PATH=$(brew --prefix)/lib:$DYLD_LIBRARY_PATH 即可。
Control Suite 快速入门
from dm_control import suite
# Load one task:
env = suite.load(domain_name="cartpole", task_name="swingup")
# Iterate over a task set:
for domain_name, task_name in suite.BENCHMARKING:
env = suite.load(domain_name, task_name)
# Step through an episode and print out reward, discount and observation.
action_spec = env.action_spec()
time_step = env.reset()
while not time_step.last():
action = np.random.uniform(action_spec.minimum,
action_spec.maximum,
size=action_spec.shape)
time_step = env.step(action)
print(time_step.reward, time_step.discount, time_step.observation)
- 在ASP.NET MVC 4中使用Kendo UI Grid
- 每周四更面试题:True+True=?
- iis7 发布mvc 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
- NET中验证控件表达式汇总
- 动态执行超过4000个字符的SQL
- 在ASPNET中使用JS集锦
- 小程序又又又……
- js中页面刷新和页面跳转的方法总结
- PixelBender(着色器)初体验
- Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇
- CSS好看的按钮
- Metaball(元球)效果学习
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能
- 表格可在线编辑效果
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法