成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Heroku云上部署深度學習Web應用程序的要點和技巧

譯文
人工智能 機器學習
了解在Heroku服務器上部署基于TensorFlow的圖像分類器Streamlit應用程序方面的模型部署問題和解決方案。

【51CTO.com快譯】Heroku 云在Web開發人員和機器學習愛好者中頗負盛名。該平臺提供了部署和維護Web應用程序的簡易方法,但如果您不熟悉部署深度學習應用程序,可能會遇到棘手的存儲和依賴問題。本文將使您的部署過程更順暢,以便您能專注于創建出色的Web應用程序。我們將學習DVC集成、基于Git和CLI的部署、錯誤代碼H10、使用Python軟件包以及優化存儲。

一、基于Git和CLI的部署

Streamlit應用程序可以使用Git、GitHub集成或使用Docker加以部署。基于Git的方法是在Heroku服務器上部署任何數據應用程序的更快速更簡單的方法。

基于Git的簡單方法

Streamlit應用程序可使用以下命令來部署:

  1. git remote add heroku https://heroku:$HEROKU_API_KEY@git.heroku.com/.git 
  2.  
  3. git push -f heroku HEAD:master 

為此,您需要:

  • Heroku API 密鑰
  • Heroku 應用程序:通過CLI或訪問網站。
  • 基于Git的項目
  • 配置文件

基于CLI的方法

基于CLI的部署很基本,且易于學習。

1. 在此處創建一個免費的Heroku帳戶。

2. 使用該鏈接,安裝Heroku CLI。

3. 克隆遠程存儲庫或使用git init。

4. 輸入heroku login和heroku create dagshub-pc-app。這將使您登錄到服務器,并在Web服務器上創建一個應用程序。

5. 現在創建含有運行應用程序的命令的Procfile: web: streamlit run --server.port $PORT streamlit_app.py

6. 最后,提交并推送代碼到heroku服務器git push heroku master。

二、PORT

如果您使用streamlit run app.py運行應用程序,它將生成錯誤代碼 H10,這意味著Streamlit應用程序未使用服務器分配的$PORT。

您需要:

  • 使用Heroku CLI設置PORT。
  1. heroku config:set PORT=8080 
  • 在Procfile中進行更改,并在參數中添加服務器端口。
  1. web:streamlit run --server.port $PORT app.py 

三、調整Python軟件包

這部分花了我2天的時間來調試,因為Heroku云有500MB的限制,而新的TensorFlow軟件包是489.6MB。為了避免依賴項和存儲問題,我們需要在requirements.txt文件中進行更改:

1. 添加tensorflow-cpu而不是tensorflow,這將我們的slug大小從765MB縮減到400MB。

2. 添加opencv-python-headless而不是opencv-python,以避免安裝外部依賴項。這將解決所有cv2錯誤。

3. 刪除所有不必要的軟件包,numpy、Pillow 和streamlit除外。

四、DVC集成

從DVC服務器成功提取數據需要幾個步驟:

1. 首先,我們允許通過使用Heroku API來安裝 apt-files的buildpack:

  1. heroku buildpacks:add --index 1 heroku-community/apt 

2. 創建文件名Aptfile,并添加最新的DVC版本https://github.com/iterative/dvc/releases/download/2.8.3/dvc_2.8.3_amd64.deb

