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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何部署ML模型到Google云平臺(tái)

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

本系列介紹 開發(fā)和部署 ( M L ) 模型。在本文中, 你將學(xué)習(xí)如何部署 ML 模型到 Google 云平臺(tái). 第 1 部分給出了 ML 工作流概括 ,考慮了使用機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)來實(shí)現(xiàn)商業(yè)價(jià)值所涉及的各個(gè)階段。在第 2 部分中,您將學(xué)習(xí)訓(xùn)練并保存 ML 模型并將其部署為 ML 系統(tǒng)的一部分。

在為 ML 系統(tǒng)構(gòu)建端到端管道時(shí),最后一步是將經(jīng)過訓(xùn)練的模型部署到生產(chǎn)環(huán)境中。成功的部署意味著 ML 模型已從研究環(huán)境中移出并集成到生產(chǎn)環(huán)境中,例如,作為一個(gè)實(shí)時(shí)應(yīng)用程序。

在本文中,您將學(xué)習(xí)使用 Google 云平臺(tái)( GCP )將 ML 模型投入生產(chǎn)的三種方法。雖然您可以使用其他幾種環(huán)境,例如 AWS 、 Microsoft Azure 或本地硬件,但本教程使用 GCP 部署 web 服務(wù)。

正在設(shè)置

通過您的 Google 帳戶注冊(cè) Google Cloud Platform 。系統(tǒng)會(huì)提示您填寫一些信息,包括您的信用卡詳細(xì)信息。但是,您注冊(cè)該平臺(tái)將不收取任何費(fèi)用。您還可以在前 90 天獲得價(jià)值 300 美元的免費(fèi)信貸。

創(chuàng)建帳戶后, 創(chuàng)建新的項(xiàng)目并將其命名為 GCP-deployment-example 。不要將項(xiàng)目鏈接到組織。

確保已將當(dāng)前項(xiàng)目更改為新創(chuàng)建的項(xiàng)目。

在 Google App Engine 上部署 ML 模型

在您可以在 GoogleAppEngine 上部署模型之前,還有一些額外的模塊要添加到代碼中。

本節(jié)中使用的代碼可以在 /kurtispykes/gcp-deployment-example GitHub repo 中找到。

第一步是在predict.py模塊中創(chuàng)建推理邏輯:

import joblib
import pandas as pd

model = joblib.load("logistic_regression_v1.pkl")

def make_prediction(inputs):
    """
    Make a prediction using the trained model
    """
    inputs_df = pd.DataFrame(
        inputs,
        columns=["sepal_length_cm", "sepal_width_cm", "petal_length_cm", "petal_width_cm"]
        )
    predictions = model.predict(inputs_df)
  
    return predictions

本模塊中的步驟包括:

將持久化模型加載到內(nèi)存中。

創(chuàng)建一個(gè)將一些輸入作為參數(shù)的函數(shù)。

在函數(shù)中,將輸入轉(zhuǎn)換為 pandas DataFrame并進(jìn)行預(yù)測(cè)。

接下來,推理邏輯必須封裝在 web 服務(wù)中。我用 Flask 包裝模型。有關(guān)詳細(xì)信息,請(qǐng)參閱main.py:

import numpy as np
from flask import Flask, request
from predict import make_prediction

app = Flask(__name__)

@app.route("/", methods=["GET"])
def index():
    """Basic HTML response."""
    body = (
        "
" "" "

Welcome to my Flask API

" "" "" ) return body @app.route("/predict", methods=["POST"]) def predict(): data_json = request.get_json() sepal_length_cm = data_json["sepal_length_cm"] sepal_width_cm = data_json["sepal_width_cm"] petal_length_cm = data_json["petal_length_cm"] petal_width_cm = data_json["petal_width_cm"] data = np.array([[sepal_length_cm, sepal_width_cm, petal_length_cm, petal_width_cm]]) predictions = make_prediction(data) return str(predictions) if __name__ == "__main__": app.run()

在代碼示例中,您創(chuàng)建了兩個(gè)端點(diǎn):

index:可以看作是主頁

/predict:用于與部署的模型交互。

您必須創(chuàng)建的最后一個(gè)文件是 app.yaml ,其中包含用于運(yùn)行應(yīng)用程序的運(yùn)行時(shí)。

runtime: python38

在 Google Cloud 控制臺(tái)中,執(zhí)行以下步驟:

在切換菜單上,選擇 App Engine 。您可能必須選擇 View all products 才能訪問 App Engine ,它與 Serverless 產(chǎn)品一起列出)。

