Skip to content

deploying an ML model to Heroku with FastAPI

License

Notifications You must be signed in to change notification settings

pntone/fastapi-ml

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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"}' \
      https://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"}' \
      https://localhost:8008/predict

About

deploying an ML model to Heroku with FastAPI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.1%
  • Dockerfile 16.9%