minerl-wrappers
compiles common wrappers and standardizes code for reproducibility in the MineRL environment!
- MineRL Basic Environments
- MineRL Diamond Competition Environments
MineRLTreechopVectorObf-v0
MineRLNavigateVectorObf-v0
MineRLNavigateDenseVectorObf-v0
MineRLNavigateExtremeVectorObf-v0
MineRLNavigateExtremeDenseVectorObf-v0
MineRLObtainDiamondVectorObf-v0
MineRLObtainDiamondDenseVectorObf-v0
MineRLObtainIronPickaxeVectorObf-v0
MineRLObtainIronPickaxeDenseVectorObf-v0
- 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
For documentation see wrapper files:
pfrl_2019_wrappers.py
pfrl_2020_wrappers.py
diamond_wrappers.py
- Java JDK 8
- Python 3.7+
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
git clone https://github.com/minerl-wrappers/minerl-wrappers.git
cd minerl-wrappers
Installed Python 3.7+
python3 -m virtualenv venv
source venv/bin/activate
Install Anaconda or Miniconda
conda create --name minerl-wrappers python=3.7
conda activate minerl-wrappers
- Install dependencies with pip:
# install fixed requirements
pip install -r requirements.txt
# set the minerl-wrappers module for imports
export PYTHONPATH=$PYTHONPATH:$(pwd)
- Install dependencies with
poetry
into your virtual environment:
# this also installs minerl-wrappers as a package
poetry install --no-dev
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)
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!