A deep learning framework for oral pathology detection using convolutional neural networks (CNNs) in TensorFlow / Keras.
This was a hackathon solution developed for Google Gen AI for Glance pharma problem statement:
Develop an AI-powered solution that can accurately detect cancer at an early stage using [specific data type, e.g. medical images, genomic data, electronic health records]. The solution should be able to identify high-risk patients and alert healthcare providers for further screening and classify cancer types and stages with high accuracy. The goal is to improve cancer detection rates and enhance patient outcomes through early intervention.
-
Via Google Colab (recommended) It is suggested to train this model via google colab. Just run the notebook linearly as it is , and it should provide results as expected. If there are any issues please raise a bug here to solve.
-
Manual method
git clone --depth=1 https://github.com/OncoScan/OralPathNet.git
cd OralPathNet
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
export DATA_DIR=/path/to/images
python train.py \
--data_dir $DATA_DIR \
--epochs 50 \
--batch_size 16 \
--img_size 224 \
--model_output ./models/oralpathnet.h5
assets
├── oc_cnn_model.keras
├── sample-oscc-400x.jpg
└── workflow-diagram.png
LICENSE
Readme.md
src
├── cnn.py
├── gan.py
├── model.py
├── netbo.py
├── readme
└── vgg.py
train.py
assets
consists of final built model in keras.workflow-diagram
shows the depicted workflow for training the model.
src
holds the training code via layers such as CNN, GAN, VGG and NetBotrain.py
is the code to train the model from scratch to obtain reproducible results.LICENSE
MIT licensed code.Readme.md
Documentation for the readme and project.
OralPathNet employs a multi-layer CNN built in TensorFlow / Keras: It equips with GAN and VGG for efficient and accuracy predictions.
Use predict.py
to perform inference on new images.
Load model with:
model = tf.keras.models.load_model(args.model_path)
Your contributions are welcome!
- Fork and submit PRs
- Report bugs via Issues
- Suggest enhancements or extra modules (e.g., segmentation, interpretability)
MIT License — see LICENSE in this repo.