Skip to content

Bachelor's in Computer Science capstone project. Scans chest X-ray images for pneumonia using an Inception-v4 network and MLOps pipeline. For demonstration purposes only.

License

Notifications You must be signed in to change notification settings

wburklund/wgu-capstone

Repository files navigation


Logo

WGU Capstone Project

Pneumonia detection system. Scans chest X-ray images for pneumonia using an Inception-v4 network and MLOps pipeline. For demonstration purposes only.

Table of Contents

  1. About The Project
  2. Installation And Usage
  3. License
  4. Contact
  5. Acknowledgements

About The Project

Pipeline

For my Bachelor of Science in Computer Science capstone project, I decided to apply the Inception-v4 network to scan chest X-ray images for pneumonia. I used this project as a trial run for creating a production-grade machine learning system. As such, the project includes a 5-stage MLOps pipeline implemented in AWS as well as a simple web application.

Here's what sets this project apart:

  • Implementation of Inception-v4 network created from the original paper
  • GPU training in AWS with costs controlled by automatically starting and stopping instances
  • Written in 8 general-purpose programming languages, including Python, F#, Java, and C++
  • Sensitive data is encrypted in transit and at rest, in accordance with common industry regulations
  • Cloud infrastructure managed by Terraform

Built With

Installation And Usage

This project's infrastructure takes some work to set up. If you're up for a challenge, here are the major steps.

Prerequisites

  • GitHub account
  • AWS account with access to G4 instances
  • AWS CLI configured with administrative credentials
  • Docker
  • Terraform

Installation

  1. Set up a Terraform S3 state bucket and DynamoDB lock table, changing the appropriate values in backend.tf
  2. terraform init
  3. Create S3 buckets, AWS Certificate Manager TLS certificate, DynamoDB table, and Route 53 hosted zone referenced as Terraform data resources, changing values as appropriate
  4. Create ECR image repository for ECS task definition and upload API image with included Dockerfile
  5. Download CoronaHack dataset, run metadata augmentation, and upload all to data store bucket
  6. Configure GitHub Actions with secret variables
  7. Run GitHub Actions pipeline to:
    1. Build project code and upload artifacts to code store bucket
    2. terraform apply
    3. Run MLOps pipeline

Usage

  1. Open web frontend URL
  2. Enter selected access key
  3. Use buttons on the header to access image scanning and statistical reporting functionality

License

Distributed under the AGPL-3.0 License. See LICENSE for more information.

Contact

Will Burklund - wburklund.com - waburklund@gmail.com

Project Link: https://github.com/wburklund/wgu-capstone

Acknowledgements

About

Bachelor's in Computer Science capstone project. Scans chest X-ray images for pneumonia using an Inception-v4 network and MLOps pipeline. For demonstration purposes only.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published