建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

cheng-Lee

发帖: 5粉丝: 0

级别 : 新手上路

发消息 + 关注

更新于2020年10月08日 17:18:38 562 16
直达本楼层的链接
楼主
显示全部楼层
[推理作业] 按ModelArts教程操作,部署上线遇到问题

问题描述:

  按照modelArts教程 https://support.huaweicloud.com/bestpractice-modelarts/modelarts_10_0026.html ,最后一步部署上线后,预测出现错误,根据其log文件,应该是customize_service.py的问题,但是不知道怎么改,log文件在附件之中,模型文件大小超出附件限制就不发了,就是按照教程得到的模型,如图

JYP4`2IY(ZV3ZRNV{CNWSKT.png


log.txt 2.25 KB,下载次数:2

举报
分享

分享文章到朋友圈

分享文章到微博

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月09日 08:18:18
直达本楼层的链接
沙发
显示全部楼层

看着日志,应该是没有得到数据,你这是部署自己的模型吗?

image.png

评论
cheng-Lee 2020-10-9 09:19 评论

谢谢你的回复,我打印data看了,输出的是"images":None,但是我没写过这个推理文件,不知道怎么改

... 查看全部
cheng-Lee 2020-10-9 09:31 评论

我感觉data输出None的原因是推理过程或者是推理前的数据准备出的问题,教程给的脚本输入的图片格式是HWC,但是模型的输入是CHW,我改过这个问题,但是data输出还是None,因此我认为是推理过程中的问题,但是不知道怎么改了,没找到相关模型推理代码编写说明

... 查看全部
cheng-Lee 2020-10-9 09:34 评论

部署的是预置的市场订阅的resnet50

... 查看全部
点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月09日 09:23:25
直达本楼层的链接
板凳
显示全部楼层
  1. 部署自己的模型,可参照文档进行部署。

  2. 你部署的是什么服务?在线服务?

评论
cheng-Lee 2020-10-9 11:05 评论

我就是完全按照教程一步步走的,部署的是在线服务,想通过教程的推理代码学习一下基于mindspore写的模型怎么部署上线,但是基于tensorflow的教程好像都实现了,到这个mindspore写的resnet50就出问题了

... 查看全部
点赞 评论 引用 举报

cheng-Lee

发帖: 5粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年10月09日 09:25:13
直达本楼层的链接
地板
显示全部楼层

按照教程生成的推理脚本代码:

from __future__ import absolute_import

from __future__ import division

from __future__ import print_function


import os

import numpy as np

from PIL import Image

from hiai.nn_tensor_lib import NNTensor

from hiai.nntensor_list import NNTensorList

from model_service.hiai_model_service import HiaiBaseService


"""AIPP example

aipp_op {

    aipp_mode: static

    input_format : RGB888_U8


    mean_chn_0 : 123

    mean_chn_1 : 117

    mean_chn_2 : 104

}

"""



labels_list = []


label_txt_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'labels.txt')

if os.path.exists(label_txt_path):

  with open(label_txt_path, 'r') as f:

    for line in f:

      if line.strip():

        labels_list.append(line.strip())



def keep_ratio_resize(im, base=256):

  short_side = min(float(im.size[0]), float(im.size[1]))

  resize_ratio = base / short_side

  resize_sides = int(round(resize_ratio * im.size[0])), int(round(resize_ratio * im.size[1]))

  im = im.resize(resize_sides)

  return im



def central_crop(im, base=224):

  width, height = im.size

  left = (width - base) / 2

  top = (height - base) / 2

  right = (width + base) / 2

  bottom = (height + base) / 2

  # Crop the center of the image

  im = im.crop((left, top, right, bottom))

  return im



class DemoService(HiaiBaseService):


  def _preprocess(self, data):


    preprocessed_data = {}

    images = []

    for k, v in data.items():

      for file_name, file_content in v.items():

        image = Image.open(file_content)

        image = keep_ratio_resize(image, base=256)

        image = central_crop(image, base=224)

        image = np.array(image)  # HWC

        # AIPP should use RGB format.

        # mean reg is applied in AIPP.

        # Transpose is applied in AIPP

        tensor = NNTensor(image)

        images.append(tensor)

    tensor_list = NNTensorList(images)

    preprocessed_data['images'] = tensor_list

    return preprocessed_data


  def _inference(self, data, image_info=None):

    result = {}

    for k, v in data.items():

      result[k] = self.model.proc(v)


    return result


  def _postprocess(self, data):

    outputs = {}

    prob = data['images'][0][0][0][0].tolist()

    outputs['scores'] = prob

    if labels_list:

      outputs['predicted_label'] = labels_list[int(np.argmax(prob))]

    else:

      outputs['predicted_label'] = str(int(np.argmax(prob)))


    return outputs



点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月09日 10:06:56
直达本楼层的链接
5#
显示全部楼层

请问是这个吗?链接为:https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=40b66195-5bbe-463d-b8a2-03e57073538d

这个的话,已经有推理部署代码了。

如果不是的话,你可以用这个训练一下,好参考一下这个的推理代码。这个支持CPU,GPU和Ascend310推理,应该是满足的你的要求的。

image.png


评论
cheng-Lee 2020-10-9 12:19 评论

我用的链接,https://console.huaweicloud.com/modelarts/?region=cn-north-4#/aiMarket/aiMarketModelDetail/overview?modelId=6b454013-dab9-4028-8c7a-47375067202c&type=algo,和你发的那个推理代码很像

... 查看全部
点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月09日 12:23:45
直达本楼层的链接
6#
显示全部楼层

你好,我不太理解你的意思。

你用的这个算法,是基于MindSpore框架,Ascend 910训练和Ascend 310推理,这些应该官方都做好了,你是使用官方的这个,没有加入自己的修改,就不行了是吗?

评论
cheng-Lee 2020-10-9 14:05 评论

是的

... 查看全部
Tianyi_Li 2020-10-9 14:15 评论

评论 cheng-Lee:理论上不应该,我训练部署下试试哈。

... 查看全部
点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月09日 14:25:16
直达本楼层的链接
7#
显示全部楼层

请问方便分享下数据集吗?用你的数据集可能会更准确。

评论
cheng-Lee 2020-10-9 19:19 评论

数据集地址https://modelarts-cnnorth1-market-dataset.obs.cn-north-1.myhuaweicloud.com/dataset-market/Flowers-Data-Set/archiver/Flowers-Data-Set.zip

... 查看全部
点赞 评论 引用 举报

cheng-Lee

发帖: 5粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年10月09日 19:21:26
直达本楼层的链接
8#
显示全部楼层

~ESWM70@)Q8O9ONJ1VB~TPJ.png


点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月11日 09:23:07
直达本楼层的链接
9#
显示全部楼层

非常抱歉,现在才回复你。

我是用你说的数据集和算法进行训练部署是没有问题的,如图所示。你是不是哪里操作有问题。

image.png


点赞 评论 引用 举报

Tianyi_Li

发帖: 238粉丝: 75

级别 : 外部版主

发消息 + 关注

发表于2020年10月11日 09:24:09
直达本楼层的链接
10#
显示全部楼层

训练作业是成功运行完成吗?

如果是的话,那就是后面的模型转换和部署有问题了。这些参数是否设置正确了?

image.png

评论
cheng-Lee 2020-10-11 19:28 评论

那我再试试看

... 查看全部
cheng-Lee 2020-10-11 20:44 评论

按照教程一步一步的走,还是出问题了,不知道哪里出了问题

... 查看全部
点赞 评论 引用 举报

cheng-Lee

发帖: 5粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年10月11日 20:45:15
直达本楼层的链接
11#
显示全部楼层


QQ图片20201011204153.png


点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册