AI开发平台MODELARTS-基于MindSpore Lite的模型转换:推理应用适配
时间:2024-11-12 16:42:20
推理应用适配
MindSpore Lite提供了JAVA/C++/Python API,进行推理业务的适配,并且在构建模型时,通过上下文的参数来确定运行时的具体配置,例如运行后端的配置等。下文以Python接口为例。
使用MindSpore Lite推理框架执行推理并使用昇腾后端主要包括以下步骤:
- 创建运行上下文:创建Context,保存需要的一些基本配置参数,用于指导模型编译和模型执行,在昇腾迁移时需要特别指定target为“Ascend”,以及对应的device_id。
context = mslite.Context() context.target = ["ascend"] context.ascend.device_id = 0
- 模型加载与编译:执行推理之前,需要调用Model的build_from_file接口进行模型加载和模型编译。模型加载阶段将文件缓存解析成运行时的模型。模型编译阶段会耗费较多时间所以建议Model创建一次,编译一次,多次推理。
model = mslite.Model() model.build_from_file("./resnet50.mindir", mslite.ModelType.MINDIR, context)
- 输入数据:编译后的模型提供了predict接口用户执行模型推理任务,Inputs输入为List Tensor,这里的Tensor是MSLite的概念,具体的列表长度和tensor类型由转换时的InputShape来确定,由于后端指定了ascend,这些tensor都是在昇腾设备的显存中,用户需要在对应的tensor中填入数据,这些数据也会被搬移到显存中,进一步对于Inputs输入的内容进行处理。
data = convert_img(input_image) in_data = [np.array(data)] inputs = model.get_inputs() for i, _input in enumerate(inputs): _input.set_data_from_numpy(in_data[i])
- 执行推理:使用Model的predict进行模型推理,返回值为Outputs,也是List Tensor类型,具体的长度和类别由模型定义,对应的Tensor数据由于指定了ascend后端,Output的内容在显存中,通过tensor的get_data_to_numpy方法来获取,并将数据读取到内存中使用。
outputs = model.predict(inputs) outputs = [output.get_data_to_numpy() for output in outputs]
更多Python接口的高级用法与示例,请参考Python API。
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1159.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章