在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何從notebook實驗過渡到云中部署

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2022-07-10 15:47 ? 次閱讀

當您開始研究一個新的機器學習問題時,我猜您首先會使用的環境便是 notebook。也許您喜歡在本地環境中運行 Jupyter、使用 Kaggle Kernel,或者我個人比較喜歡使用的 Colab。有了這些工具,創建并進行機器學習實驗變得越來越便利。盡管在 notebooks 中進行實驗時一切順利,但在您將實驗提升到生產環境時,很容易碰壁。突然間,您的關注點不再只是追求準確度上的高分。

如果您有長時間運行的作業,如進行分布式訓練或是托管一個在線預測模型,這時該怎么辦?亦或您的用例需要有關安全性和數據隱私的更細粒度的權限,您的數據在使用期間會是怎樣的?您將如何處理代碼更改,或者如何隨著時間推移監控模型的表現?

要打造生產級應用或訓練大型模型,您需要額外的工具來幫您實現擴縮,而不僅僅是在 notebook 中編寫代碼。使用云服務提供商可以幫助解決這個問題,但這一過程可能會讓人感到有點望而生畏。如果瀏覽一下 Google Cloud 產品的完整列表,您可能完全不知道該從何入手。

因此,為了讓您的旅程更輕松,我將向您介紹從實驗性 notebook 代碼到云中部署模型的快速路徑。

2e559454-f609-11ec-ba43-dac502259ad0.png

您可以在此處獲取本示例中使用的代碼。此 notebook 在 TF Flowers 數據集上訓練了一個圖像分類模型。您將看到如何在云中部署該模型,并通過 REST 端點獲取對新花卉圖像的預測。

請注意,為了遵循此教程進行實驗,您需要有一個啟用計費功能的 Google Cloud 項目。如果您以前從未使用過 Google Cloud,可以按照此處的說明設置一個項目,并免費獲得 300 美元贈金以進行實驗。

以下是您需要采取的 5 個步驟:

1.創建一個 Vertex AI Workbench 代管式 notebook

2.上傳 .ipynb 文件

3.啟動 notebook 執行

4.部署模型

5.獲取預測

創建一個 Vertex AI Workbench 代管 notebook

要訓練和部署該模型,您將使用 Google Cloud 的代管式機器學習平臺 Vertex AI。Vertex AI 包含許多不同的產品,可以在 ML 工作流的整個生命周期中為您提供幫助。今天,您將使用其中的一些產品,讓我們先從代管式 notebook 產品 Workbench 開始。

在 Cloud Console 的“Vertex AI”部分下,選擇“Workbench”。請注意,如果這是您首次在項目中使用 Vertex AI,系統將提示您啟用 Vertex API 和 Notebooks API。因此,請務必點擊界面中的按鈕來執行此操作。

2e93bc2a-f609-11ec-ba43-dac502259ad0.png

接下來,選擇“MANAGED NOTEBOOKS”,然后選擇“NEW NOTEBOOK”

2ea0e102-f609-11ec-ba43-dac502259ad0.png

Advanced Settings”下,您可以通過指定機器類型和位置、添加 GPU、提供自定義容器以及啟用終端訪問來自定義 notebook。目前,請保留默認設置,只需為 notebook 命名即可。然后點擊“CREATE”。

2ebd2150-f609-11ec-ba43-dac502259ad0.png

OPEN JUPYTERLAB 文本變為藍色時,表示您的 notebook 已準備就緒。首次打開 notebook 時,系統會提示您進行身份驗證,您可以按照界面中的步驟操作。

2edd8792-f609-11ec-ba43-dac502259ad0.png

打開 JupyterLab 實例后,您會看到幾種不同的 notebook 選項。Vertex AI Workbench 提供了不同的內核(TensorFlow、R、XGBoost 等),這些內核是預安裝了通用數據科學庫的代管式環境。如果您需要向內核中添加其他庫,和在 Colab 中一樣,您可以在 notebook 單元中使用 pip install。

2eeb2ee2-f609-11ec-ba43-dac502259ad0.png

第 1 步已完成!您已經創建了代管式 JupyterLab 環境。

上傳 .ipynb 文件

