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
Repository
MineRL RLlib Benchmark
Basic Info
Statistics
- Stars: 10
- Watchers: 3
- Forks: 2
- Open Issues: 0
- Releases: 2
Metadata Files
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
- Website: https://www.linkedin.com/in/juliusfrost/
- Twitter: Julius_Frost
- Repositories: 8
- Profile: https://github.com/juliusfrost
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 12 months ago
Dependencies
- 133 dependencies
- 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