imfing / keras-flask-deploy-webapp

:smiley_cat: Pretty & simple image classifier app template. Deploy your own trained model or pre-trained model (VGG, ResNet, Densenet) to a web app using Flask in 10 minutes.
Apache License 2.0
1.18k stars 472 forks source link
deep-learning deployment flask keras pre-trained tensorflow webapp

Deploy Keras Model with Flask as Web App in 10 Minutes

[]() Contributions Welcome

A minimal and customizable repo to deploy your image models as web app easily.

Getting Started

Screenshot:

New Features :fire:


Run with Docker

Use prebuilt image

$ docker run --rm -p 5000:5000 ghcr.io/imfing/keras-flask-deploy-webapp:latest

Build locally

With Docker, you can quickly build and run the entire application in minutes :whale:

# 1. First, clone the repo
$ git clone https://github.com/imfing/keras-flask-deploy-webapp.git
$ cd keras-flask-deploy-webapp

# 2. Build Docker image
$ docker build -t keras_flask_app .

# 3. Run!
$ docker run -it --rm -p 5000:5000 keras_flask_app

Open http://localhost:5000 and wait till the webpage is loaded.

Local Installation

It's easy to install and run it on your computer.

# 1. First, clone the repo
$ git clone https://github.com/imfing/keras-flask-deploy-webapp.git
$ cd keras-flask-deploy-webapp

# 2. Install Python packages
$ pip install -r requirements.txt

# 3. Run!
$ python app.py

Open http://localhost:5000 and have fun. :smiley:


Customization

It's also easy to customize and include your models in this app.

Note Also consider gradio or streamlit to create complicated web apps for ML models.

Details ### Use your own model Place your trained `.h5` file saved by `model.save()` under models directory. Check the [commented code](https://github.com/mtobeiyf/keras-flask-deploy-webapp/blob/master/app.py#L37) in app.py. ### Use other pre-trained model See [Keras applications](https://keras.io/applications/) for more available models such as DenseNet, MobilNet, NASNet, etc. Check [this section](https://github.com/mtobeiyf/keras-flask-deploy-webapp/blob/master/app.py#L26) in app.py. ### UI Modification Modify files in `templates` and `static` directory. `index.html` for the UI and `main.js` for all the behaviors.

More Resources

Building a simple Keras + deep learning REST API