testdrivenio / fastapi-ml

deploying an ML model to Heroku with FastAPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deploying and Hosting a Machine Learning Model with FastAPI and Heroku

Want to learn how to build this?

Check out the tutorial.

Want to use this project?

With Docker

  1. Build and tag the Docker image:

    $ docker build -t fastapi-prophet .
  2. Spin up the container:

    $ docker run --name fastapi-ml -e PORT=8008 -p 8008:8008 -d fastapi-prophet:latest
  3. Train the model:

    $ docker exec -it fastapi-ml python
    
    >>> from model import train, predict, convert
    >>> train()
  4. Test:

    $ curl \
      --header "Content-Type: application/json" \
      --request POST \
      --data '{"ticker":"MSFT"}' \
      http://localhost:8008/predict

Without Docker

  1. Create and activate a virtual environment:

    $ python3 -m venv venv && source venv/bin/activate
  2. Install the requirements:

    (venv)$ pip install -r requirements.txt
  3. Train the model:

    (venv)$ python
    
    >>> from model import train, predict, convert
    >>> train()
  4. Run the app:

    (venv)$ uvicorn main:app --reload --workers 1 --host 0.0.0.0 --port 8008
  5. Test:

    $ curl \
      --header "Content-Type: application/json" \
      --request POST \
      --data '{"ticker":"MSFT"}' \
      http://localhost:8008/predict

About

deploying an ML model to Heroku with FastAPI

License:MIT License


Languages

Language:Python 83.1%Language:Dockerfile 16.9%