如何在Heroku上部署像Streamlit这样的机器学习Web应用程序?
通过支持智能决策和技术,机器学习 (ML) 彻底改变了多个行业。然而,当ML模型通过用户友好的Web应用程序提供给用户时,其真正价值才能得到释放。在这篇文章中,我们将介绍一些简单的步骤,用于在Heroku云上部署使用Streamlit构建的机器学习Web应用程序。
什么是Heroku?
Heroku是一个基于云的平台,为开发人员提供快速简便的应用程序部署、管理和扩展访问权限。它提供了一个平台即服务 (PaaS) 解决方案,抽象了底层基础架构,使开发人员无需担心服务器管理或基础架构配置,从而可以专注于构建和交付应用程序。
步骤
以下是将类似Streamlit的机器学习Web应用程序部署到Heroku的步骤:
准备你的Streamlit应用程序 − 准备好Streamlit应用程序:使用Streamlit构建你的机器学习Web应用程序。在继续部署之前,确保它在你的本地电脑上正常运行。
创建一个新的Git仓库 − 在项目目录中创建一个新的Git仓库,或者使用现有的仓库。确保你的项目文件已保存到Git中。
创建requirements.txt文件 − 在你的项目目录中创建一个requirements.txt文件,并在其中列出你的应用程序所需的所有Python包。在这个文件中添加Streamlit以及你使用的任何其他库。
设置Procfile − 在项目目录中创建一个名为Procfile的文件(没有扩展名),并添加以下内容:
web: sh setup.sh && streamlit run app.py
添加Setup.sh脚本 − 在你的项目目录中创建一个名为setup.sh的文件,并添加以下几行:
mkdir -p ~/.streamlit/ echo "\ [general]
\ email = "[email protected]"
\ " > ~/.streamlit/credentials.toml echo "\ [server]
\ headless = true
\ enableCORS=false
\ port = $PORT
\ " > ~/.streamlit/config.toml
创建一个Heroku应用程序 − 如果尚未安装,请下载Heroku CLI,然后在你的项目目录中执行以下命令来创建一个新的Heroku应用程序:
heroku create
配置Heroku − 配置Heroku时,设置Heroku应用程序的必要参数。可以使用以下命令:
heroku stack:set container heroku git:remote -a <your-heroku-app-name>
添加你的更改 − 将setup.sh、Procfile、requirements.txt和其他项目文件提交到Git:
git add . git commit -m "Initial commit"
部署到Heroku − 将你的Git仓库推送到Heroku以启动部署过程。
git push heroku master
查看部署情况 − Heroku收到你的Git仓库中的代码和包后,将开始构建你的应用程序。设置过程可能需要几分钟才能完成。
浏览已部署的应用程序 − 成功部署后,你可以访问Heroku提供的URL或使用以下命令访问你的应用程序:
heroku open
就是这样!你的Streamlit机器学习Web应用程序现在应该已成功部署到Heroku。请确保在步骤7中将<your-heroku-app-name>替换为你的Heroku应用程序的实际名称。
结论
你的基于Streamlit的ML Web应用程序已成功部署到Heroku。只需遵循本博客中提供的详细说明即可。现在,有了这个易于使用的界面,用户可以访问你的基于ML的Web应用程序并与你的模型进行交互。为了保持用户对最新功能的兴趣,请记住定期更新你的应用程序,包括任何即将推出的增强功能或升级,并在Heroku上重新部署。ML Web应用程序的部署是使机器学习民主化并使其能够惠及更广泛受众的关键第一步。继续学习新的ML模型,创建有趣的应用程序,并在Heroku等服务上部署它们,以最大限度地发挥机器学习计划的潜力。祝贺部署成功!