huseinzol05/Gather-Deployment
Gathers scalable tensorflow and infrastructure deployment
repo name | huseinzol05/Gather-Deployment |
repo link | https://github.com/huseinzol05/Gather-Deployment |
homepage | |
language | Python |
size (curr.) | 38864 kB |
stars (curr.) | 299 |
created | 2018-10-23 |
license | MIT License |
Gather-Deployment
Gathers scalable tensorflow and infrastructure deployment, reusable purpose in the future.
Table of contents
Tensorflow deployment
- Object Detection. Flask SocketIO + WebRTC
- Stream from webcam using WebRTC -> Flask SocketIO to detect objects -> WebRTC -> Website.
- Object Detection. Flask SocketIO + opencv
- Stream from OpenCV -> Flask SocketIO to detect objects -> OpenCV.
- Speech streaming. Flask SocketIO
- Stream speech from microphone -> Flask SocketIO to do realtime speech recognition.
- Text classification. Flask + Gunicorn
- Serve Tensorflow text model using Flask multiworker + Gunicorn.
- Image classification. TF Serving
- Serve image classification model using TF Serving.
- Image Classification using Inception. Flask SocketIO
- Stream image using SocketIO -> Flask SocketIO to classify.
- Object Detection. Flask + opencv
- Webcam -> Opencv -> Flask -> web dashboard.
- Face-detection using MTCNN. Flask SocketIO + opencv
- Stream from OpenCV -> Flask SocketIO to detect faces -> OpenCV.
- Face-detection using MTCNN. opencv
- Webcam -> Opencv.
- Image classification using Inception. Flask + Docker
- Serve Tensorflow image model using Flask multiworker + Gunicorn on Docker container.
- Image classification using Inception. Flask + EC2 Docker Swarm + Nginx load balancer
- Serve inception on multiple AWS EC2, scale using Docker Swarm, balancing using Nginx.
- Text classification. Hadoop streaming MapReduce
- Batch processing to classify texts using Tensorflow text model on Hadoop MapReduce.
- Text classification. Kafka
- Stream text to Kafka producer and classify using Kafka consumer.
- Text classification. Distributed TF using Flask + Gunicorn + Eventlet
- Serve text model on multiple machines using Distributed TF + Flask + Gunicorn + Eventlet. Means that, Distributed TF will split a single neural network model to multiple machines to do feed-forward.
- Text classification. Tornado + Gunicorn
- Serve Tensorflow text model using Tornado + Gunicorn.
- Text classification. Flask + Celery + Hadoop
- Submit large texts using Flask, signal queue celery job to process using Hadoop, delay Hadoop MapReduce.
- Text classification. Luigi scheduler + Hadoop
- Submit large texts on Luigi scheduler, run Hadoop inside Luigi, event based Hadoop MapReduce.
- Text classification. Luigi scheduler + Distributed Celery
- Submit large texts on Luigi scheduler, run Hadoop inside Luigi, delay processing.
- Text classification. Airflow scheduler + elasticsearch + Flask
- Scheduling based processing using Airflow, store inside elasticsearch, serve it using Flask.
- Text classification. Apache Kafka + Apache Storm
- Stream from twitter -> Kafka Producer -> Apache Storm, to do distributed minibatch realtime processing.
- Text classification. Dask
- Batch processing to classify texts using Tensorflow text model on Dask.
- Text classification. Pyspark
- Batch processing to classify texts using Tensorflow text model on Pyspark.
- Text classification. Pyspark streaming + Kafka
- Stream texts to Kafka Producer -> Pyspark Streaming, to do minibatch realtime processing.
- Text classification. PyFlink
- Batch processing to classify texts using Tensorflow text model on Flink batch processing.
- Text classification. Streamz + Dask + Kafka
- Stream texts to Kafka Producer -> Streamz -> Dask, to do minibatch realtime processing.
Printscreen
All folders contain print screens, logs and instructions on how to start.
Notes
- Deploy them on a server, change
local
in code snippets to your own IP. - WebRTC chrome only can tested on HTTPS server.
- When come to real deployment, always prepare for up-scaling architectures. Learn about DevOps.
- Please aware with your cloud cost!