All Projects → killthekitten → Kaggle Ds Bowl 2018 Baseline

killthekitten / Kaggle Ds Bowl 2018 Baseline

Licence: mit
Full train/inference/submission pipeline adapted to the competition from https://github.com/matterport/Mask_RCNN

Projects that are alternatives of or similar to Kaggle Ds Bowl 2018 Baseline

Dmm
Deep Markov Models
Stars: ✭ 103 (-1.9%)
Mutual labels:  jupyter-notebook
Tensorflow2.0 Examples
🙄 Difficult algorithm, Simple code.
Stars: ✭ 1,397 (+1230.48%)
Mutual labels:  jupyter-notebook
Unet Segmentation In Keras Tensorflow
UNet is a fully convolutional network(FCN) that does image segmentation. Its goal is to predict each pixel's class. It is built upon the FCN and modified in a way that it yields better segmentation in medical imaging.
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Circle Line Analytics
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Keras Hello World
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Bert Loves Chemistry
bert-loves-chemistry: a repository of HuggingFace models applied on chemical SMILES data for drug design, chemical modelling, etc.
Stars: ✭ 103 (-1.9%)
Mutual labels:  jupyter-notebook
Yabox
Yet another black-box optimization library for Python
Stars: ✭ 103 (-1.9%)
Mutual labels:  jupyter-notebook
Faceaging By Cyclegan
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Team Learning
主要展示Datawhale的组队学习计划。
Stars: ✭ 1,397 (+1230.48%)
Mutual labels:  jupyter-notebook
Manipulation
Course notes for MIT manipulation class
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Partia Computing Michaelmas
Activities and exercises for the Part IA computing course in Michaelmas Term
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Satimg
Satellite data processing experiments
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Content Aws Mls C01
AWS Certified Machine Learning - Specialty (MLS-C01)
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Sharing isl python
An Introduction to Statistical Learning with Applications in PYTHON
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Spring2019 tutorials
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
Ossdc Visionbasedacc
Discuss requirments and develop code for #1-mvp-vbacc MVP (see also this channel on ossdc.org Slack)
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Cenpy
Explore and download data from Census APIs
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Face Classification
Face model to classify gender and race. Trained on LFWA+ Dataset.
Stars: ✭ 104 (-0.95%)
Mutual labels:  jupyter-notebook
Openplan
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook
D2l Torch
《动手学深度学习》 PyTorch 版本
Stars: ✭ 105 (+0%)
Mutual labels:  jupyter-notebook

kaggle-ds-bowl-2018-baseline

Full train/inference/submission pipeline adapted to the Data Science Bowl competition from https://github.com/matterport/Mask_RCNN. Kudos to @matterport, @waleedka and others for the code. It is well written, but is also somewhat opinionated, which makes it harder to guess what's going on under the hood, which is the reason for my fork to exist.

I did almost no changes to the original code, except for:

  • Everything custom in bowl_config.py and bowl_dataset.py.
  • VALIDATION_STEPS and STEPS_PER_EPOCH are now forced to depend on the dataset size, hardcoded.
  • multiprocessing=False, hardcoded.
  • @John1231983's changes from this PR.
  • Added RESNET_ARCHITECTURE variable to the config (resnet50 or resnet101 while 101 comes with a default config).

Quick Start

  1. First, you have to download the train masks. Thanks @lopuhin for bringing all the fixes to one place. You might want to do it outside of this repo to be able to pull changes later and use symlinks:
git clone https://github.com/lopuhin/kaggle-dsbowl-2018-dataset-fixes ../kaggle-dsbowl-2018-dataset-fixes
ln -s ../kaggle-dsbowl-2018-dataset-fixes/stage1_train stage1_train
  1. Download the rest of the official dataset and unzip it to the repo:
unzip ~/Downloads/stage1_test.zip -d stage1_test
unzip ~/Downloads/stage1_train_labels.csv.zip -d .
unzip ~/Downloads/stage1_sample_submission.csv.zip -d .
  1. Install pycocotools and COCO pretrained weights (mask_rcnn_coco.h5). General idea is described here. Keep in mind, to install pycocotools properly, it's better to run make install instead of make.

  2. For a single GPU training, run:

CUDA_VISIBLE_DEVICES="0" python train.py
  1. To generate a submission, run:
CUDA_VISIBLE_DEVICES="0" python inference.py

This will create submission.csv in the repo and overwrite the old one (you're welcome to fix this with a PR).

  1. Submit! You should get around 0.361 score on LB after 100 epochs.

What's else inside?

TODO

  • [ ] Fix validation. For now, train data is used as a validation set.
  • [ ] Normalize data.
  • [ ] Move configuration to argsparse for easier hyperparameter search.
  • [ ] Parallelize data loading.
  • [ ] Augmentations.
  • [ ] External Data.
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].