現在,將 TensorFlow 代碼放入 Google Cloud 中。如果您一直在使用不同的環境(Colab、本地等),則可以將任何需要的代碼工件上傳到您的 Vertex AI Workbench 代管式 notebook,甚至可以與 GitHub 集成。在未來,您可以直接在 Workbench 中完成所有的開發工作,但現在讓我們假設您一直在使用 Colab。

Colab notebooks 可以導出為 .ipynb 文件。

2f27988c-f609-11ec-ba43-dac502259ad0.png

您可以點擊“上傳文件”圖標,將文件上傳到 Workbench。

2f471f7c-f609-11ec-ba43-dac502259ad0.png

當您在 Workbench 中打開此 notebook 時,系統會提示您選擇內核,即 notebook 的運行環境。有幾種不同的內核可供選擇,但由于此代碼示例使用 TensorFlow,因此需要選擇 TensorFlow 2 內核。

2f63bff6-f609-11ec-ba43-dac502259ad0.png

選擇內核后,在 notebook 中執行的任何單元都將在此代管式 TensorFlow 環境中運行。例如,如果執行導入單元,則可以導入 TensorFlow、TensorFlow Datasets 和 NumPy。這是因為所有這些庫都包含在 Vertex AI Workbench TensorFlow 2 內核中。當然,由于 XGBoost 內核中沒有安裝 TensorFlow,如果您嘗試在該內核中執行相同的 notebook 單元,則會看到一條錯誤消息。

啟動 notebook 執行

雖然我們可以手動運行其余的 notebook 單元,但對于需要長時間訓練的模型而言,notebook 并不總是最方便的選擇。如果使用 ML 構建應用,通常來說您需要對模型進行多次訓練。隨著時間的推移,您會想要重新訓練模型,以確保其保持實時更新,并不斷產生有價值的結果。

如果您要開始處理一個新的機器學習問題,手動執行 notebook 單元可能是不錯的選擇。但是,如果您想要大規模進行自動化實驗,或者為生產應用重新訓練模型,代管式 ML 訓練選項將大大簡化您的工作。

啟動訓練作業最快的方法是使用 notebook 執行功能,該功能將在 Vertex AI 代管式訓練服務上逐個運行 notebook 單元。

notebook 執行功能

啟動訓練作業后,它將在作業完成后您無法訪問的機器上運行。因此,您不希望將 TensorFlow 模型工件保存到本地路徑。您想要將其保存到 Google Cloud 的對象存儲空間 Cloud Storage 中,以便您可在其中存儲圖像、csv 文件、txt 文件和保存的模型工件。幾乎包括任何類型的內容。

Cloud Storage 涉及“存儲分區”的概念,它用于存放數據。您可以通過界面創建存儲分區。Cloud Storage 中存儲的所有內容都必須包含在存儲分區中。在存儲分區中,您可以創建文件夾來組織數據。

通過界面創建存儲分區

Cloud Storage 中的每個文件都有一個路徑,就像本地文件系統上的文件一樣,只是 Cloud Storage 路徑始終以gs:// 開頭

您需要更新訓練代碼,以便將內容保存到 Cloud Storage 存儲分區而非本地路徑中。

