All Projects → wangg12 → intel-cervical-cancer

wangg12 / intel-cervical-cancer

Licence: Apache-2.0 license
Team GuYuShiJie~'s 15th (top 2%) solution of cervix type classification in Kaggle 2017 competition, using PyTorch.

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to intel-cervical-cancer

fer
Facial Expression Recognition
Stars: ✭ 32 (+68.42%)
Mutual labels:  kaggle
PracticalMachineLearning
A collection of ML related stuff including notebooks, codes and a curated list of various useful resources such as books and softwares. Almost everything mentioned here is free (as speech not free food) or open-source.
Stars: ✭ 60 (+215.79%)
Mutual labels:  kaggle
kaggle redefining cancer treatment
Personalized Medicine: Redefining Cancer Treatment with deep learning
Stars: ✭ 21 (+10.53%)
Mutual labels:  kaggle
Data-Science-Projects
Data Science projects on various problem statements and datasets using Data Analysis, Machine Learning Algorithms, Deep Learning Algorithms, Natural Language Processing, Business Intelligence concepts by Python
Stars: ✭ 28 (+47.37%)
Mutual labels:  kaggle
data-science-learning
📊 All of courses, assignments, exercises, mini-projects and books that I've done so far in the process of learning by myself Machine Learning and Data Science.
Stars: ✭ 32 (+68.42%)
Mutual labels:  kaggle
rawr
Extract raw R code directly from webpages, including Github, Kaggle, Stack Overflow, and sites made using Blogdown.
Stars: ✭ 15 (-21.05%)
Mutual labels:  kaggle
Dog-Breed-Identification-Gluon
Kaggle 120种狗分类,Gluon实现
Stars: ✭ 45 (+136.84%)
Mutual labels:  kaggle
Deep-Learning-Experiments-implemented-using-Google-Colab
Colab Compatible FastAI notebooks for NLP and Computer Vision Datasets
Stars: ✭ 16 (-15.79%)
Mutual labels:  kaggle
speech-recognition-transfer-learning
Speech command recognition DenseNet transfer learning from UrbanSound8k in keras tensorflow
Stars: ✭ 18 (-5.26%)
Mutual labels:  kaggle
ml-competition-template-titanic
Kaggle Titanic example
Stars: ✭ 51 (+168.42%)
Mutual labels:  kaggle
gender-unbiased BERT-based pronoun resolution
Source code for the ACL workshop paper and Kaggle competition by Google AI team
Stars: ✭ 42 (+121.05%)
Mutual labels:  kaggle
kaggle-camera-model-identification
Code for reproducing 2nd place solution for Kaggle competition IEEE's Signal Processing Society - Camera Model Identification
Stars: ✭ 64 (+236.84%)
Mutual labels:  kaggle
lux-ai-2021
My published benchmark for a Kaggle Simulations Competition
Stars: ✭ 29 (+52.63%)
Mutual labels:  kaggle
open-solution-ship-detection
Open solution to the Airbus Ship Detection Challenge
Stars: ✭ 54 (+184.21%)
Mutual labels:  kaggle
Bike-Sharing-Demand-Kaggle
Top 5th percentile solution to the Kaggle knowledge problem - Bike Sharing Demand
Stars: ✭ 33 (+73.68%)
Mutual labels:  kaggle
kaggledatasets
Collection of Kaggle Datasets ready to use for Everyone (Looking for contributors)
Stars: ✭ 44 (+131.58%)
Mutual labels:  kaggle
Quora-Paraphrase-Question-Identification
Paraphrase question identification using Feature Fusion Network (FFN).
Stars: ✭ 19 (+0%)
Mutual labels:  kaggle
Hello-Kaggle-Guide-KOR
Kaggle을 처음 접하는 사람들을 위한 문서
Stars: ✭ 140 (+636.84%)
Mutual labels:  kaggle
How-to-score-0.8134-in-Titanic-Kaggle-Challenge
Solution of the Titanic Kaggle competition
Stars: ✭ 114 (+500%)
Mutual labels:  kaggle
kuzushiji-recognition
Kuzushiji Recognition Kaggle 2019. Build a DL model to transcribe ancient Kuzushiji into contemporary Japanese characters. Opening the door to a thousand years of Japanese culture.
Stars: ✭ 16 (-15.79%)
Mutual labels:  kaggle

