Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Farama-Foundation/Minari
A standard format for offline reinforcement learning datasets, with popular reference datasets and related utilities
https://github.com/Farama-Foundation/Minari
datasets gymnasium offline-rl reinforcement-learning
Last synced: 3 months ago
JSON representation
A standard format for offline reinforcement learning datasets, with popular reference datasets and related utilities
- Host: GitHub
- URL: https://github.com/Farama-Foundation/Minari
- Owner: Farama-Foundation
- License: other
- Created: 2022-10-06T15:30:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-07T18:24:41.000Z (3 months ago)
- Last Synced: 2024-11-07T18:49:59.962Z (3 months ago)
- Topics: datasets, gymnasium, offline-rl, reinforcement-learning
- Language: Python
- Homepage: https://minari.farama.org
- Size: 1.48 GB
- Stars: 287
- Watchers: 12
- Forks: 43
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.rst
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-offline-rl - Minari
README
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://pre-commit.com/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
![]()
Minari is a Python library for conducting research in offline reinforcement learning, akin to an offline version of Gymnasium or an offline RL version of HuggingFace's datasets library.
The documentation website is at [minari.farama.org](https://minari.farama.org/main/). We also have a public discord server (which we use for Q&A and to coordinate development work) that you can join here: https://discord.gg/bnJ6kubTg6.
## Installation
To install Minari from [PyPI](https://pypi.org/project/minari/):
```bash
pip install minari
```This will install the minimum required dependencies. Additional dependencies will be prompted for installation based on your use case. To install all dependencies at once, use:
```bash
pip install "minari[all]"
```If you'd like to start testing or contribute to Minari please install this project from source with:
```
git clone https://github.com/Farama-Foundation/Minari.git
cd Minari
pip install -e ".[all]"
```## Command Line API
To check available remote datasets:
```bash
minari list remote
```To download a dataset:
```bash
minari download D4RL/door/human-v2
```To check available local datasets:
```bash
minari list local
```
To show the details of a dataset:```bash
minari show D4RL/door/human-v2
```For the list of commands:
```bash
minari --help
```## Basic Usage
### Reading a dataset
```python
import minaridataset = 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
...
```### Writing a dataset
```python
import minari
import gymnasium as gym
from minari import DataCollectorenv = 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 truncateddataset = env.create_dataset("frozenlake/test-v0")
```For other examples, see [Basic Usage](https://minari.farama.org/main/content/basic_usage/). For a complete tutorial on how to create new datasets using Minari, see our [Pointmaze D4RL Dataset](https://minari.farama.org/main/tutorials/dataset_creation/point_maze_dataset/) tutorial, which re-creates the Maze2D datasets from [D4RL](https://github.com/Farama-Foundation/D4RL).
## Project Maintainers
Main Contributors: [Rodrigo Perez-Vicente](https://github.com/rodrigodelazcano), [Omar Younis](https://github.com/younik), [John Balis](https://github.com/balisujohn), [Alex Davey](https://github.com/alexdavey)Maintenance for this project is also contributed by the broader Farama team: [farama.org/team](https://farama.org/team).
___
_Minari is a shortening of Minarai, the Japanese word for "learning by observation"._