例如,在這里,我從 model.save('model_ouput"). 更新了 notebook 的最后一個單元,將工件保存到我在項目中創建的名為 nikita-flower-demo-bucket 的存儲分區中,而不是保存到本地。

2f976f9a-f609-11ec-ba43-dac502259ad0.png

現在,我們可以啟動執行了。

選擇“Execute”按鈕,為您的執行命名,然后添加 GPU。在“環境”下方,選擇 TensorFlow 2.7 GPU 映像。該容器預安裝了 TensorFlow 和許多其他數據科學庫。

2fa6c242-f609-11ec-ba43-dac502259ad0.png

然后,點擊SUBMIT”

您可以在“EXECUTIONS”標簽頁中跟蹤訓練作業的狀態。作業完成后,您可以在“VIEW RESULT”下查看 notebook 和每個單元的輸出,它們存儲在 GCS 存儲分區中。這意味著,您始終可以將模型運行與執行的代碼關聯在一起。

2fbb0324-f609-11ec-ba43-dac502259ad0.png

訓練完成后,您將能夠在存儲分區中看到 TensorFlow 保存的模型工件。

2fddc1d4-f609-11ec-ba43-dac502259ad0.png

部署到端點

現在,您已經了解到如何在 Google Cloud 上快速啟動無服務器訓練作業。但 ML 不僅僅只是用于訓練。如果我們不使用模型來實際完成一些任務,那么所有這些工作有什么意義呢?

就像訓練一樣,我們可以通過調用 model.predict 直接從 notebook 執行預測。但是,如果我們想要獲取對大量數據的預測,或在運行中獲取低延遲預測,則需要比 notebook 更強大的工具。

讓我們回到 Vertex AI Workbench 代管式 notebook。您可以將下面的代碼粘貼到一個單元中,該單元會使用 Vertex AI Python SDK 將您剛剛訓練的模型部署到 Vertex AI Prediction 服務。將模型部署到端點會將保存的模型工件與物理資源相關聯,從而確保低延遲預測。

首先,導入 Vertex AI Python SDK。

Vertex AI Python SDK

然后,將您的模型上傳到 Vertex AI Model Registry。您需要為模型命名,并提供一個用于傳送的容器映像,這是將用于運行您的預測的環境。Vertex AI 提供了用于傳送的預構建容器,在本例中,我們使用的是 TensorFlow 2.8 映像。

Vertex AI Model Registry

預構建容器

您還需要將 artifact_uri 替換為存儲保存的模型工件的存儲分區路徑。對我來說,該路徑是“nikita-flower-demo-bucket”。您還需要將 project 替換為您的項目 ID。

然后,將模型部署到端點。我目前使用的是默認值,但如果您想詳細了解流量分配和自動擴縮,請務必查看相關文檔。請注意,如果您的用例不需要低延遲預測,則無需將模型部署到端點,而是可以使用批量預測功能。

流量分配

自動擴縮

批量預測功能


部署完成后,您可以在控制臺中看到您的模型和端點。

30070c60-f609-11ec-ba43-dac502259ad0.png

獲取預測

現在,該模型已部署到端點,您可以像使用任何其他 REST 端點一樣使用它。也就是說,您可以將模型集成到下游應用中并獲取預測。

現在,我們直接在 Workbench 中測試該模型。

首先,打開一個新的 TensorFlow notebook。

3036fda8-f609-11ec-ba43-dac502259ad0.png

在此 notebook 中,導入 Vertex AI Python SDK。

然后,創建端點,替換 project_number 和 endpoit_id。

您可以在 Cloud Console 的“Endpoints”部分找到端點 ID。

304acba8-f609-11ec-ba43-dac502259ad0.png

您可以在控制臺首頁找到項目編號。注意,該編號與項目 ID 不同。

305c8c76-f609-11ec-ba43-dac502259ad0.png

當您向在線預測服務器發送請求時,HTTP 服務器會接收該請求。HTTP 服務器會從 HTTP 請求內容正文中提取預測請求。提取的預測請求會被轉發到傳送函數。在線預測的基本格式是數據實例列表。此類列表可以是普通的值列表,也可以是 JSON 對象成員,具體取決于您如何在訓練應用中配置輸入。

為了測試端點,我首先將一張花卉圖像上傳到 Workbench 實例。

307deeca-f609-11ec-ba43-dac502259ad0.png

下面的代碼使用 PIL 打開圖像并調整其大小,然后將其轉換為 NumPy 數組。

接下來,我們將 NumPy 數據轉換為 float32 類型和列表。我們將其轉換為列表,是由于 NumPy 數據不支持 JSON 序列化,因此我們不能在請求的正文中發送這些數據。請注意,不需要將數據擴縮 255,因為該步驟已通過 tf.keras.layers.Rescaling(1./255). 包含在我們的模型架構中。為了避免調整圖像的大小,可以將 tf.keras.layers.Resizing 添加到模型中,而不是將其作為 tf.data 流水線的一部分。

然后,調用 predict

所得到的結果是模型的輸出,這是一個包含 5 個單元的 softmax 層。看起來索引 2 的類(郁金香)得分最高。

提示:為了節省成本,如果您不打算使用端點,請務必取消部署端點!要取消部署,轉到控制臺的“Endpoints”部分,選擇端點,然后選擇“Undeploy model form endpoint”選項。如果需要,您可以隨時在未來重新部署。

30b821c6-f609-11ec-ba43-dac502259ad0.png

在更加實際的例子中,您可能希望直接將圖像發送到端點,而不是先將其加載到 NumPy 中。如果您想查看相關示例,可以參閱此 notebook 。

開始您的探索吧!

現在您已了解到如何從 notebook 實驗過渡到云中部署。有了這一框架,您可以開始思考如何使用 notebooks 和 Vertex AI 構建新的 ML 應用啦。

審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4786

    瀏覽量

    129411
  • Notebook
    +關注

    關注

    0

    文章

    19

    瀏覽量

    8618
  • REST
    +關注

    關注

    0

    文章

    33

    瀏覽量

    9451

原文標題:從 notebook 到部署模型的 5 個步驟

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    dsm hyper v,在Hyper-V中部署DSM的步驟

    于家庭和企業的數據存儲與共享場景。而Hyper-V作為微軟的虛擬化平臺,能夠為用戶提供高效的虛擬機創建和管理環境。在Hyper-V中部署DSM系統,能讓用戶在虛擬化環境下充分享受DSM系統帶來的便利。接下來,就為大家詳細介紹如何在Hyper-V中實現這一操作。 ? ?前期準備工作 ? ?硬件和
    的頭像 發表于 02-05 15:25 ?93次閱讀
    dsm hyper v,在Hyper-V<b class='flag-5'>中部署</b>DSM的步驟

    先進電動汽車的電壓轉換策略 在48V電動汽車供電網絡中部署區域架構

    為了滿足先進汽車系統的需求,減輕重量,減少占用的空間,采用 48V 區域架構已成為一種有吸引力的選擇。 ??? 汽車系統正遷移到更高電壓 ??? 48V 系統的功率和重量優勢 ??? 在電動汽車中部署
    的頭像 發表于 01-24 10:54 ?3492次閱讀
    先進電動汽車的電壓轉換策略 在48V電動汽車供電網絡<b class='flag-5'>中部署</b>區域架構

    EE-130:ADSP-21xx快速過渡到ADSP-219x

    電子發燒友網站提供《EE-130:ADSP-21xx快速過渡到ADSP-219x.pdf》資料免費下載
    發表于 01-14 15:04 ?0次下載
    EE-130:<b class='flag-5'>從</b>ADSP-21xx快速<b class='flag-5'>過渡到</b>ADSP-219x

    浪潮信息與實驗室合作部署42kW風冷算力倉

    部署運維雙簡化的領先智算中心。 此次合作的核心在于42kW智算風冷算力倉的部署。這一高性能的算力倉將為實驗室提供強大的計算支持,不僅提升了算力和能效,還確保了性能的極致擴展。同時,其簡潔的
    的頭像 發表于 01-09 14:18 ?190次閱讀

    實驗部署42kW風冷算力倉,加速AI for Science科研創新

    北京2025年1月6日?/美通社/ -- 日前,浪潮信息與一實驗室(以下簡稱實驗室)正式簽署合作協議,將采用42kW智算風冷算力倉打造算效能效雙提升、性能擴展雙極致、部署運維雙簡化的領先智算中心
    的頭像 發表于 01-07 09:46 ?149次閱讀

    華為云 Flexus X 實例部署安裝 Jupyter Notebook,學習 AI,機器學習算法

    前言 由于本人最近在學習一些機器算法,AI 算法的知識,需要搭建一個學習環境,所以就在最近購買的華為云 Flexus X 實例上安裝了學習環境,Jupyter Notebook。沒想到效果格外
    的頭像 發表于 01-02 13:43 ?159次閱讀
    華為云 Flexus X 實例<b class='flag-5'>部署</b>安裝 Jupyter <b class='flag-5'>Notebook</b>,學習 AI,機器學習算法

    如何部署SD-WAN高效網絡?

    SD-WAN部署的成功需要全面的規劃和實施,評估網絡環境到選擇合適的硬件和軟件,再到實際的部署步驟。本文詳細介紹了SD-WAN的部署過程,幫助企業從零開始構建高效的網絡。 SD-WA
    的頭像 發表于 12-23 14:33 ?208次閱讀

    瑞薩電子推出三合一電動汽車單元解決方案

    如今,電動汽車驅動器正在從傳統的分布式系統過渡到集中式架構。
    的頭像 發表于 10-11 11:38 ?420次閱讀

    如何使用Copilot提高工作效率

    在微軟發布的2024《工作趨勢指數》年度報告中,盡管高達79%的管理者認為AI對于企業至關重要,但仍有59%的管理者在如何量化AI帶來的生產力提升方面感到困惑。隨著我們逐漸AI的實驗階段過渡到真正
    的頭像 發表于 08-20 09:59 ?614次閱讀

    什么叫自動控制系統的過渡過程

    自動控制系統的過渡過程是指系統在初始狀態與最終穩定狀態之間所經歷的一段時間內,系統輸出量的變化過程。在這段時間內,系統會經歷從不穩定到穩定,非線性到線性,從無序到有序的過程。過渡過程的長短、穩定性
    的頭像 發表于 06-06 16:00 ?2667次閱讀

    如何將PSoC4000部件的設計過渡到PSoC4000T部件?

    英飛凌提供哪些支持,幫助客戶將現有 PSoC 設計轉移到新產品中? 如何將 PSoC4000 部件的設計過渡到 PSoC4000T 部件? PSoC4000 部件僅支持 PSoC Creator
    發表于 05-29 06:35

    如何用加載分散法將軟件中部分變量內部RAM轉移到外部RAM?

    如何用加載分散法將軟件中部分變量內部RAM轉移到外部RAM, 加載分散法文件怎么設置?堆和棧需要設置嗎?
    發表于 05-10 07:52

    鴻蒙實戰開發-本地部署、SmartPerf 編譯部署指導文檔

    編譯環境搭建 注意:在linux編譯環境安裝時以root或者其他 sudo 用戶身份運行下面的命令。 node 環境安裝 下載Node js安裝包(windows推薦, linux跳過此步驟)
    發表于 05-09 14:23

    請問cortex-M7核單片機主要應用在哪些領域?

    看到st和nxp的M7核單片機,動不動幾百兆的主頻,有的還要外置DDR,還有的成本低于1刀。想知道這些單片機的目標應用場合是哪些? 單片機發展,51過渡到cortex m3,現在又要從cortex m3過渡到corte m7嗎
    發表于 04-17 07:49

    【轉載】英特爾開發套件“哪吒”快速部署YoloV8 on Java | 開發者實戰

    部署到生產系統中。通過簡化的開發工作流程,OpenVINO可賦能開發者在現實世界中部署高性能應用程序和算法。 今天我們將基于哪吒開發者套件平臺來快速部署OpenVI
    的頭像 發表于 03-23 08:05 ?677次閱讀
    【轉載】英特爾開發套件“哪吒”快速<b class='flag-5'>部署</b>YoloV8 on Java | 開發者實戰
    主站蜘蛛池模板: 国产精品久久久久久久久齐齐 | 日韩卡1卡2卡三卡四卡二卡免 | 国产精品9999久久久久仙踪林 | 噜噜噜天天躁狠狠躁夜夜精品 | 天天干天天干天天天天天天爽 | 性欧美videofree视频另类 | 天天干天天射天天 | 亚洲人成亚洲人成在线观看 | 高清激情小视频在线观看 | 国产高清在线播放免费观看 | 性欧美大战久久久久久久 | 免费网站黄成人影院 | 四虎午夜影院 | 国产a一级毛片午夜剧场14 | 天天色天天射综合网 | 日本三级网站在线观看 | 久久这里只有精品免费播放 | 综合五月天婷婷丁香 | 亚洲精品国产自在久久出水 | 色视频免费观看高清完整 | 色惰网站| 99久热| 成人在线综合网 | 欧美福利在线播放 | 一卡二卡卡四卡无人区中文 | 伊人91在线 | 天天干狠狠操 | 久久青青成人亚洲精品 | 在线高清视频大全 | 2019天天操| 四虎永久在线精品免费观看地址 | 久久天天躁夜夜躁狠狠 | 天天综合天天 | 欧美日韩高清一本大道免费 | 午夜高清视频在线观看 | 李老汉的性生生活2 | 天天擦天天干 | 黄色日屁 | 在线免费影视 | 日本一区视频 | 免费视频一级片 |