dmatos2012 / pytorch-flask-chest-anomaly-detection

Train on Kaggle Xray Dataset and train EffNet model. Deployment with Flask

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

I wanted to be able to showcase a deep learning model predictions' in a way that could be used easily by real world users. That is why I decided to use and learn at the same time Flask, JS in order to build a simple web app. This web app predicts common thoracic lung diseases and localizes critical findings from X-ray images from the kaggle dataset. Visit kaggle in order to know more about the challenge.

Model

EfficientDet Pytorch implementation by this repo. I have modified the code where needed to be able to train and infer on this custom dataset.

Web App

I am using Flask for this task, given its simplicity and easier to learn curve. Essentially, I just take an image uploaded by the user, and then use this image to predict the lung disease.

Note: This app currently only supports 256 x 256 images and can only handle uploading single images. I am learning as I go, therefore the features would be added little by little.

You can download this image to test the sample output in the sample demo.

Demo usage

$ cd scripts

python app.py

Then, within the same scripts directory

python -m http.server

Open the page on the indicated port, and upload the image and should see the predictions, as below

Sample Image

TODOs

  • Upload pre-trained model checkpoint-16.pth
  • Provide the user with ~5-6 demo images to try out the web app without having to download the entire dataset to test it.
  • Handle input sizes different than 256 x 256
  • Handle multiple files
  • Deploy to Heroku

About

Train on Kaggle Xray Dataset and train EffNet model. Deployment with Flask


Languages

Language:Python 87.5%Language:JavaScript 7.1%Language:HTML 3.2%Language:CSS 2.2%