Skip to main content

minerl-wrappers compiles common wrappers and standardizes code for reproducibility in the MineRL environment!

Project description

minerl-wrappers

Tests codecov PyPI PyPI - Python Version Libraries.io dependency status for latest release

minerl-wrappers compiles common wrappers and standardizes code for reproducibility in the MineRL environment!

Currently Supported Environments

Wappers

  • pfrl wrappers: an assortment of wrappers ported over from the 2020 PfN minerl baselines and 2019 PfN minerl baselines
    • Supports Basic Environments for 2019 and Diamond Competition Environments for 2020
  • diamond wrappers: updated wrappers for the 2021 MineRL Diamond Competition Environments

Wrap arguments

For documentation see wrapper files:
pfrl_2019_wrappers.py
pfrl_2020_wrappers.py
diamond_wrappers.py

Requirements

  • Java JDK 8
  • Python 3.7+

Install

Make sure you have Java JDK 8 installed as the only Java version for MineRL.

Install with pip from pypi:

pip install minerl-wrappers

Install directly from git:

pip install git+https://github.com/minerl-wrappers/minerl-wrappers.git

Clone and Install

git clone https://github.com/minerl-wrappers/minerl-wrappers.git
cd minerl-wrappers

Use your own virtual environment

virtualenv

Installed Python 3.7+

python3 -m virtualenv venv
source venv/bin/activate

conda

Install Anaconda or Miniconda

conda create --name minerl-wrappers python=3.7
conda activate minerl-wrappers

Install dependencies

  1. Install dependencies with pip:
# install fixed requirements
pip install -r requirements.txt
# set the minerl-wrappers module for imports
export PYTHONPATH=$PYTHONPATH:$(pwd)
  1. Install dependencies with poetry into your virtual environment:
# this also installs minerl-wrappers as a package
poetry install --no-dev

Use

To quickly test out the wrappers try:

import gym
import minerl
from minerl_wrappers import wrap

env = gym.make("MineRLObtainDiamondDenseVectorObf-v0")
env = wrap(env) # plug this into your rl algorithm

Change which wrappers to apply by supplying config arguments:

config = {
  "diamond": True,
  "diamond_config": {
    "frame_skip": 4,
    "frame_stack": 4,
  }
}
env = wrap(env, **config)

Contributing

It is highly encouraged to contribute wrappers that worked well for you! Just create a Pull Request on this repository, and we'll work together to get it merged! Read README-DEV.md for contributing guidelines and more details!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minerl-wrappers-0.1.6.tar.gz (55.7 kB view hashes)

Uploaded Source

Built Distribution

minerl_wrappers-0.1.6-py3-none-any.whl (58.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page