Minari
Minari 是一个专为离线强化学习(Offline RL)研究的 Python 库,旨在提供统一的数据集标准格式及相关实用工具。你可以将它理解为“离线版的 Gymnasium",或者是强化学习领域的"HuggingFace Datasets"。
在 Minari 出现之前,研究人员常受困于不同来源的离线数据格式混乱、难以复用和对比的问题。Minari 通过定义标准化的数据集接口,彻底解决了这一痛点,让加载、分享和复现经典基准数据集(如 D4RL)变得像调用本地文件一样简单。它不仅支持通过命令行轻松下载和管理远程数据集,还提供了直观的 API,让用户能便捷地读取轨迹数据或利用现有环境快速创建并保存新的自定义数据集。
这款工具非常适合从事强化学习算法研究的科研人员、需要验证模型效果的开发者,以及希望构建高质量离线数据的教育工作者。其独特的技术亮点在于与主流训练库(如 TorchRL、d3rlpy)的深度集成,以及“观察即学习”(源自日语 Minarai)的设计理念,极大地降低了离线强化学习的入门门槛和工程成本,让研究者能将更多精力集中在算法创新而非数据预处理上。
使用场景
某机器人研发团队正试图利用历史采集的机械臂开门数据,训练一个无需与环境实时交互的离线强化学习策略。
没有 Minari 时
- 数据格式混乱:不同成员采集的数据存储结构各异(有的用 JSON,有的用自定义二进制),每次训练前需编写大量脚本进行清洗和对齐。
- 复现极其困难:缺乏统一的标准数据集索引,团队成员难以快速下载并验证论文中提到的基准数据(如 D4RL),导致实验结果无法横向对比。
- 开发流程割裂:从数据收集到模型训练之间缺少标准化接口,将原始轨迹转换为训练所需的张量格式容易出错且耗时。
- 元数据缺失:数据集缺乏标准化的描述信息(如环境版本、采集策略类型),导致在混合多源数据训练时经常因环境不匹配而报错。
使用 Minari 后
- 统一数据标准:Minari 提供了类似 Gymnasium 的离线数据标准格式,团队可直接加载各类异构数据,无需再编写繁琐的解析代码。
- 一键获取基准:通过
minari download命令即可瞬间获取官方维护的高质量参考数据集,立即复现前沿算法效果,大幅缩短调研周期。 - 无缝集成训练:利用
iterate_episodes()接口,数据能直接以标准化的观测、动作和奖励形式流入 TorchRL 或 d3rlpy 等训练库,实现“加载即训练”。 - 规范数据生产:借助
DataCollector包装器,团队在采集新数据时自动生成了包含完整元数据的标准数据集,确保了后续实验的可追溯性和兼容性。
Minari 通过建立离线强化学习数据的“通用语言”,彻底消除了数据预处理瓶颈,让研究者能专注于算法创新而非格式转换。
运行环境要求
- 未说明
未说明
未说明

快速开始
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 --single-branch
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 数据集。
集成 Minari 的训练库
引用
如果你使用了 Minari,请考虑引用它:
@software{minari,
author = {Younis, Omar G. and Perez-Vicente, Rodrigo and Balis, John U. and Dudley, Will and Davey, Alex and Terry, Jordan K},
doi = {10.5281/zenodo.13767625},
month = sep,
publisher = {Zenodo},
title = {Minari},
url = {https://doi.org/10.5281/zenodo.13767625},
version = {0.5.0},
year = 2024,
bdsk-url-1 = {https://doi.org/10.5281/zenodo.13767625}
}
Minari 是“Minarai”的缩写,日语中意为“通过观察学习”。
版本历史
v0.5.32025/04/17v0.5.22024/12/09v0.5.12024/10/09v0.5.02024/08/29v0.4.32024/01/27v0.4.22023/10/09v0.4.12023/07/19v0.4.02023/07/19v0.3.12023/05/19v0.3.02023/05/170.2.22023/01/040.1.02022/11/04常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
funNLP
funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。
cs-video-courses
cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。
scikit-learn
scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最
keras
Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。