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

用Azure ML Service構建和部署機器學習模型

譯文
人工智能 機器學習
我們在本教程中將構建和部署一個機器模型,以便利用Stackoverflow數據集預測工資。 看完本文后,你能夠調用充分利用REST的Web服務來獲得預測結果。

[[256196]]

【51CTO.com快譯】我們在本教程中將構建和部署一個機器模型,以便利用Stackoverflow數據集預測工資。 看完本文后,你能夠調用充分利用REST的Web服務來獲得預測結果。

由于目的是演示工作流程,我們將使用一個簡單的雙列數據集進行試驗,該數據集包含多年的工作經驗和薪水。想了解數據集的詳細信息,參閱我之前介紹線性回歸的那篇文章

先決條件

1.Python和Scikit-learn方面的基礎知識

2.有效的微軟Azure訂閱

3.Anaconda或Miniconda

配置開發環境

使用Azure ML SDK配置一個虛擬環境。 運行以下命令以安裝Python SDK,并啟動Jupyter Notebook。從Jupyter啟動一個新的Python 3內核。 

  1. $ conda create -n aml -y Python=3.6  
  2. $ conda activate aml  
  3. $ conda install nb_conda  
  4. $ pip install azureml-sdk[notebooks]  
  5. $ jupyter notebook  

初始化Azure ML環境

先導入所有必要的Python模塊,包括標準的Scikit-learn模塊和Azure ML模塊。 

  1. import datetime  
  2. import numpy as np  
  3. import pandas as pd  
  4. from sklearn.model_selection import train_test_split  
  5. from sklearn.linear_model import LinearRegression  
  6. from sklearn.externals import joblib  
  7. import azureml.core  
  8. from azureml.core import Workspace  
  9. from azureml.core.model import Model 
  10. from azureml.core import Experiment  
  11. from azureml.core.webservice import Webservice  
  12. from azureml.core.image import ContainerImage  
  13. from azureml.core.webservice import AciWebservice  
  14. from azureml.core.conda_dependencies import CondaDependencies  

我們需要創建一個Azure ML Workspace,該工作區充當我們這次試驗的邏輯邊界。Workspace創建用于存儲數據集的Storage Account、存儲秘密信息的Key Vault、維護映像中心的Container Registry以及記錄度量指標的Application Insights。

