用 JAX 编写的可微物理引擎。
项目描述
Brax 是一种可微分物理引擎,可模拟由刚体、关节和执行器组成的环境。Brax 是用 JAX编写的,设计用于加速硬件。它既适用于单设备仿真,又可扩展为在多个设备上进行大规模并行仿真,无需烦人的数据中心。
一些通过 Brax 训练的策略。Brax 在 TPU 上以每秒数百万步物理步数模拟这些环境。
Brax 还包括一套学习算法,可以在几秒钟到几分钟内训练代理:
快速入门:云中的 Colab
通过一系列 colab 笔记本轻松快速地探索 Brax:
- Brax Basics介绍了 Brax API,并展示了如何模拟基本物理原语。
- Brax Environments展示了如何操作和可视化 Brax 环境。它还演示了将 Brax 环境转换为 Gym 环境,以及如何通过其他 ML 框架(例如 PyTorch)使用 Brax。
- Brax Training with TPU引入了 Brax 的训练算法,让您可以直接在 colab 中训练自己的策略。它还演示了加载和保存策略。
- 在 GPU 上使用 PyTorch 进行 Brax 训练演示了如何在其他 ML 框架(在本例中为 PyTorch)中使用 Brax 进行快速训练。
- Brax Multi-Agent测量 Brax 在多智能体模拟中的表现,同时环境中有许多物体。
在本地使用 Brax
要从 pypi 安装 Brax,请使用以下命令安装:
python3 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install brax
或者,要从源代码安装 Brax,请将此 repo 克隆cd
到其中,然后:
python3 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install -e .
训练模型:
learn
支持在 NVidia GPU 上进行训练,但您必须先安装 支持 GPU 的CUDA、CuDNN 和 JAX。
学到更多
如需深入了解 Brax 的设计和性能特征,请参阅我们的论文Brax——用于大规模刚体模拟的可微分物理引擎 ,该论文发表在NeurIPS 2021的数据集和基准测试轨道上。
引用布拉克斯
如果您想在出版物中引用 Brax,请使用:
@software{brax2021github,
author = {C. Daniel Freeman and Erik Frey and Anton Raichuk and Sertan Girgin and Igor Mordatch and Olivier Bachem},
title = {Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation},
url = {http://github.com/google/brax},
version = {0.0.15},
year = {2021},
}
致谢
Brax 自最初出版以来已经走过了漫长的道路。我们向以下人员表示感谢和热情洋溢的赞美:
- Manu Orsini 和 Nikola Momchev,他们对 Brax 的训练算法进行了重大重构,使它们更易于访问和重用。
- Erwin Coumans 慷慨地提供了建议和指导,以及来自Tiny Differentiable Simulator的许多有用的参考资料。
- Baruch Tabanpour,一位使 Brax 更加可靠和功能完善的同事。
- 为 BIG-Gym 和 Braxlines 做出贡献的 Shixiang Shane Gu和Hiroki Furuta,以及 Brax 的场景作曲家。
- 我们很棒的开源合作者和贡献者。谢谢!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
brax-0.0.15.tar.gz
(236.6 kB
查看哈希)
内置分布
brax-0.0.15-py3-none-any.whl
(372.3 kB
查看哈希)