Minari 是一个用于离线强化学习研究的 Python 库,类似于 Gymnasium 的离线版本或 HuggingFace 数据集库的离线强化学习版本。
文档网站地址是 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() # <- 在此处使用您的策略
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-Vicente、Omar Younis、John Balis、Alex Davey
该项目的维护工作还由更广泛的 Farama 团队贡献:farama.org/team。
Minari 是日语单词 Minarai 的缩写,意为"通过观察学习"。