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
stuffmake mpc
-
docs - Builds the documentation
make docs
-
pc - Runs
pre-commit
hooksmake 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