Home

Awesome

EarthNet2021: Introductory Art Art generated via neural style transfer over a blue marble.

EarthNet2021: Forecasting High-Resolution Earth Multispectral Imagery.

In this repository lives the Model Intercomparison Suite for EarthNet2021 (ENMIS). It incorporates models that have entered the challenge as submodules under src/models and the persistance baseline. It can spill out a ton of the plots and analysis across the different test tracks.

Resources

Setup

  1. Clone the repo: git clone --recursive https://github.com/earthnet2021/earthnet.git

Why recursive? Because we have git submodules for hosting models. This means you'll need to run git submodule update when updating your remote.

  1. We recommend setting up a docker container using our Dockerfile. Run docker build . --tag earthnet2021:1.0

  2. Run a Docker container based on the image created. E.g, docker run -it earthnet2021:1.0. Use the util to run the container attaching properly all heavy directories.

  3. Run JupyterLab jupyter lab port 8888 is forwarded to the one defined in docker_run.sh

  4. You might just start to work on hostname:8000. However, docker/linux might have some bug that induces Jupyter lab irresponsivness due to port forwarding. Try ssh -N -f -L localhost:8000:localhost:8000 username@hostname

Submodules, such as 'tf_template' might require to set up a conda environment. If the environment was not created during the Docker build, run conda create --name ENtf115py36 python=3.6, then activate the environment source activate ENtf115py36 and install the libraries pip install -r ./src/models/tf_template/requirements.txt .

Structure

Ideally, data/ is mounted into the Docker from a large disk as it will get big quickly.

Running

Your main entry point is run.py.

configs/ is the location for the submodules configuration files. Each configuration is saved in a .yml format. It defines how to call standalone models added as submodules from run.py. The config.yml file defines what script to run, in which conda environment, the arguments to passed and the experiments settings (as JSON) if any.