別忘了把占位符換成你的訂閱ID。 

  1. ws = Workspace.create(name='salary' 
  2. subscription_id='' 
  3. resource_group='mi2' 
  4. create_resource_group=True 
  5. location='southeastasia'  
  6.  

幾分鐘后,我們會看到Workspace里面創建的資源。

現在我們可以創建一個Experiment開始記錄度量指標。由于我們沒有許多參數要記錄,于是獲取訓練過程的啟始時間。 

  1. exp = Experiment(workspace=ws, name='salexp' 
  2. run = exp.start_logging()  
  3. run.log("Experiment start time", str(datetime.datetime.now()))  

訓練和測試Scikit-learn ML模塊

現在我們將進而借助Scikit-learn訓練和測試模型。 

  1. sal = pd.read_csv('data/sal.csv',header=0, index_col=None)  
  2. X = sal[['x']]  
  3. y = sal['y' 
  4. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=10)  
  5. lm = LinearRegression()  
  6. lm.fit(X_train,y_train)  

經過訓練的模型將被序列化成輸出目錄中的pickle文件。Azure ML將輸出目錄的內容自動拷貝到云端。 

  1. filename = 'outputs/sal_model.pkl'  
  2. joblib.dump(lm, filename)  

不妨記錄訓練作業的斜率、截距和結束時間,從而完成試驗。 

  1. run.log('Intercept :', lm.intercept_)  
  2. run.log('Slope :', lm.coef_[0])  
  3. run.log("Experiment end time", str(datetime.datetime.now()))  
  4. run.complete()  

我們可以通過Azure Dashboard來跟蹤度量指標和執行時間。

注冊和加載經過訓練的模型

每當我們凍結模型,它可以用獨特的版本向Azure ML注冊。這讓我們能夠在加載時在不同的模型之間輕松切換。

不妨將SDK指向PKL文件的位置,注冊來自上述訓練作業的工資模型。我們還將一些額外的元數據以標簽這種形式添加到模型中。 

  1. model = Model.register(model_path = "outputs/sal_model.pkl" 
  2. model_name = "sal_model" 
  3. tags = {"key""1"},  
  4. description = "Salary Prediction" 
  5. workspace = ws)  

檢查Workspace的Models部分,確保我們的模型已注冊。

是時候將模型打包成容器映像(到時作為Web服務來公開)并部署的時候了。

為了創建容器映像,我們需要將模型所需的環境告訴Azure ML。然而,我們傳遞一段Python腳本,該腳本含有基于入站數據點來預測數值的代碼。

Azure ML API為兩者提供了便利的方法。不妨先創建環境文件salenv.yaml,該文件告訴運行時環境在容器映像中添加Scikit-learn。 

  1. salenv = CondaDependencies()  
  2. salenv.add_conda_package("scikit-learn" 
  3. with open("salenv.yml","w"as f:  
  4. f.write(salenv.serialize_to_string())  
  5. with open("salenv.yml","r"as f:  
  6. print(f.read())  

下列代碼片段從Jupyter Notebook來執行時,創建一個名為score.py的文件,該文件含有模型的推理邏輯。 

  1. %%writefile score.py  
  2. import json  
  3. import numpy as np  
  4. import os  
  5. import pickle  
  6. from sklearn.externals import joblib  
  7. from sklearn.linear_model import LogisticRegression  
  8. from azureml.core.model import Model  
  9. def init():  
  10. global model  
  11. # retrieve the path to the model file using the model name  
  12. model_path = Model.get_model_path('sal_model' 
  13. model = joblib.load(model_path)  
  14. def run(raw_data):  
  15. data = np.array(json.loads(raw_data)['data'])  
  16. # make prediction  
  17. y_hat = model.predict(data)  
  18. return json.dumps(y_hat.tolist())  

現在將推理文件和環境配置傳遞給映像,從而將各點連起來。 

  1. %%time  
  2. image_config = ContainerImage.image_configuration(execution_script="score.py" 
  3. runtime="python"
  4. conda_file="salenv.yml" 

這最終會創建將出現在Workspace的Images部分中的容器映像。

我們都已準備創建定義目標環境的部署配置,并將它作為托管在Azure Container Instance的Web服務來運行。我們還決定選擇AKS或物聯網邊緣環境作為部署目標。 

  1. aciconfig = AciWebservice.deploy_configuration(cpu_cores=1,  
  2. memory_gb=1,  
  3. tags={"data""Salary""method" : "sklearn"},  
  4. description='Predict Stackoverflow Salary' 
  5. service = Webservice.deploy_from_model(workspace=ws,  
  6. name='salary-svc' 
  7. deployment_config=aciconfig,  
  8. models=[model],  
  9. image_config=image_config)  
  10. service.wait_for_deployment(show_output=True

Azure Resource Group現在有一個為模型運行推理的Azure Container Instance。

 

我們可以從下面這個方法獲得推理服務的URL: 

  1. print(service.scoring_uri) 

現在通過cURL來調用Web服務。我們可以從同一個Jupyter Notebook來做到這一點。

你可以從Github代碼庫來訪問數據集和Jupyter Notebook。

這種方法的獨特之處在于,我們可以從在Jupyter Notebook里面運行的Python內核來執行所有任務。開發人員可以利用代碼完成訓練和部署ML模型所需的各項任務。這正是使用諸如ML Service之類的ML PaaS具有的好處。

原文標題:Build and Deploy a Machine Learning Model with Azure ML Service,作者:Janakiram MSV

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

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2022-08-09 13:44:37

機器學習PySpark M數據分析

2024-01-05 07:41:34

OpenLLM大語言模型LLM

2018-11-07 09:00:00

機器學習模型Amazon Sage

2020-10-14 14:18:33

機器學習機器學習架構人工智能

2024-09-09 11:45:15

ONNX部署模型

2014-06-26 14:08:28

Azure云服務

2017-07-07 14:41:13

機器學習神經網絡JavaScript

2021-11-02 09:40:50

TensorFlow機器學習人工智能

2022-08-01 11:50:47

PySpark流失預測模型

2020-05-21 14:05:17

TFserving深度學習架構

2025-03-04 08:00:00

機器學習Rust開發

2020-11-17 17:28:29

機器學習技術人工智能

2024-02-20 15:17:35

機器學習模型部署

2019-10-23 08:00:00

Flask機器學習人工智能

2020-11-19 10:04:45

人工智能

2021-01-25 09:00:00

機器學習人工智能算法

2024-10-12 08:00:00

機器學習Docker

2022-09-07 08:00:00

機器學習MLFlow工具

2021-04-20 12:53:34

Polkadot部署合約

2020-04-17 14:48:30

代碼機器學習Python
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产手机 | 成人性视频免费网站 | 亚洲免费一区 | 91啪亚洲精品 | av片在线免费看 | 国产精品久久久久久影院8一贰佰 | 蜜月va乱码一区二区三区 | 成人在线免费电影 | 亚洲精品欧美 | 精品久久久久久亚洲精品 | 国产国拍亚洲精品av | 祝你幸福电影在线观看 | 亚洲精品一区二三区不卡 | 久久99精品久久久久久 | 国产精品自拍视频网站 | 亚洲一区二区三区免费在线观看 | 欧美日韩国产一区二区三区 | 国产精品自拍av | 国产专区在线 | 久久青青 | 一区二区三区免费观看 | 美女久久 | 久热9| 午夜av电影 | 国产一区二区三区高清 | 国产aa| 亚洲精品一二三区 | 特一级毛片 | 欧美专区在线 | 午夜电影一区 | www日韩 | 一级毛片视频 | 国产激情第一页 | 欧美成人a∨高清免费观看 91伊人 | 全免费a级毛片免费看视频免费下 | 精品国产一区二区三区久久影院 | 狠狠涩| 国产精品日本一区二区不卡视频 | 人人爽人人草 | 蜜桃免费av | 精品免费视频一区二区 |