3. 在您的app.py文件中添加額外的代碼行:

  1. import os 
  2. if "DYNO" in os.environ and os.path.isdir(".dvc"): 
  3.     os.system("dvc config core.no_scm true"
  4.     if os.system(f"dvc pull") != 0: 
  5.         exit("dvc pull failed"
  6.     os.system("rm -r .dvc .apt/usr/lib/dvc"

之后提交您的代碼,并將其推送到Heroku服務器。部署成功后,應用程序會自動從DVC服務器拉取數據。

五、優化存儲

優化存儲的方式有多種,最常見的就是使用Docker。通過使用Docker方法,您可以繞過500MB的限制,還可以自由安裝任何第三方集成或軟件包。想進一步了解如何使用Docker,請查看本指南

為了優化存儲:

  • 在requiremnets.txt中僅添加模型推理python庫。
  • 我們可以通過使用以下命令從DVC提取選擇性數據:
  1. dvc pull {model} {sample_data1} {sample_data2}.. 
  • 我們只需要一個模型推理文件,因此將其余文件添加到.slugignore,其工作方式與.gitignore類似。想了解更多信息,請查看Slug編譯器(https://devcenter.heroku.com/articles/slug-compiler#ignoring-files-with-slugignore)。
  • 從服務器成功拉取數據后,刪除.dvc目錄和.apt/usr/lib/dvc目錄。

六、結果

最初的slug大小為850MB,但通過存儲和軟件包優化,最終的slug大小縮減到400MB。我們用一個簡單的命令解決了錯誤代碼H10,并添加opencv-python-headless軟件包來解決依賴問題。本文旨在克服初學者在Heroku服務器上面臨的一些常見問題。

基于Docker的部署可以解決很多存儲問題,但也帶來了復雜性和緩慢的部署過程。可以使用heroku container:push web,但在此之前,需要先構建Docker并測試它,在本地解決所有問題后才能推送它。這種方法是高級Heroku用戶所青睞的。

下一個挑戰是使用Webhook部署您的Web應用程序。這將使我們可以從任何平臺自動化整個機器學習生態系統。自動化過程將需要創建一臺簡單的Flask Web服務器,該服務器將運行shell命令。

原文標題:Tips & Tricks of Deploying Deep Learning Webapp on Heroku Cloud,作者:Abid Ali Awan

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2009-06-01 11:23:08

Glassfish部署Glassfish

2012-05-29 11:02:23

ibmdw

2025-05-12 08:16:49

2015-10-13 09:48:22

GCE網絡應用云應用部署

2010-02-01 14:05:03

2024-03-05 08:00:00

人工智能Kuberneste

2010-12-31 15:29:54

Web應用程序

2013-11-19 15:35:01

2011-11-25 09:55:00

MPLSWeb應用加速WAN優化

2009-10-22 11:03:20

OSGi Web應用程

2015-10-21 13:57:09

WatchKit 要點開發

2012-09-24 09:29:11

云應用部署云計算模式應用性能監控

2021-09-07 10:24:36

Vue應用程序Web Workers

2009-04-13 11:35:55

IBMdWEclipseJava

2016-06-23 13:56:48

云計算應用后端

2015-02-11 09:15:46

云部署嵌套虛擬化PaaS

2009-07-09 16:47:26

Servlet的Web

2009-04-01 14:33:33

2011-07-05 09:48:02

云計算遷移

2022-09-08 18:45:07

Web應用程序API保護平臺網絡攻擊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人在线视频 | 五月花丁香婷婷 | 精品二三区 | 国产精品不卡一区 | 日韩在线观看中文字幕 | 成在线人视频免费视频 | 久久国产高清 | 色综合久久88色综合天天 | 亚洲色视频 | 久久精品综合 | 国产韩国精品一区二区三区 | 亚洲精品免费在线 | 国产高清精品一区二区三区 | 性一爱一乱一交一视频 | 天天操网 | 一级日批片 | 国产精品久久久久久久久久免费看 | 欧美激情在线精品一区二区三区 | 9久9久9久女女女九九九一九 | 98久久| 国产精品一区二区三区久久 | 久草在线 | 在线观看亚洲欧美 | 天天拍天天色 | 99国产精品视频免费观看一公开 | 一级黄色毛片免费 | 青娱乐自拍 | 亚洲激情在线 | 中文字幕在线观 | 亚洲综合区| 中文字幕久久精品 | 在线观看国产视频 | 九九在线视频 | 国产精品毛片无码 | 伊人伊成久久人综合网站 | 91色综合| 91香蕉| 中国一级大黄大片 | 翔田千里一区二区 | 欧美美女爱爱视频 | 日本一区二区三区四区 |