Intel & MobileODT Cervical Cancer Screening, kaggle competition

Dependencies

Steps to reproduce our submissions

Prepare data:

The folder ./data_utils contains codes to generate index files (all the idx files used for our models have been generated in ./data_utils) for train/val/test. Note that the images should be put following our folder structure:

# data_root
# ├── additional
# │   ├── Type_1
# │   ├── Type_2
# │   └── Type_3
# ├── test
# │   └── test
# └── train
#     ├── Type_1
#     ├── Type_2
#     └── Type_3

We resize all the original images to 256x256, please use data_utils/resize_convert_all_multi.py and change the paths in it to generate the resized data. We assume the resized_data root is ./data/resized_data/

train:

Use ./scripts/train_10_fold.py and change the arch to resnet101 and inception_v3 to train two kinds of models, respectively.

In this step, we will get model checkpoints in 20 different sub-folders in ./ckpt.

make submission (10-crop, 10-fold ensemble, version 1):

  • 10 crop test for each single model: use ./scripts/gen_test_10_fold_cmds.py and change the arch to resnet101 and inception_v3, respectively. We will get 20 different submission files in ./submission, each of which corresponds to a single model.

  • ensemble scores of all models (average): put all the paths of the submission files in a file, for example:

ls submission/resnet101_model_epoch_15_fold_* > resnet101_epoch15_10_fold.txt
ls submission/inception_v3_model_epoch_15_fold_* > inception_v3_epoch15_10_fold.txt
cat resnet101_epoch15_10_fold.txt inception_v3_epoch15_10_fold.txt > inception_v3_resnet101_epoch15_10_folds.txt
python ensemble_scores.py inception_v3_resnet101_epoch15_10_folds.txt

The final submission file is like ./submission/ensemble_submission_inception_v3_resnet101_epoch15_10_folds__{date_time}.txt (This scores 0.48662 on public Leaderboard, and 0.85024 on the private Leaderboard.)

make submission (10-crop + 40-crop, 10-fold ensemble, version 2):

  • 10 crop test for each single model: use ./scripts/gen_test_10_fold_cmds.py and change the arch to resnet101 and inception_v3, respectively. We will get 20 different submission files in ./submission, each of which corresponds to a single model. (Same as version 1.)

  • 40 crop test for each single model: use ./scripts/gen_test_10_fold_cmds_40_crop.py and change the arch to resnet101 and inception_v3, respectively. We will get 20 different submission files in ./submission, each of which corresponds to a single model.

  • ensemble scores of all models (average): put all the paths of the submission files in a file, for example:

 # 10 crop
 ls submission/resnet101_model_epoch_15_fold_* > resnet101_epoch15_10_fold.txt
 ls submission/inception_v3_model_epoch_15_fold_* > inception_v3_epoch15_10_fold.txt
 cat resnet101_epoch15_10_fold.txt inception_v3_epoch15_10_fold.txt > inception_v3_resnet101_epoch15_10_folds.txt
 python ensemble_scores.py inception_v3_resnet101_epoch15_10_folds.txt

 # 40 crop
 ls submission/resnet101_model_epoch_15_fold_*_40* > 40crop_resnet101_epoch15_10_fold.txt
 ls submission/inception_v3_model_epoch_15_fold_*_40* > 40crop_inception_v3_epoch15_10_fold.txt
 cat 40crop_resnet101_epoch15_10_fold.txt 40crop_inception_v3_epoch15_10_fold.txt > 40crop_inception_v3_resnet101_epoch15_10_folds.txt
 python ensemble_scores.py 40crop_inception_v3_resnet101_epoch15_10_folds.txt

 # merge 10 and 40 crop (**NB**: 10crop is used twice)
 ls submission/ensemble_submission_inception_v3_resnet101_epoch15_10_folds*  submission/ensemble_submission_inception_v3_resnet101_epoch15_10_folds*  submission/ensemble_submission_40crop_inception_v3_resnet101_epoch15_10_folds* > 10_40_crop_res101_v3_epoch15.txt
 python ensemble_scores.py 10_40_crop_res101_v3_epoch15.txt

The final submission file is like ./submission/ensemble_submission_10_40_crop_res101_v3_epoch15__{date_time}.txt (This scores 0.48592 on the public Leaderboard, and 0.83833 on the private Leaderboard.)

Credits

Written and maintained by:

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