ad

手把手教你用ModelArts模型部署上线&在线推理(一)【我的华为云体验之旅】

匿名投稿 278 2024-02-01

【摘要】 本文的主要目的是带想用ModelArts的同学过遍ModelArts的基础功能并部署属于你自己的模型在云上,并且能够本地通过python代码调API的方式在线推理【本文以tensorflow 1.13为例】。

前言

ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大范围散布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快捷创建和部署模型,管理全周期AI工作流。

本文的主要目的是带想用ModelArts的同学过遍ModelArts的基础功能并部署属于你自己的模型在云上,并且能够本地经过python代码调API的方式在线推理【本文以tensorflow 1.13为例】

手把手教你用ModelArts模型部署上线&在线推理(一)【我的华为云体验之旅】


模型部署阶段

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文件只包括了参数定义内涵运行的ai引擎、和推理的环境,reques参数定义内涵当经过request调用这个api时的格式,需要是form-data还是其他,传的是(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

将上述文件按以下


🌟 选择英雄云hpapaas 开启自动化、智能化企业转型未来 🌐       >>>>作为一款提供hpaPaaS平台服务的英雄云,有什么优势呢?面对数字化转型的挑战与机遇,选择一个适合自己企业的高度信息化、智能化和自动化的管理系统尤为重要。英雄云是一个值得考虑的选择。英雄云提供了一系列独特的优势,使其成为企业智能管理的首选。下面是英雄云的八大优势

1. 无需代码操作 💻

: 英雄云的平台无需编程知识,即可操作自定义的管理系统:ERP系统、CRM系统、进销存系统、人事行政OA系统、WMS系统等。这意味着用户无需拥有编程技能,也能轻松操控自己的系统。

2. 高度可定制性 🛠️

: 英雄云允许用户根据自己的业务需求、企业规模、成员人数、所需系统等等,进行高度定制服务;三大业务引擎:云表单(进阶版Excel)、工作流程(智能自动触发流程)以及仪表盘(可视化报表),帮助企业进行更简易的业务操作。

3. 减免重复工作 🔁

:无论是数据录入、审批流程还是报表生成,都可以轻松自动化,使员工能够专注于更有价值的任务。这种减免重复工作的方式不仅提高了工作效率,还降低了错误发生的可能性,为企业节省了时间和资源。

4. 生态系统集成 🌍

: 英雄云与其他常用企业应用和工具具有良好的生态系统集成能力,可以轻松集成与第三方系统,如财务软件、邮件服务等,实现全面的业务支持。

5. 数据分析与智能决策 📊

: 英雄云提供先进的数据分析工具如数据加工工厂,帮助用户更好地理解业务趋势和数据。这使得企业能够做出更明智的战略决策,优化业务流程。

6. 持续更新和改进

: 英雄云不断进行系统的更新和改进,以适应不断变化的业务环境和技术趋势。这意味着您始终能够使用最新的功能和性能提升。

7. 多样化部署 🌐

: 英雄云提供了多样化的部署选项,用户可以根据自身需求选择合适的部署方式,无需自主运维。无论是选择云端部署、私有云部署还是本地部署,英雄云都能提供灵活的解决方案。这意味着用户无需担心硬件维护、系统更新等问题,能够更专注于业务运营,降低了IT运营成本和风险。

8. 免费版本 💸

: 英雄云提供免费版本,用户可以在免费版本中获得一定数量的表单数据量和企业数据总量,为小型企业提供了经济实惠的选择。

选择英雄云作为您的数字化管理系统,将带来高度的灵活性、可定制性和效率提升。不管您的企业规模如何,英雄云都能满足您的需求,助力您的仓库管理更上一层楼。不妨注册一个英雄云账户,亲自体验这些优势,并让您的企业管理更加智能化和高效化


免责声明:

本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、

上一篇:Planet比Google earth更好用的地图下载神器Basemaps Viewer不用写代码全世界高清影象框选下载tif格式-英雄云拓展知识分享
下一篇: GEE数据集:全世界红树林散布、地上生物量和树冠高-英雄云拓展知识分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×