This is an open solution to the Airbus Ship Detection Challenge.
We are building entirely open solution to this competition. Specifically:
Train and validation monitor :bar_chart: |
---|
In this open source solution you will find references to the neptune.ml. It is free platform for community Users, which we use daily to keep track of our experiments. Please note that using neptune.ml is not necessary to proceed with this solution. You may run it as plain Python script :snake:.
link to code | CV | LB |
---|---|---|
solution 1 | 0.541 | 0.573 |
solution 2 | 0.661 | 0.679 |
solution 3 | 0.694 | 0.696 |
solution 4 | 0.722 | 0.703 |
solution 5 | 0.719 | 0.725 |
You can jump start your participation in the competition by using our starter pack. Installation instruction below will guide you through the setup.
pip3 install -r requirements.txt
neptune account login
Create project say Ships (SHIP)
Go to neptune.yaml
and change:
project: USERNAME/PROJECT_NAME
to your username and project name
Prepare metadata and overlayed target masks It only needs to be done once
neptune send --worker xs \
--environment base-cpu-py3 \
--config neptune.yaml \
prepare_metadata.py
They will be saved in the
metadata_filepath: /output/metadata.csv
masks_overlayed_dir: /output/masks_overlayed
From now on we will load the metadata by changing the neptune.yaml
metadata_filepath: /input/metadata.csv
masks_overlayed_dir: /input/masks_overlayed
and adding the path to the experiment that generated metadata say SHIP-1 to every command --input/metadata.csv
Let's train the model by running the main.py
:
neptune send --worker m-2p100 \
--environment pytorch-0.3.1-gpu-py3 \
--config neptune.yaml \
--input /SHIP-1/output/metadata.csv \
--input /SHIP-1/output/masks_overlayed \
main.py
The model will be saved in the:
experiment_dir: /output/experiment
and the submission.csv
will be saved in /output/experiment/submission.csv
You can easily use models trained during one experiment in other experiments. For example when running evaluation we need to use the previous model folder in our experiment. We do that by:
changing main.py
CLONE_EXPERIMENT_DIR_FROM = '/SHIP-2/output/experiment'
and running the following command:
neptune send --worker m-2p100 \
--environment pytorch-0.3.1-gpu-py3 \
--config neptune.yaml \
--input /SHIP-1/output/metadata.csv \
--input /SHIP-1/output/masks_overlayed \
--input /SHIP-2 \
main.py
Login to neptune if you want to use it
neptune account login
Prepare metadata by running:
neptune run --config neptune.yaml prepare_metadata.py
Training and inference by running main.py
:
neptune run --config neptune.yaml main.py
You can always run it with pure python :snake:
python main.py
You are welcome to contribute your code and ideas to this open solution. To get started:
There are several ways to seek help: