https://github.com/gsurma/histopathologic_cancer_detector
CNN histopathologic tumor identifier.
https://github.com/gsurma/histopathologic_cancer_detector
artificial-intelligence cancer cancer-detection cnn cnn-keras convolutional-neural-networks jupyter-notebook kaggle kaggle-competition machine-learning network-in-network neural-network python transfer-learning
Last synced: 9 months ago
JSON representation
CNN histopathologic tumor identifier.
- Host: GitHub
- URL: https://github.com/gsurma/histopathologic_cancer_detector
- Owner: gsurma
- License: mit
- Created: 2018-11-25T06:48:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-09T08:54:55.000Z (almost 5 years ago)
- Last Synced: 2025-05-12T19:49:48.517Z (about 1 year ago)
- Topics: artificial-intelligence, cancer, cancer-detection, cnn, cnn-keras, convolutional-neural-networks, jupyter-notebook, kaggle, kaggle-competition, machine-learning, network-in-network, neural-network, python, transfer-learning
- Language: Jupyter Notebook
- Homepage: https://gsurma.github.io
- Size: 1.96 MB
- Stars: 27
- Watchers: 4
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Histopathologic Cancer Detector
Python Jupyter Notebook leveraging **Transfer Learning** and **Convolutional Neural Networks** implemented with **Keras**.
Part of the [Kaggle competition](https://www.kaggle.com/c/histopathologic-cancer-detection).
Submitted [Kernel](https://www.kaggle.com/greg115/histopathologic-cancer-detector-lb-0-958) with 0.958 LB score.
Check out corresponding Medium article:
[Histopathologic Cancer Detector - Machine Learning in Medicine](https://towardsdatascience.com/histopathologic-cancer-detector-finding-cancer-cells-with-machine-learning-b77ce1ee9b0a)
## Data
**Dataset:** [Link](https://www.kaggle.com/c/histopathologic-cancer-detection/data)
**Description:** Binary classification whether a given histopathologic image contains a tumor or not.
**Training:** 153k (0.9) images
**Validation:** 17k (0.1) images
**Testing:** 57.5k images
## Model
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) (None, 96, 96, 3) 0
__________________________________________________________________________________________________
xception (Model) (None, 3, 3, 2048) 20861480 input_1[0][0]
__________________________________________________________________________________________________
NASNet (Model) (None, 3, 3, 1056) 4269716 input_1[0][0]
__________________________________________________________________________________________________
global_average_pooling2d_1 (Glo (None, 2048) 0 xception[1][0]
__________________________________________________________________________________________________
global_average_pooling2d_2 (Glo (None, 1056) 0 NASNet[1][0]
__________________________________________________________________________________________________
concatenate_5 (Concatenate) (None, 3104) 0 global_average_pooling2d_1[0][0]
global_average_pooling2d_2[0][0]
__________________________________________________________________________________________________
dropout_1 (Dropout) (None, 3104) 0 concatenate_5[0][0]
__________________________________________________________________________________________________
dense_1 (Dense) (None, 1) 3105 dropout_1[0][0]
==================================================================================================
Total params: 25,134,301
Trainable params: 25,043,035
Non-trainable params: 91,266
__________________________________________________________________________________________________
## Training
## Results
Kaggle score: **0.958**
## Author
**Greg (Grzegorz) Surma**
[**PORTFOLIO**](https://gsurma.github.io)
[**GITHUB**](https://github.com/gsurma)
[**BLOG**](https://medium.com/@gsurma)