App Engine 頁面,選擇 Create Application

選擇要在其中創(chuàng)建應(yīng)用程序的區(qū)域。

將應(yīng)用程序語言設(shè)置為 Python 并使用 Standard 環(huán)境。

在右上角,選擇終端圖標(biāo)。這將激活云外殼,這意味著您不必下載SDK 。

在部署應(yīng)用程序之前,必須上載所有代碼。由于通過 web 服務(wù)與 ML 模型交互所需的所有代碼都上傳到 gcp-deployment-example/app_engine/ 中的 GitHub 上,因此您可以從云外殼中克隆此存儲(chǔ)庫。

將代碼 URL 復(fù)制到剪貼板并導(dǎo)航回 GCP 上的云外殼。向 shell 輸入以下命令:

git clone https://github.com/kurtispykes/gcp-deployment-example.git

通過輸入以下命令導(dǎo)航到代碼存儲(chǔ)庫:

cd gcp-deployment-example/app_engine

接下來, initialize the application 。確保您選擇了最近創(chuàng)建的項(xiàng)目。

現(xiàn)在,部署應(yīng)用程序。從云 shell 運(yùn)行以下命令。如果系統(tǒng)提示您繼續(xù),請(qǐng)輸入Y。

gcloud app deploy

部署完成后,您將獲得服務(wù)部署位置的 URL 。打開提供的 URL 以驗(yàn)證應(yīng)用程序是否正常運(yùn)行。您應(yīng)該看到 歡迎使用我的 Flask API 消息。

接下來,測(cè)試/predict端點(diǎn)。

使用 Postman 發(fā)送 POST 請(qǐng)求以測(cè)試成功部署

您可以使用 Postman 向/predict端點(diǎn)發(fā)送 POST 請(qǐng)求。 Postman 是開發(fā)人員設(shè)計(jì)、構(gòu)建、測(cè)試和迭代 API 的 API 平臺(tái)。

要開始,請(qǐng)選擇 免費(fèi)注冊(cè) 。有一個(gè)完整的教程,但為了本篇文章的目的,請(qǐng)直接跳到主頁。

從那里,選擇 WorkspacesMy WorkspaceNew ,然后選擇 HTTP Request

接下來,將 HTTP 請(qǐng)求從GET更改為POST,并在請(qǐng)求 URL 中插入到已部署服務(wù)的鏈接。

之后,導(dǎo)航到Body標(biāo)頭并選擇raw,以便插入示例實(shí)例。選擇send。

predict-endpoint.png 圖 1 。 Postman 測(cè)試的預(yù)測(cè)終點(diǎn)

您向/predict端點(diǎn)發(fā)送了 POST 請(qǐng)求,其中包含一些定義模型輸入的原始數(shù)據(jù)。在響應(yīng)中,模型返回[‘Iris-setosa’],這是模型成功部署的積極指示。

您還可以使用 GCP 上提供的其他服務(wù)部署模型。

在 Google 云功能上部署 ML 模型

云功能是 GCP 上可用的無服務(wù)器技術(shù)之一。我對(duì)代碼做了一些更改,以使部署到云功能無縫。第一個(gè)也是最明顯的區(qū)別是不再從本地存儲(chǔ)庫導(dǎo)入序列化模型。相反,您正在調(diào)用 Google 云存儲(chǔ)中的模型。

將模型上傳到 Google 云存儲(chǔ)

在 GCP 部署示例項(xiàng)目中,選擇切換菜單。導(dǎo)航到 Cloud Storage 并選擇 BucketsCreate Bucket 。這將提示您為存儲(chǔ)桶和其他配置提供名稱。我把我的名字命名為model-data-iris。

創(chuàng)建桶后,下一個(gè)任務(wù)是上傳持久化模型。選擇 Upload Files ,導(dǎo)航到存儲(chǔ)模型的位置,然后選擇它。

現(xiàn)在,您可以使用 Google Cloud 中的各種服務(wù)來訪問此文件。要訪問云存儲(chǔ),必須從google.cloud導(dǎo)入storage對(duì)象。

下面的代碼示例顯示了如何從 Google 云存儲(chǔ)中訪問模型。您也可以在 gcp-deployment-example/cloud_functions/main.py 中看到完整的示例。

import joblib
import numpy as np
from flask import request
from google.cloud import storage

