All Projects → tugstugi → Pytorch Saltnet

tugstugi / Pytorch Saltnet

Licence: mit
Kaggle | 9th place single model solution for TGS Salt Identification Challenge

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pytorch Saltnet

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 (-79.26%)
Mutual labels:  convolutional-neural-networks, cnn, segmentation, unet
Bcdu Net
BCDU-Net : Medical Image Segmentation
Stars: ✭ 314 (+16.3%)
Mutual labels:  convolutional-neural-networks, segmentation, unet
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (-62.59%)
Mutual labels:  kaggle-competition, segmentation, unet
Hyperdensenet
This repository contains the code of HyperDenseNet, a hyper-densely connected CNN to segment medical images in multi-modal image scenarios.
Stars: ✭ 124 (-54.07%)
Mutual labels:  convolutional-neural-networks, cnn, segmentation
Torchio
Medical image preprocessing and augmentation toolkit for deep learning
Stars: ✭ 708 (+162.22%)
Mutual labels:  convolutional-neural-networks, cnn, segmentation
Lung Segmentation 2d
Lung fields segmentation on CXR images using convolutional neural networks.
Stars: ✭ 138 (-48.89%)
Mutual labels:  convolutional-neural-networks, segmentation, unet
Cnn Text Classification Tf Chinese
CNN for Chinese Text Classification in Tensorflow
Stars: ✭ 237 (-12.22%)
Mutual labels:  convolutional-neural-networks, cnn
Awesome Tensorlayer
A curated list of dedicated resources and applications
Stars: ✭ 248 (-8.15%)
Mutual labels:  convolutional-neural-networks, segmentation
Kaggle Web Traffic Time Series Forecasting
Solution to Kaggle - Web Traffic Time Series Forecasting
Stars: ✭ 29 (-89.26%)
Mutual labels:  kaggle-competition, cnn
argus-tgs-salt
Kaggle | 14th place solution for TGS Salt Identification Challenge
Stars: ✭ 73 (-72.96%)
Mutual labels:  kaggle-competition, segmentation
Transfer Learning Suite
Transfer Learning Suite in Keras. Perform transfer learning using any built-in Keras image classification model easily!
Stars: ✭ 212 (-21.48%)
Mutual labels:  convolutional-neural-networks, cnn
Severstal Steel Defect Detection
Kaggle Segmentation Challenge
Stars: ✭ 160 (-40.74%)
Mutual labels:  kaggle-competition, segmentation
open-solution-ship-detection
Open solution to the Airbus Ship Detection Challenge
Stars: ✭ 54 (-80%)
Mutual labels:  kaggle-competition, unet
Pyconv
Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition (https://arxiv.org/pdf/2006.11538.pdf)
Stars: ✭ 231 (-14.44%)
Mutual labels:  convolutional-neural-networks, cnn
Grad cam plus plus
A generalized gradient-based CNN visualization technique
Stars: ✭ 216 (-20%)
Mutual labels:  convolutional-neural-networks, cnn
Tfwss
Weakly Supervised Segmentation with Tensorflow. Implements instance segmentation as described in Simple Does It: Weakly Supervised Instance and Semantic Segmentation, by Khoreva et al. (CVPR 2017).
Stars: ✭ 212 (-21.48%)
Mutual labels:  convolutional-neural-networks, segmentation
Kaggle dstl submission
Code for a winning model (3 out of 419) in a Dstl Satellite Imagery Feature Detection challenge
Stars: ✭ 159 (-41.11%)
Mutual labels:  kaggle-competition, segmentation
pixel-decoder
A tool for running deep learning algorithms for semantic segmentation with satellite imagery
Stars: ✭ 68 (-74.81%)
Mutual labels:  segmentation, unet
Brainy
Brainy is a virtual MRI analyzer. Just upload the MRI scan file and get 3 different classes of tumors detected and segmented. In Beta.
Stars: ✭ 29 (-89.26%)
Mutual labels:  segmentation, unet
Brain-MRI-Segmentation
Smart India Hackathon 2019 project given by the Department of Atomic Energy
Stars: ✭ 29 (-89.26%)
Mutual labels:  segmentation, unet

UNet for segmenting salt deposits from seismic images with PyTorch.

General

We, tugstugi and xuyuan, have participated in the Kaggle competition TGS Salt Identification Challenge and reached the 9-th place. This repository contains a simplified and cleaned up version of our team's code partially based on the ideas of Heng Cherkeng's discussion on the Kaggle discussion board.

We have used a single UNet model with a SENet154 encoder which has a single fold score of 0.882. With 10 folds using reflective padding and another 10 folds with resizing, we got 0.890. The final private LB score 0.892 was achieved by post processing on the model's output.

Features

def symmetric_lovasz(outputs, targets):
    return (lovasz_hinge(outputs, targets) + lovasz_hinge(-outputs, 1 - targets)) / 2

Training

  1. Download and extract the dataset
    • copy train.csv into datasets/
    • copy train images and masks into datasets/train/
    • copy test images into datasets/test/
  2. Train SENet154-Unet for 250 epochs on 2x P100: python train.py --vtf --pretrained imagenet --loss-on-center --batch-size 32 --optim adamw --learning-rate 5e-4 --lr-scheduler noam --basenet senet154 --max-epochs 250 --data-fold fold0 --log-dir runs/fold0 --resume runs/fold0/checkpoints/last-checkpoint-fold0.pth
    • tensorboard logs, checkpoints and models are saved under runs/
    • start tensorboard with tensorboard --logdir runs
    • training log of a LB0.883 model is provided under runs/lb0.883_fold0/
  3. Do SWA on the best loss, accuracy and kaggle metrics models: python swa.py --input runs/fold0/models --output fold0_swa.pth
  4. Create a Kaggle submission: python test.py --tta fold0_swa.pth --output-prefix fold0
    • a submission file fold0-submission.csv should be created now
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].