minerl-rllib

MineRL RLlib Benchmark

https://github.com/juliusfrost/minerl-rllib

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.0%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

MineRL RLlib Benchmark

Basic Info
  • Host: GitHub
  • Owner: juliusfrost
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 278 KB
Statistics
  • Stars: 10
  • Watchers: 3
  • Forks: 2
  • Open Issues: 0
  • Releases: 2
Created about 6 years ago · Last pushed almost 5 years ago
Metadata Files
Readme License Citation

README.md

MineRL RLlib Benchmark

Here we benchmark various reinforcement learning algorithms available in RLlib on the MineRL environment.

RLlib is an open-source library for reinforcement learning that offers both high scalability and a unified API for a variety of applications. RLlib natively supports TensorFlow, TensorFlow Eager, and PyTorch, but most of its internals are framework agnostic.

Installation

Make sure you have JDK 1.8 on your system for MineRL

Requires Python 3.7 or 3.8.

Use a conda virtual environment

bash conda create --name minerl-rllib python=3.8 conda activate minerl-rllib

Install dependencies

bash pip install poetry poetry install Install PyTorch with correct cuda version.

How to Use

Data

Make sure you have the environment variable MINERL_DATA_ROOT set, otherwise it defaults to the data folder.

Downloading the MineRL dataset

Follow the official instructions: https://minerl.io/dataset/
If you download the data to ./data then you don't need to set MINERL_DATA_ROOT in your environment variables.

Training

Training is simple with just one command. Do python train.py --help to see all options. bash python train.py -f path/to/config.yaml

For example, see the following command trains the SAC algorithm on offline data in the MineRLObtainDiamondVectorObf-v0 environment. bash python train.py -f config/sac-offline.yaml

Configuration

This repository comes with a modular configuration system. We specify configuration yaml files according to the rllib specification. Read more about rllib config specification here. Check out the config/ directory for more example configs.

You can specify the minerl-wrappers configuration arguments with the env_config setting. Check here for other config options for different wrappers. yaml training-run-name: ... config: ... env: MineRLObtainDiamondVectorObf-v0 env_config: # use diamond wrappers from minerl-wrappers diamond: true diamond_config: gray_scale: true frame_skip: 4 frame_stack: 4 # This repo-exclusive API discretizes the action space by calculating the kmeans actions # from the minerl dataset for the chosen env. Kmeans results are cached to data location. kmeans: true kmeans_config: num_actions: 30

Owner

  • Name: Julius Frost
  • Login: juliusfrost
  • Kind: user
  • Location: Boston

GitHub Events

Total
Last Year

Committers

Last synced: 12 months ago

All Time
  • Total Commits: 147
  • Total Committers: 1
  • Avg Commits per committer: 147.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Julius Frost 3****t 147

Issues and Pull Requests

Last synced: 12 months ago


Dependencies

poetry.lock pypi
  • 133 dependencies
pyproject.toml pypi
  • pytest ^6.2.4 develop
  • minerl-wrappers ^0.1.6
  • python ^3.7.1
  • ray --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.9' and sys_platform == 'linux' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp39-cp39-manylinux2014_x86_64.whl - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.8' and sys_platform == 'linux' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp38-cp38-manylinux2014_x86_64.whl - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.7' and sys_platform == 'linux' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp37-cp37m-manylinux2014_x86_64.whl - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.9' and sys_platform == 'win32' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp39-cp39-win_amd64.whl - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.8' and sys_platform == 'win32' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp38-cp38-win_amd64.whl - !ruby/hash:ActiveSupport::HashWithIndifferentAccess extras: - default - tune - rllib markers: python_version == '3.7' and sys_platform == 'win32' url: https://s3-us-west-2.amazonaws.com/ray-wheels/master/ea4a22249c7029fef1d7686e94ddde28c67ee5c8/ray-2.0.0.dev0-cp37-cp37m-win_amd64.whl
  • scikit-learn *
  • tensorflow ^2.6.0