手把手教你用ModelArts模型部署上線&在線推理(一)【我的華為云體驗之旅】

      網友投稿 1862 2025-03-31

      前言

      ModelArts是面向開發者的一站式AI開發平臺,為機器學習與深度學習提供海量數據預處理及半自動化標注、大規模分布式Training、自動化模型生成,及端-邊-云模型按需部署能力,幫助用戶快速創建和部署模型,管理全周期AI工作流。

      本文的主要目的是帶想用ModelArts的同學過遍ModelArts的基礎功能并部署屬于你自己的模型在云上,并且能夠本地通過python代碼調API的方式在線推理【本文以tensorflow 1.13為例】。

      模型部署階段

      1、模型格式要求

      因為模型部署在云上需要在AI框架[tf/pytorch/mxnet]上再套一個serving框架,本文主要利用tensorflow框架,上層的serving框架會對tensorflow的saved model形式比較親和[推理比較快],所以需要把模型先轉成saved model格式的模型,可能的路線是pb--->saved model / ckpt --->saved model? /h5--->saved model,具體轉法同學們可以參考網上的教程~

      最終生成的saved model文件樹如下:

      variables目錄里如下:

      值得注意的是,saved model.pb文件只包含了圖,不包含權重,權重全部存在了variables目錄下,如果同學們轉換出來variables里面是空的,pb文件很大,是有問題的,應該是轉換代碼的問題。

      手把手教你用ModelArts模型部署上線&在線推理(一)【我的華為云體驗之旅】

      2、配置文件編寫

      config.json:

      如下是一個簡單的config.json文件的內容,runtime 參數定義運行的ai引擎、和推理的環境,reques參數定義當通過request調用這個api時的格式,需要是form-data還是其他,傳的是圖片file還是string,response定義了推理完模型后返回給請求的格式,dependency是額外需要的一些依賴環境的配置。

      具體的其他場景怎么編寫可以參考官網文檔:模型配置文件編寫說明_AI開發平臺ModelArts_推理部署_推理規范說明_模型包規范_華為云 (huaweicloud.com)

      { "model_type": "TensorFlow", "model_algorithm": "test-resnet", "runtime":"tf1.13-python3.6-cpu", "apis": [{ "protocol": "http", "url": "/", "method": "post", "request": { "Content-type": "multipart/form-data", "data": { "type": "object", "properties": { "sentence": { "type": "string" } } } }, "response": { "Content-type": "applicaton/json", "data": { "type": "object", "properties": { } } } }] "dependencies": [{ "installer": "pip", "packages": [{ "restraint": "EXACT", "package_version": "1.1.5", "package_name": "pandas" },

      2、customize_service.py編寫

      這部分主要是定義模型的數據前處理、后處理和推理的接口,以及返回什么內容應該怎么寫,下模板是一個無需前后處理,返回QPS和推理結果、時間的例子,更詳細的說明可以參考官方文檔:模型推理代碼編寫說明_AI開發平臺ModelArts_推理部署_推理規范說明_模型包規范_華為云 (huaweicloud.com)

      import logging import threading import numpy as np import os import pandas as pd import tensorflow as tf # 導入tensorflow from PIL import Image from model_service.tfserving_model_service import TfServingBaseService from config import * import time logger = logging.getLogger() logger.setLevel(logging.INFO) class mnist_service(TfServingBaseService): def __init__(self, model_name, model_path): self.ctx = None self.use_time = 0 def _preprocess(self, data): return data def _inference(self, data): print('ready to infer') time_list = [] start_time = time.time() predict_result = self.sess.run(self.model_outputs, feed_dict=self.model_inputs) time_list.append(time.time() - start_time) use_time = np.mean(time_list) result = {} result['output'] = predict_result.tolist() result['aver_use_time'] = use_time result['QPS'] = 1 / use_time return result def _postprocess(self, data): return data

      3、打包上傳OBS

      將上述文件按如下圖打包到一個文件夾里:

      上傳OBS:

      4、模型部署

      選擇ModelArts里的模型管理---模型

      然后在‘’我的模型‘’里選擇‘’導入‘’,然后再模型創建界面中的‘元模型來源’選擇從OBS導入,如下圖,除了紅框需要選擇外,其他配置是讀取config.json文件自動配置的,然后點擊創建即可完成模型部署:

      然后等到模型創建成功:

      模型上線階段

      選擇部署上線---在線服務---部署

      選擇把模型在什么樣的資源下上線[gpu/cpu],選擇剛才部署上去的模型,和版本號(如果多次部署的話),即可創建成功

      等待在線服務部署完成會出現,‘運行中’,便是成功上線了:

      AI AI開發平臺ModelArts 機器學習 深度學習 神經網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:生產調度系統.(生產調度系統包括)
      下一篇:項目安全生產管理機構(項目安全生產管理機構設置
      相關文章
      亚洲AV无码男人的天堂| 亚洲一卡2卡三卡4卡无卡下载| 亚洲日韩在线中文字幕综合| 亚洲人成未满十八禁网站| 亚洲三级在线播放| 亚洲午夜电影一区二区三区| 亚洲成a人片在线观看中文app| 亚洲成人激情在线| 亚洲福利视频导航| 亚洲国产精品无码成人片久久 | 亚洲高清视频在线播放| 国产精品亚洲A∨天堂不卡| 中文字幕第13亚洲另类| 亚洲人成人77777网站| 亚洲中文字幕在线第六区| 亚洲线精品一区二区三区影音先锋| 日本亚洲欧美色视频在线播放| 亚洲AV成人一区二区三区观看 | 亚洲精品一卡2卡3卡四卡乱码| 亚洲人成电影网站免费| 亚洲AV成人无码久久WWW| 亚洲AV成人潮喷综合网| 亚洲精品国产精品国自产观看| 亚洲国产精品无码久久久久久曰 | 久久亚洲2019中文字幕| 日本亚洲欧洲免费天堂午夜看片女人员| 国产AV无码专区亚洲Av| 亚洲高清无在码在线无弹窗| 亚洲不卡视频在线观看| 亚洲人片在线观看天堂无码| gogo全球高清大胆亚洲| 亚洲一区二区三区偷拍女厕| 亚洲AV本道一区二区三区四区| 久久精品国产亚洲AV无码娇色| 亚洲精品高清国产麻豆专区| 456亚洲人成在线播放网站| 亚洲AV无码资源在线观看| 亚洲精品黄色视频在线观看免费资源| 老司机亚洲精品影视www| 亚洲国产成人片在线观看无码| 久久亚洲AV无码精品色午夜|