Skip to content

Using Makefile commands

In order to use the Makefile commands you need to be on Linux.

Basic usage

Makefile commands are easy to use. Just type make in your terminal, hit enter and see the list of available commands.

make

The command above is equivalent to running:

make help

Development work commands

Freezing project dependencies

  • lock - Creates conda-lock file

    make lock
    

Creating environments

  • env - Creates env from conda-lock file

    make env
    
  • setup-pre-commit - Installs pre-commit hooks

    make setup-pre-commit
    
  • setup-editable - Installs the project in an editable mode

    make setup-editable
    
  • configure-torch-ort - Configures torch-ort

    make configure-torch-ort
    
  • local-env - Creates local environment and installs pre-commit hooks

    make local-env
    

Helper commands

  • format - Runs code formatting (isort, black, flake8)

    make format
    
  • type-check - Runs type checking with mypy

    make type-check
    
  • test - Runs pytest

    make test
    
  • testcov - Runs tests and generates coverage reports

    make testcov
    
  • mpc - Runs manual pre-commit stuff

    make mpc
    
  • docs - Builds the documentation

    make docs
    
  • pc - Runs pre-commit hooks

    make pc
    
  • clean - Cleans artifacts

    make clean
    

Data prep

The commands in this section expect the data to be in certain directories. Please see Makefile definition for more details.

  • sample-plotting - Runs tile plotting

    make sample-plotting
    
  • aoi-grouping - Runs AOI grouping

    make aoi-grouping
    
  • eda - Runs EDA

    make eda
    
  • calculate-band-stats - Runs band statistics calculation

    make calculate-band-stats
    
  • train-val-test-split-cv - Runs train-val-test split using cross validation

    make train-val-test-split-cv
    
  • train-val-test-split-random - Runs train-val-test split using random split

    make train-val-test-split-random
    

Model training

The commands in this section accept arguments that can be modified from command line. Please see the Makefile definition for more details.

  • train - Trains single CV split

    make train
    
  • train-all-splits - Trains on all splits

    make train-all-splits
    

Model evaluation

The commands in this section accept arguments that can be modified from command line. Please see the Makefile definition for more details.

  • eval - Runs evaluation for selected run

    make eval
    
  • eval-many - Runs evaluation for specified runs

    make eval-many
    
  • eval-from-folders - Runs evaluation by comparing predictions to ground truth mask

    make eval-from-folders
    
  • eval-ensemble - Runs ensemble evaluation

    make eval-ensemble
    

Making submissions

The commands in this section accept arguments that can be modified from command line. Please see the Makefile definition for more details.

  • predict - Runs prediction

    make predict
    
  • submission - Generates submission file

    make submission
    
  • predict-and-submit - Runs inference and generates submission file

    make predict-and-submit
    
  • average-predictions - Runs prediction averaging

    make average-predictions
    
  • cv-predict - Runs inference on specified folds, averages the predictions and generates submission file

    make cv-predict
    

Best submissions reproducibility

  • repro-best-single-model-submission - Runs reproduction of best single model submission with Priv LB score = 0.7264

    make repro-best-single-model-submission
    
  • repro-top-1-submission - Runs reproduction of #1 submission with Priv LB score = 0.7318

    make repro-top-1-submission
    
  • repro-top-2-submission - Runs reproduction of #2 submission with Priv LB score = 0.7318

    make repro-top-2-submission