Deploy Ml Model Save

Deploying a simple machine learning model to an AWS ec2 instance using flask and docker.

Project README

Serve a Machine Learning Model as a Webservice

Serving a simple machine learning model as a webservice using flask and docker.

Getting Started

  1. Use Model_training.ipynb to train a logistic regression model on the iris dataset and generate a pickled model file (iris_trained_model.pkl)
  2. Use app.py to wrap the inference logic in a flask server to serve the model as a REST webservice:
    • Execute the command python app.py to run the flask app.
    • Go to the browser and hit the url 0.0.0.0:80 to get a message Hello World! displayed. NOTE: A permission error may be received at this point. In this case, change the port number to 5000 in app.run() command in app.py. (Port 80 is a privileged port, so change it to some port that isn't, eg: 5000)
    • Next, run the below command in terminal to query the flask server to get a reply 2 for the model file provided in this repo:
       curl -X POST \
       0.0.0.0:80/predict \
       -H 'Content-Type: application/json' \
       -d '[5.9,3.0,5.1,1.8]'
    
  3. Run docker build -t app-iris . to build the docker image using Dockerfile. (Pay attention to the period in the docker build command)
  4. Run docker run -p 80:80 app-iris to run the docker container that got generated using the app-iris docker image. (This assumes that the port in app.py is set to 80)
  5. Use the below command in terminal to query the flask server to get a reply 2 for the model file provided in this repo:
        curl -X POST \
        0.0.0.0:80/predict \
        -H 'Content-Type: application/json' \
        -d '[5.9,3.0,5.1,1.8]'
    

For details on floating the containerized app on AWS ec2 instance, see the blog.

LICENSE

See LICENSE for details.

Open Source Agenda is not affiliated with "Deploy Ml Model" Project. README Source: tanujjain/deploy-ml-model
Stars
81
Open Issues
1
Last Commit
5 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating