Machine Learning, Programming

Deploy Machine Learning Web Apps for Free

In this tutorial, I will explain how to deploy any Python web app on Heroku cloud.

Aniket Maurya
Towards AI
Published in
3 min readOct 14, 2020

--

Photo by Kevin Ku on Unsplash

Deploying a Machine Learning model is a difficult task due to the requirement of large memory and powerful computation. This tutorial focuses on a simple deployment technique that can be used to deploy any Python web app for free.

Read my previous article to learn how to build an “Image classification web app with FastAPI and Tensorflow”

I have also created a YouTube tutorial on Deploying Python app on Heroku

First of all, you will need a Heroku id, so go now and register for a free account.

For deploying any Python app on Heroku, we need three files- requirements.txt, runtime.txt, and Procfile.

  • requirements.txt is a normal text file that contains Python packages required to run the app.
  • runtime.txt is a text file that will contain the Python Version you want your app to run on.
  • Procfile is will contain the command to launch your web app. For example, you can use
# method 1
python application/server/main.py
# or uvicorn if you are deploying a uvicorn server
uvicorn application.server.main:app

Go to your Heroku dashboard then click on New and create a new app

Enter your App name and select the Server region that is nearest to your location and click on Create app

After you create the app, you will see the deployment methods — Heroku Git, GitHub, and Container Registry. I will use the GitHub method. For this just push your code repository to your GitHub account and then connect to GitHub on Heroku.

Then search the repository and connect it to your Heroku app.

After this, you will see a deploy button, select the branch of your Git repository that you want to be deployed, and click on deploy.

Then Heroku will automatically start your deployment 🎉🎉
After deployment, you can access your app from any web browser 🔥

Hope this article helped you in the deployment of your web app. If you have some feedback or suggestion please let me know in the comment section.

Follow me on Twitter: https://twitter.com/aniketmaurya

Subscribe to my YouTube channel: https://www.youtube.com/channel/UCRuFsj94hWecPkuEr4f5Xww

--

--