Giter Club home page Giter Club logo

windy-journey's Introduction

Windy Journey | Data Science meets wind turbines!

This repository serves as the foundation for the Windy Journey workshop. It contains all the neccessary manifests and steps to reproduce the used stack and approaches from the workshop.

What to expect

In the workshop (and by following along the documentation here), you will get in touch with various tools for an (opnitionated) AI/ML workflow. These tools for example include: PyTorch, Jupyter Notebooks, Kafka, Knative, MinIO, OpenShift (with OpenShift Data Science) and others. You will set those up and be able to understand how these components interact with each other. You will be able to set up and initiate the training of a model, make it available for inferencing and deploy the infrastructure and runtimes, all in a cloud native fashion on Kubernetes (OpenShift).

Outcome

You will have set up the (opinionated) AI/ML workflow which will simulate live footage capture of wind turbine images which will be distributed over Kafka to services running on demand via Knative which again use the trained model residing in a S3 bucket with MinIO to detect anomalies and annotate these accordingly. These annotaed images will ultimately be displayed in a web UI to have a visual representation of potential anomalies.

Folder structure

This repository serves as a mono repository containing source codes of applications for this use case as well as manifests (yamls) to deploy resources on OpenShift. Usually you will split applications and infrastructure resources in separate repositories with different responsibilities. FOr the sake of this workshop and to make it easier accessible, we merged it all into one.

/apps-src

Applications developed and used to realise the workflow of gathering images, annotating them and displaying them for users.

Folder Description
/cam-sim CamSimulator: python application which streams the raw images of wind turbines. Could in practice be streamed from a drone for example
/image-processor ImageProcessor: grabs the image stream from the CamSimulator (cloud event via Kafka) to inference them with our trained model to annotate them if a damage is found
/ui/fontend && /ui/backend UI: a backend written with NestJS to grab the images from the ImageProcessor (again cloud event via Kafka) and sends those to clients connected via WebSocket. Frontend written with Flutter to connect to the WebSocket of the backend to listen for images and display them properly

/docs

All documentation necessary to set up the used stack for the Visual Inspection use case can be found here.

File Description
01-openshift-installation.md Guide on how to install an OpenShift cluster.
02-install-prerequisites.md The applications of this use case will use certain services we need to install on our OpenShift cluster. We will need services like Serverless, AMQ Streams (Kafka) and Data Science. This guide will explain how to install those.
03-workshop-openshift-data-science.md For this use case we want to train and inference a model which will be capable of finding anomalies in wind turbine images. We will use the capabilities of OpenShift Data Science to do so. This guide will explain how to use Data Science for our workshop.
04-workshop-openshift-runtime.md Once everything else is set up, we will deploy our actual applications which will make use of the now existing infrastructure of OpenShift services and the Data Science stack. This guide explains how to deploy them all correctly.

/manifests

...

/ml

...

windy-journey's People

Contributors

stefan-bergstein avatar kounex avatar pixeljonas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.