storage_client = storage.Client()
bucket = storage_client.get_bucket("model-iris-data") # remember to change the bucket name
blob = bucket.blob("logistic_regression_v1.pkl")
blob.download_to_filename("/tmp/logistic_regression_v1.pkl")
model = joblib.load("/tmp/logistic_regression_v1.pkl")

def predict(request):
    data_json = request.get_json()
  
    sepal_length_cm = data_json["sepal_length_cm"]
    sepal_width_cm = data_json["sepal_width_cm"]
    petal_length_cm = data_json["petal_length_cm"]
    petal_width_cm = data_json["petal_width_cm"]

    data = np.array([[sepal_length_cm, sepal_width_cm, petal_length_cm, petal_width_cm]])
    predictions = model.predict(data)
  
    return str(predictions)

在 Google Cloud 控制臺(tái)的切換菜單上,選擇 Cloud Functions 。要查看菜單,您可能必須選擇 View all products 并展開 Serverless 類別。

接下來,選擇 Create Function 。如果這是您第一次創(chuàng)建云函數(shù),則要求您啟用 API 。選擇 Enable 繼續(xù)。

還要求您進(jìn)行以下配置設(shè)置:

函數(shù)名稱= Predict

Trigger type = HTTP

Allow unauthenticated invocations =已啟用。

在運(yùn)行時(shí)、構(gòu)建、連接和安全設(shè)置部分中還有其他配置,但對(duì)于本示例,默認(rèn)值是可以的,因此選擇 Next

在下一頁中,要求您設(shè)置運(yùn)行時(shí)并定義源代碼的來源。在 Runtime 部分,選擇您正在使用的 Python 版本。我使用的是 Python 3.8 。確保在源代碼頭中選擇了 Inline Editor

復(fù)制并粘貼云函數(shù)用作main.py文件入口點(diǎn)的以下代碼示例。

{
  "sepal_length_cm" : 5.1,
  "sepal_width_cm" : 3.5,
  "petal_length_cm" : 1.4,
  "petal_width_cm" : 0.2
} 

使用內(nèi)聯(lián)編輯器更新 requirements.txt :

flask >= 2.2.2, <2.3.0
numpy >= 1.23.3, <1.24.0
scitkit-learn >=1.1.2, <1.2.0
google-cloud-storage >=2.5.0, <2.6.0

確保將 Entry point 值更改為端點(diǎn)的名稱。在這種情況下,它是predict。

完成所有更改后,選擇 Deploy 。部署可能需要幾分鐘的時(shí)間來安裝依賴項(xiàng)并啟動(dòng)應(yīng)用程序。完成后,您會(huì)看到成功部署的模型的函數(shù)名稱旁邊有一個(gè)綠色的勾號(hào)圖標(biāo)。

現(xiàn)在,您可以在 Testing 選項(xiàng)卡上測(cè)試應(yīng)用程序是否正常工作。使用以下示例代碼進(jìn)行測(cè)試:

{
  "sepal_length_cm" : 5.1,
  "sepal_width_cm" : 3.5,
  "petal_length_cm" : 1.4,
  "petal_width_cm" : 0.2
} 

如果您使用與前面相同的輸入,則會(huì)得到相同的響應(yīng)。

現(xiàn)在,您已經(jīng)學(xué)會(huì)了使用 GoogleCloudFunctions 部署 ML 模型。使用此部署,您不必?fù)?dān)心服務(wù)器管理。您的云功能僅在收到請(qǐng)求時(shí)執(zhí)行,并且 Google 管理服務(wù)器。

在 Google AI 云上部署 ML 模型

之前的兩個(gè)部署要求您編寫不同程度的代碼。在谷歌人工智能云上,你可以提供經(jīng)過訓(xùn)練的模型,他們?yōu)槟愎芾硪磺小?/p>

在云控制臺(tái)上,從切換菜單導(dǎo)航到 AI Platform 。在 Models 選項(xiàng)卡上,選擇 Create Model

您可能會(huì)注意到一條警告消息,通知您 Vertex AI ,這是另一個(gè)將 AutoML 和 AI 平臺(tái)結(jié)合在一起的托管 AI 服務(wù)。這一討論超出了本文的范圍。

在下一個(gè)屏幕上,系統(tǒng)會(huì)提示您選擇一個(gè)區(qū)域。選擇區(qū)域后,選擇 Create Model 。為模型命名,相應(yīng)地調(diào)整區(qū)域,然后選擇 Create

轉(zhuǎn)到創(chuàng)建模型的區(qū)域,您應(yīng)該可以看到模型。選擇型號(hào)并選擇 Create a Version

