跳转到主要内容

离线强化学习数据集的标准格式,包含流行的参考数据集和相关工具。

项目描述

pre-commit Code style: black

Minari 是一个用于离线强化学习研究的 Python 库,类似于 Gymnasium 的离线版本或 HuggingFace 数据集库的离线 RL 版本。

文档网站位于 minari.farama.org。我们还拥有一个公共 Discord 服务器(我们在这里用于问答和协调开发工作),您可以通过以下链接加入: https://discord.gg/bnJ6kubTg6

安装

要从 PyPI 安装 Minari

pip install minari

这将安装所需的最小依赖项。根据您的用例,还将提示安装其他依赖项。要一次性安装所有依赖项,请使用

pip install "minari[all]"

如果您想开始测试或为 Minari 贡献,请使用以下命令从源代码安装此项目

git clone https://github.com/Farama-Foundation/Minari.git
cd Minari
pip install -e ".[all]"

命令行 API

检查可用的远程数据集

minari list remote

下载数据集

minari download D4RL/door/human-v2

检查可用的本地数据集

minari list local

显示数据集的详细信息

minari show D4RL/door/human-v2

有关命令列表

minari --help

基本用法

读取数据集

import minari

dataset = minari.load_dataset("D4RL/door/human-v2")

for episode_data in dataset.iterate_episodes():
    observations = episode_data.observations
    actions = episode_data.actions
    rewards = episode_data.rewards
    terminations = episode_data.terminations
    truncations = episode_data.truncations
    infos = episode_data.infos
    ...

写入数据集

import minari
import gymnasium as gym
from minari import DataCollector


env = gym.make('FrozenLake-v1')
env = DataCollector(env)

for _ in range(100):
    env.reset()
    done = False
    while not done:
        action = env.action_space.sample()  # <- use your policy here
        obs, rew, terminated, truncated, info = env.step(action)
        done = terminated or truncated

dataset = env.create_dataset("frozenlake/test-v0")

有关其他示例,请参阅 基本用法。有关如何使用 Minari 创建新数据集的完整教程,请参阅我们的 Pointmaze D4RL 数据集 教程,该教程重新创建了来自 D4RL 的 Maze2D 数据集。

项目负责人

主要贡献者: Rodrigo Perez-VicenteOmar YounisJohn BalisAlex Davey

此项目的维护工作也由更广泛的 Farama 团队贡献: farama.org/team


Minari 是 Minarai 的缩写,是日语中“通过观察学习”的意思。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

minari-0.5.0.tar.gz (46.5 KB 查看散列

上传时间 源代码

构建分发

minari-0.5.0-py3-none-any.whl (51.1 KB 查看散列

上传时间 Python 3

由以下组织支持