All Projects → minerva-ml → open-solution-ship-detection

minerva-ml / open-solution-ship-detection

Licence: MIT license
Open solution to the Airbus Ship Detection Challenge

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to open-solution-ship-detection

open-solution-cdiscount-starter
Open solution to the Cdiscount’s Image Classification Challenge
Stars: ✭ 20 (-62.96%)
Mutual labels:  neptune, kaggle, neptune-framework
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (+87.04%)
Mutual labels:  kaggle, kaggle-competition, unet
Open Solution Toxic Comments
Open solution to the Toxic Comment Classification Challenge
Stars: ✭ 154 (+185.19%)
Mutual labels:  kaggle, kaggle-competition
Machine Learning Workflow With Python
This is a comprehensive ML techniques with python: Define the Problem- Specify Inputs & Outputs- Data Collection- Exploratory data analysis -Data Preprocessing- Model Design- Training- Evaluation
Stars: ✭ 157 (+190.74%)
Mutual labels:  kaggle, kaggle-competition
multiclass-semantic-segmentation
Experiments with UNET/FPN models and cityscapes/kitti datasets [Pytorch]
Stars: ✭ 96 (+77.78%)
Mutual labels:  unet, unet-image-segmentation
Deep Learning Boot Camp
A community run, 5-day PyTorch Deep Learning Bootcamp
Stars: ✭ 1,270 (+2251.85%)
Mutual labels:  kaggle, kaggle-competition
Ds bowl 2018
Kaggle Data Science Bowl 2018
Stars: ✭ 116 (+114.81%)
Mutual labels:  kaggle, unet
ResUNetPlusPlus-with-CRF-and-TTA
ResUNet++, CRF, and TTA for segmentation of medical images (IEEE JBIHI)
Stars: ✭ 98 (+81.48%)
Mutual labels:  unet, unet-image-segmentation
My Journey In The Data Science World
📢 Ready to learn or review your knowledge!
Stars: ✭ 1,175 (+2075.93%)
Mutual labels:  kaggle, kaggle-competition
digit recognizer
CNN digit recognizer implemented in Keras Notebook, Kaggle/MNIST (0.995).
Stars: ✭ 27 (-50%)
Mutual labels:  kaggle, kaggle-competition
StoreItemDemand
(117th place - Top 26%) Deep learning using Keras and Spark for the "Store Item Demand Forecasting" Kaggle competition.
Stars: ✭ 24 (-55.56%)
Mutual labels:  kaggle, kaggle-competition
argus-tgs-salt
Kaggle | 14th place solution for TGS Salt Identification Challenge
Stars: ✭ 73 (+35.19%)
Mutual labels:  kaggle, kaggle-competition
Kaggle Competitions
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in GitHub, I want to solve some Kaggle competitions as a comprehensive workflow with python packages. After reading, you can use this workflow to solve other real problems and use it as a template.
Stars: ✭ 86 (+59.26%)
Mutual labels:  kaggle, kaggle-competition
Kaggle Airbnb Recruiting New User Bookings
2nd Place Solution in Kaggle Airbnb New User Bookings competition
Stars: ✭ 118 (+118.52%)
Mutual labels:  kaggle, kaggle-competition
Kaggle Notebooks
Sample notebooks for Kaggle competitions
Stars: ✭ 77 (+42.59%)
Mutual labels:  kaggle, kaggle-competition
Open Solution Data Science Bowl 2018
Open solution to the Data Science Bowl 2018
Stars: ✭ 159 (+194.44%)
Mutual labels:  kaggle, unet
Ml competition platform
Kaggle-like machine learning competition platform
Stars: ✭ 42 (-22.22%)
Mutual labels:  kaggle, kaggle-competition
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (+3.7%)
Mutual labels:  kaggle, unet
Data-Science-Hackathon-And-Competition
Grandmaster in MachineHack (3rd Rank Best) | Top 70 in AnalyticsVidya & Zindi | Expert at Kaggle | Hack AI
Stars: ✭ 165 (+205.56%)
Mutual labels:  kaggle, kaggle-competition
histopathologic cancer detector
CNN histopathologic tumor identifier.
Stars: ✭ 26 (-51.85%)
Mutual labels:  kaggle, kaggle-competition

Airbus Ship Detection Challenge

license

This is an open solution to the Airbus Ship Detection Challenge.

Our goals

We are building entirely open solution to this competition. Specifically:

  1. Learning from the process - updates about new ideas, code and experiments is the best way to learn data science. Our activity is especially useful for people who wants to enter the competition, but lack appropriate experience.
  2. Encourage more Kagglers to start working on this competition.
  3. Deliver open source solution with no strings attached. Code is available on our GitHub repository 💻. This solution should establish solid benchmark, as well as provide good base for your custom ideas and experiments. We care about clean code 😃
  4. We are opening our experiments as well: everybody can have live preview on our experiments, parameters, code, etc. Check: Airbus Ship Detection Challenge 📈 or screen below.
Train and validation monitor 📊
training monitor

Disclaimer

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 🐍.

How to start?

Learn about our solutions

  1. Check Kaggle forum and participate in the discussions.
  2. See solutions below:
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

Start experimenting with ready-to-use code

You can jump start your participation in the competition by using our starter pack. Installation instruction below will guide you through the setup.

Installation (fast track)

  1. Clone repository and install requirements (use Python3.5) pip3 install -r requirements.txt
  2. Register to the neptune.ml (if you wish to use it)
  3. Run experiment based on U-Net:

Cloud

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

Local

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 🐍

python main.py 

Get involved

You are welcome to contribute your code and ideas to this open solution. To get started:

  1. Check competition project on GitHub to see what we are working on right now.
  2. Express your interest in particular task by writing comment in this task, or by creating new one with your fresh idea.
  3. We will get back to you quickly in order to start working together.
  4. Check CONTRIBUTING for some more information.

User support

There are several ways to seek help:

  1. Kaggle discussion is our primary way of communication.
  2. Submit an issue directly in this repo.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].