Skip to content

Latest commit

 

History

History
155 lines (92 loc) · 6.22 KB

deploy-machine-learning-web-app-heroku.md

File metadata and controls

155 lines (92 loc) · 6.22 KB

使用 Heroku 部署机器学习 Web 应用程序

原文:www.kdnuggets.com/2022/04/deploy-machine-learning-web-app-heroku.html

在之前的 博客文章 中,我展示了如何使用 Streamlit 库在 Python 中构建机器学习 Web 应用程序。最终产品看起来是这样的:

使用 Heroku 部署机器学习 Web 应用程序


我们的前三个课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业生涯

2. 谷歌数据分析专业证书 - 提升你的数据分析能力

3. 谷歌 IT 支持专业证书 - 支持你的组织在 IT 方面


这是一个允许用户输入有关健康和生活方式信息的应用程序,并返回一个输出,预测一个人在 10 年内患心脏病的可能性。

如果你想了解更多关于模型以及应用程序如何构建的信息,可以通过这个 教程 来学习。

否则,你可以简单地访问这个 Github 仓库 并克隆它。它包含了构建和部署 Web 应用程序所需的所有代码文件。

步骤 0:前置条件

要运行 Streamlit web 应用程序并将其部署到 Heroku,你需要安装一个非 GUI 的 Python 代码编辑器(Jupyter Notebook 不够用)。我目前使用的是 Visual Studio Code,但 PyCharmAtom 也是不错的替代选择。

完成后,确保使用‘pip’命令安装这三个库—— StreamlitJoblibPandas

第一步:在本地运行应用程序

现在环境已准备好,尝试在本地运行应用程序以检查一切是否正常。

打开你的终端并输入以下代码行:

streamlit run streamlit_fhs.py

然后,打开浏览器并访问 localhost:8501。你应该会看到一个类似这样的 Web 应用程序:

使用 Heroku 部署机器学习 Web 应用程序

第两步:创建必要的文件

我们的文件夹目前有三个文件:

使用 Heroku 部署机器学习 Web 应用程序

为了成功将应用部署到 Heroku,我们需要创建另外三个文件:

1. requirements.txt

首先,创建一个文本文件并命名为 requirements.txt。然后,将以下内容粘贴到文件中:

pandas==1.3.2
    gunicorn==19.9.0
    streamlit==1.5.1
    joblib==1.1.0
    sklearn==0.22

2. Procfile

接下来,你需要创建一个 Procfile。它告诉 Heroku 你的应用程序位置以及如何启动它。

要创建 Procfile,只需打开终端并导航到你刚刚克隆的文件夹。输入以下命令:

echo web: gunicorn app:app >Procfile

3. setup.sh

最后,创建一个名为 setup.sh 的文件,内容如下:

mkdir -p ~/.streamlit/ 
    echo "\ [server]\n\
    headless = true\n\
    port = $PORT\n\
    enableCORS = false\n\
    \n\" > ~/.streamlit/config.toml

第三步:设置 Heroku

现在,你需要 创建一个免费的 Heroku 账户

完成后,下载 Heroku CLI 并运行可执行文件。

为了确保你已成功安装 Heroku,在终端中输入以下命令:

heroku --version

如果你收到“命令未找到”的错误,这意味着某些东西出错了,Heroku 在你的设备上未正确设置。否则,你的安装成功了,你可以进入下一步。

第四步:部署 Web 应用

再次打开终端并导航到你的应用程序所在的目录。

输入以下命令:

heroku create my_app

注意:你可以将“my_app”替换为你选择的任何名称。

然后,你需要初始化并将代码推送到 Git。为此,在终端中输入以下命令:

git init
    git add .
    git commit -m "first commit"

最后,运行这两个命令将你的代码部署到 Heroku:

heroku git:remote -a my_app
    git push heroku master

注意:再次记得将 my_app 改为你的应用名称。

完成后,你会在终端上看到类似这样的输出:

使用 Heroku 部署机器学习 Web 应用

上面显示的链接是你的应用所在的位置,你现在可以在线访问它。以下是我的 Web 应用的 URL:fhs-pred-app.herokuapp.com/

就这样!如果你正确执行了所有步骤,你现在已经部署了一个功能齐全的 Web 应用,你可以通过一个链接与其他人分享。

Natassha Selvaraj 是一位自学成才的数据科学家,热衷于写作。你可以在 LinkedIn 上与她联系。

了解更多相关内容