MTEnv:多任务强化学习环境
项目描述
MTEnv
多任务强化学习环境。
内容
简介
MTEnv是一个用于与多任务强化学习环境接口的库。它有两个主要组件
这两个组件一起应该为多任务RL环境提供一个标准接口,并使环境之间重用组件和工具变得更加容易。
您可以在此处了解更多关于MTEnv与单任务环境之间差异的信息。
使用MTEnv的出版物和提交列表(请创建拉取请求以添加缺失条目)
许可证
引用MTEnv
如果您在研究中使用了MTEnv,请使用以下BibTeX条目
@Misc{Sodhani2021MTEnv,
author = {Shagun Sodhani and Ludovic Denoyer and Pierre-Alexandre Kamienny and Olivier Delalleau},
title = {MTEnv - Environment interface for mulit-task reinforcement learning},
howpublished = {Github},
year = {2021},
url = {https://github.com/facebookresearch/mtenv}
}
安装
MTEnv有两个组件 - 核心API和实现API的环境。
核心API可以通过pip install mtenv
或pip install git+https://github.com/facebookresearch/mtenv.git@main#egg=mtenv
安装。
实现API的环境列表可在此处找到。这些环境中的任何一个都可以通过以下命令安装:pip install git+https://github.com/facebookresearch/mtenv.git@main#egg="mtenv[env_name]"
。例如,可以使用以下命令安装MetaWorld
环境:pip install git+https://github.com/facebookresearch/mtenv.git@main#egg="mtenv[metaworld]"
。
可以使用以下命令一次性安装所有环境:pip install git+https://github.com/facebookresearch/mtenv.git@main#egg="mtenv[all]"
。然而,请注意,某些环境可能有不兼容的依赖项。
MTEnv也可以通过源代码安装,首先克隆仓库(git clone git@github.com:facebookresearch/mtenv.git
),然后进入目录cd mtenv
,接着使用上述pip命令。例如,使用pip install mtenv
安装核心API,使用pip install "mtenv[env_name]"
安装特定的环境。
使用
MTEnv提供了一个与标准gym环境非常相似的接口。多任务环境(实现MTEnv接口)与单任务环境之间的一个主要区别在于它们返回的观察结果。
多任务观察
多任务环境返回一个字典作为观察结果。该字典有两个键:(i) env_obs
,映射到环境的观察结果(即单任务环境返回的观察结果),(ii) task_obs
,映射到环境中的特定任务信息。在最简单的情况下,task_obs
可以是一个表示任务索引的整数。在其他情况下,task_obs
可以提供更丰富的信息。
from mtenv import make
env = make("MT-MetaWorld-MT10-v0")
obs = env.reset()
print(obs)
# {'env_obs': array([-0.03265039, 0.51487777, 0.2368754 , -0.06968209, 0.6235982 ,
# 0.01492813, 0. , 0. , 0. , 0.03933976,
# 0.89743189, 0.01492813]), 'task_obs': 1}
action = env.action_space.sample()
print(action)
# array([-0.76422 , -0.15384133, 0.74575615, -0.11724994], dtype=float32)
obs, reward, done, info = env.step(action)
print(obs)
# {'env_obs': array([-0.02583682, 0.54065546, 0.22773503, -0.06968209, 0.6235982 ,
# 0.01494118, 0. , 0. , 0. , 0.03933976,
# 0.89743189, 0.01492813]), 'task_obs': 1}
文档
为MTEnv做出贡献
有几种方式可以为MTEnv做出贡献。
-
在您的研究中使用MTEnv。
-
贡献一个新的环境。我们通过MTEnv支持许多环境,并期待添加更多环境。贡献者将被添加为库的作者。您可以在此处了解更多关于添加环境的流程。
-
查看GitHub上的good-first-issues并为此问题做出贡献。
-
在此处查看更多详细信息。
社区
在聊天或GitHub问题中提问
致谢
- 项目文件pre-commit、mypy配置、towncrier配置、circleci等基于Hydra的相同文件。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
构建分布
mtenv-1.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8b1e9b80a2a19cfb32eaf954fe2a2bd415e68e2390b9eaac3afd85751c9bc446 |
|
MD5 | 3ec56695d4f58bf43d6806ac9452a2a4 |
|
BLAKE2b-256 | 9268766cc79d0bb16137703a0476c5708dfe0917661d372ae3588bb9017b386d |
mtenv-1.0-py3-none-any.whl 的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6f49e9365ffa62706c9523f3f0d5989e0208339b6ca7a86c445d935695586621 |
|
MD5 | d8d6a5039377518d62e1fc787ef60c83 |
|
BLAKE2b-256 | f93579495c9fe7acaff07172c9d583739d8361a476cf599b25998c132a3abffb |