接下來,您必須將模型鏈接到云存儲(chǔ)中存儲(chǔ)的模型。本節(jié)有幾個(gè)重要事項(xiàng)需要注意:

AI 平臺(tái)上scikit-learn的最新模型框架版本是 1.0.1 版,因此您必須使用此版本來構(gòu)建模型。

模型必須存儲(chǔ)為model.pkl或model.joblib。

為了遵守 GCP AI 平臺(tái)的要求,我使用所需的模型版本創(chuàng)建了一個(gè)新的腳本,將模型序列化為model.pkl,并將其上傳到谷歌云存儲(chǔ)。有關(guān)更多信息,請(qǐng)參閱 /kurtispykes/gcp-deployment-example GitHub repo 中的更新代碼。

Model name: logistic_regression_model

選中 Use regional endpoint 復(fù)選框。

Region: 歐洲西部 2

models 部分,確保僅選擇 europe-west2 區(qū)域。

為要?jiǎng)?chuàng)建的模型版本選擇 Save 。創(chuàng)建模型版本可能需要幾分鐘的時(shí)間。

通過選擇模型版本并導(dǎo)航到 Test & Use 標(biāo)題來測(cè)試模型。輸入輸入數(shù)據(jù)并選擇 Test

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1765

    瀏覽量

    57530
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4986

    瀏覽量

    103058
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269087
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用CUBEAI部署tflite模型STM32F0中,模型創(chuàng)建失敗怎么解決?

    看到CUBE_AI已經(jīng)支持STM32F0系列芯片,就想拿來入門嵌入式AI。 生成的模型很小,是可以部署F0上的,但是一直無法創(chuàng)建成功。 查閱CUBE AI文檔說在調(diào)用create
    發(fā)表于 03-15 08:10

    什么是計(jì)算 計(jì)算的定義

    Google計(jì)算已經(jīng)擁有100多萬臺(tái)服務(wù)器, Amazon、IBM、微軟、Yahoo等的“”均擁有幾十萬臺(tái)服務(wù)器。 “計(jì)算”這個(gè)術(shù)語已是無處不在,從Web2.0大會(huì),
    發(fā)表于 11-18 17:23

    簡(jiǎn)化針對(duì)服務(wù)的語音檢測(cè)算法的部署

    格式,工具鏈將對(duì)其進(jìn)行保存并創(chuàng)建映像以下載到SoC中。圖2 nNetLite編譯器允許將任何AI / ML模型從任何框架快速優(yōu)化,修剪和部署DBM10 SoC。資料來源:DSP集團(tuán)S
    發(fā)表于 03-03 10:46

    深度融合模型的特點(diǎn)

    躺在實(shí)驗(yàn)機(jī)器上在現(xiàn)有條件下,一般涉及模型部署就要涉及模型的轉(zhuǎn)換,而轉(zhuǎn)換的過程也是隨著對(duì)應(yīng)平臺(tái)
    發(fā)表于 07-16 06:08

    Pytorch模型如何通過paddlelite部署嵌入式設(shè)備?

    Pytorch模型如何通過paddlelite部署嵌入式設(shè)備?
    發(fā)表于 12-23 09:38

    DIGIPCBA的平臺(tái)是否支持將平臺(tái)部署本地服務(wù)器

    DIGIPCBA的平臺(tái)是否支持將平臺(tái)部署本地服務(wù)器,只對(duì)本地的內(nèi)部人員開放
    發(fā)表于 06-22 14:13

    通過Cortex來非常方便的部署PyTorch模型

    (比如移動(dòng)設(shè)備)非常有用。在大多數(shù)情況下,你會(huì)使用模型服務(wù)器。今天你看到的許多 ML 應(yīng)用程序 — 從你最喜歡的流媒體服務(wù)背后的推薦引擎在線搜索欄中的自動(dòng)完成功能—都依賴于這種部署
    發(fā)表于 11-01 15:25

    如何將ML模型部署微控制器?

    大家好,的我正在嘗試將 ML 模型部署微控制器,我有兩塊 STM32L4R9I-Discovery 和 STM32H7B3I-Discovery 板。實(shí)驗(yàn)及相關(guān)結(jié)果如下所示:我使用
    發(fā)表于 12-29 13:09

    如何使用TensorFlow將神經(jīng)網(wǎng)絡(luò)模型部署移動(dòng)或嵌入式設(shè)備上

    有很多方法可以將經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型部署移動(dòng)或嵌入式設(shè)備上。不同的框架在各種平臺(tái)上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如And
    發(fā)表于 08-02 06:43

    平臺(tái)的自動(dòng)化部署設(shè)計(jì)與實(shí)現(xiàn)

    基于簡(jiǎn)化部署操作、節(jié)省部署時(shí)間、提高部署效率的目的,對(duì)平臺(tái)架構(gòu)和網(wǎng)絡(luò)拓?fù)溥M(jìn)行設(shè)計(jì),對(duì)
    發(fā)表于 02-23 10:07 ?0次下載
    <b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>的自動(dòng)化<b class='flag-5'>部署</b>設(shè)計(jì)與實(shí)現(xiàn)

    ARIZEAI,第一個(gè)進(jìn)入市場(chǎng)的ML觀測(cè)平臺(tái)

    “ Arize AI是第一個(gè)上市的ML可觀察性平臺(tái)。我們是唯一可收集實(shí)際數(shù)據(jù)并捕獲真實(shí)模型性能的平臺(tái)。隨著企業(yè)將更多模型
    的頭像 發(fā)表于 09-25 10:56 ?1653次閱讀

    如何在移動(dòng)設(shè)備上訓(xùn)練和部署自定義目標(biāo)檢測(cè)模型

    上,目標(biāo)檢測(cè)模型的訓(xùn)練和部署的過程: 設(shè)備端 ML 學(xué)習(xí)路徑:關(guān)于如何在移動(dòng)設(shè)備上,訓(xùn)練和部署自定義目標(biāo)檢測(cè)模型的分步教程,無需機(jī)器學(xué)習(xí)專業(yè)
    的頭像 發(fā)表于 08-16 17:09 ?3593次閱讀

    ML-EXray:邊緣部署驗(yàn)證框架

      嵌入式AI和ML在邊緣的部署不斷增加,無疑引入了從邊緣的新性能變化。盡管邊緣設(shè)備上的AI執(zhí)行性能突然發(fā)生了負(fù)面變化,但采用TinyML是一種前進(jìn)的方式。
    的頭像 發(fā)表于 10-18 14:31 ?752次閱讀

    如何將pytorch的模型部署c++平臺(tái)上的模型流程

    最近因?yàn)楣ぷ餍枰裵ytorch的模型部署c++平臺(tái)上,基本過程主要參照官網(wǎng)的教學(xué)示例,期間發(fā)現(xiàn)了不少坑,特此記錄。
    的頭像 發(fā)表于 10-26 14:36 ?3150次閱讀

    Hugging Face LLM部署大語言模型亞馬遜科技Amazon SageMaker推理示例

    ?本篇文章主要介紹如何使用新的Hugging Face LLM推理容器將開源LLMs,比如BLOOM大型語言模型部署亞馬遜科技Amazon SageMaker進(jìn)行推理的示例。我們將
    的頭像 發(fā)表于 11-01 17:48 ?938次閱讀
    Hugging Face LLM<b class='flag-5'>部署</b>大語言<b class='flag-5'>模型</b><b class='flag-5'>到</b>亞馬遜<b class='flag-5'>云</b>科技Amazon SageMaker推理示例
    主站蜘蛛池模板: 免费网站看av片| 色综合久久综精品| 日本理论在线观看被窝网| 交在线观看网站视频| 一级特黄aa大片| 色女人久久| 97国产影院| 六月激情丁香| 国产视频第一页| 日本吻胸抓胸激烈视频网站| 97理论片| 亚洲男人的天堂久久香蕉网| 午夜精品视频任你躁| 国产精品三级视频| 22222se男人的天堂| 国产尤物在线视频| 久久久精品免费视频| 在线免费看黄的网站| 69日本xxxxxxxx59| 天堂成人在线观看| 狠狠的日视频| 午夜黄视频| 日韩免费三级电影| 天天躁夜夜躁狠狠躁躁| 九九久久久久午夜精选| 日韩中文字幕电影| 天天搞夜夜| 亚洲一区免费观看| 手机看片免费永久在线观看| 在线播放免费人成毛片乱码| 天堂tv亚洲tv日本tv欧美人tv| 伊人福利网| 男女做性无遮挡免费视频| 精品卡一卡二 卡四卡视频| 69ww免费视频播放器| 色多多黄色| 九九热国产| 四虎欧美| 欧美黄色免费大片| 四虎国产精品永久地址51| 天堂资源地址在线|