云服务器内容精选

  • Step2 构建成功的镜像注册到镜像管理模块 将Step1 在Notebook中构建一个新镜像中构建成功的 自定义镜像 注册到镜像管理中,方便后续使用。 登录ModelArts控制台,在左侧导航栏中选择“镜像管理”,单击“注册镜像”,进入注册镜像页面。 输入镜像源地址,选择架构和类型后,单击“立即注册”。 “镜像源”:地址为swr.cn-north-4-myhuaweicloud.com/custom_test/tensorflow2.1:1.0.0。其中custom_test/tensorflow2.1:1.0.0为8镜像构建脚本中设置的镜像地址。 “架构”:选择X86_64 “类型”:选择CPU 图7 注册镜像 注册完成后,可以在镜像管理页面查看到注册成功的镜像。
  • 模型包文件样例 模型包文件model.zip中需要用户自己准备模型文件,此处仅是举例示意说明,以一个手写数字识别模型为例。 Model目录下必须要包含推理脚本文件customize_service.py,目的是为开发者提供模型预处理和后处理的逻辑。 图6 推理模型model目录示意图(需要用户自己准备模型文件) 推理脚本customize_service.py的具体写法要求可以参考模型推理代码编写说明。 本案例中提供的customize_service.py文件具体内容如下: import logging import threading import numpy as np import tensorflow as tf from PIL import Image from model_service.tfserving_model_service import TfServingBaseService class mnist_service(TfServingBaseService): def __init__(self, model_name, model_path): self.model_name = model_name self.model_path = model_path self.model = None self.predict = None # 非阻塞方式加载saved_model模型,防止阻塞超时 thread = threading.Thread(target=self.load_model) thread.start() def load_model(self): # load saved_model 格式的模型 self.model = tf.saved_model.load(self.model_path) signature_defs = self.model.signatures.keys() signature = [] # only one signature allowed for signature_def in signature_defs: signature.append(signature_def) if len(signature) == 1: model_signature = signature[0] else: logging.warning("signatures more than one, use serving_default signature from %s", signature) model_signature = tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY self.predict = self.model.signatures[model_signature] def _preprocess(self, data): images = [] for k, v in data.items(): for file_name, file_content in v.items(): image1 = Image.open(file_content) image1 = np.array(image1, dtype=np.float32) image1.resize((28, 28, 1)) images.append(image1) images = tf.convert_to_tensor(images, dtype=tf.dtypes.float32) preprocessed_data = images return preprocessed_data def _inference(self, data): return self.predict(data) def _postprocess(self, data): return { "result": int(data["output"].numpy()[0].argmax()) }
  • Dockerfile模板 Dockerfile样例,此样例可以直接另存为一个Dockerfile文件使用。此处可以使用的基础镜像列表请参见推理专属预置镜像列表。 FROM swr.cn-north-4.myhuaweicloud.com/atelier/tensorflow_2_1:tensorflow_2.1.0-cuda_10.1-py_3.7-ubuntu_18.04-x86_64-20221121111529-d65d817 # here create a soft link from '/home/ma-user/anaconda/lib/python3.7/site-packages/model_service' to '/home/ma-user/infer/model_service'. It’s the build-in inference framework code dir # if the installed python version of this base image is python3.8, you should create a soft link from '/home/ma-user/anaconda/lib/python3.8/site-packages/model_service' to '/home/ma-user/infer/model_service'. USER root RUN ln -s /home/ma-user/anaconda/lib/python3.7/site-packages/model_service /home/ma-user/infer/model_service USER ma-user # here we supply a demo, you can change it to your own model files ADD model/ /home/ma-user/infer/model/1 USER root RUN chown -R ma-user:ma-group /home/ma-user/infer/model/1 USER ma-user # default MODELARTS_SSL_CLIENT_VERIFY switch is "true". In order to debug, we set it to be "false" ENV MODELARTS_SSL_CLIENT_VERIFY="false" # change your port and protocol here, default is 8443 and https # ENV MODELARTS_SERVICE_PORT=8080 # ENV MODELARTS_SSL_ENABLED="false" # add pip install here # RUN pip install numpy==1.16.4 # RUN pip install -r requirements.txt # default cmd, you can chage it here # CMD sh /home/ma-user/infer/run.sh
  • 场景说明 针对ModelArts目前不支持的AI引擎,您可以通过自定义镜像的方式将编写的模型导入ModelArts,创建为模型。 本文详细介绍如何在ModelArts的开发环境Notebook中使用基础镜像构建一个新的推理镜像,并完成模型的创建,部署为在线服务。本案例仅适用于华为云北京四和上海一站点。 操作流程如下: Step1 在Notebook中构建一个新镜像:在ModelArts的开发环境Notebook中制作自定义镜像,镜像规范可参考创建模型的自定义镜像规范。 Step2 构建成功的镜像注册到镜像管理模块:将构建成功的自定义镜像注册到ModelArts的镜像管理模块中,方便下一步调试。 Step3 在Notebook中变更镜像并调试:在Notebook中调试镜像。 Step4 使用调试成功的镜像用于推理部署:将调试完成的镜像导入ModelArts的模型管理中,并部署上线。
  • 名词解释 基本概念、云服务简介、专有名词解释 语音交互 服务SIS:以API的形式,对外提供语音转文本以及文本转语音的服务。 函数工作流 FunctionGraph:FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 对象存储服务 OBS:对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。
    AI
  • 快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明 参数名称 类型 是否必填 参数解释 默认值 function_name String 必填 函数名称,用于定义创建函数及其他资源前缀,不支持重名。取值范围:2-60个字符,可包含字母、数字、下划线和中划线,以大/小写字母开头,以字母或数字结尾。 private-number-speech-analytics-demo speech_bucket_name String 必填 OBS桶名称,全局唯一,用于上传wav语音文件。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.) 空 channel_id String 必填 事件网格 EG中云服务事件通道ID,默认default通道ID,用于接收云服务事件源产生的事件。获取请参考获取事件网格 EG云服务事件通道ID。 空 result_bucket_name String 必填 OBS桶名称,全局唯一,用于存放隐私通话质检识别结果。取值范围:3~63个字符,支持小写字母、数字、中划线(-)、英文句号(.) 空 登录华为云解决方案实践,选择“ 语音识别 -隐私通话内容分析”模板,单击“一键部署”,跳转至解决方案创建堆栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
    AI
  • 给rf_admin_trust委托添加 IAM Agency Management FullAccess策略 打开“ 统一身份认证 ”菜单。 图14 统一身份认证菜单 进入“委托”菜单,选择rf_admin_trust委托。 图15 委托列表 进入“授权记录”菜单,单击“授权”按钮。 图16 授权记录 在搜索框输入IAM Agency Management FullAccess,勾选过滤出来的记录,单击下一步,并确认完成权限的配置。 图17 配置IAM Agency Management FullAccess策略 配置好后的情况:rf_admin_trust委托拥有Tenant Administrator和IAM Agency Management FullAccesss权限。 图18 授权记录列表
  • 约束与限制 部署该解决方案前,您需 注册华为账号 并开通华为云,完成实名认证,且账号不能处于欠费或冻结状态,请根据资源和成本规划中预估价格。 该方案只支持用户上传采样率为8000的双声道中文录音音频,其中音频支持pcm16k16bit、pcm8k16bit、ulaw16k8bit、ulaw8k8bit、alaw16k8bit、alaw8k8bit、vox8k4bit、v3_8k4bit、WAV(支持pcm/ulaw/alaw/adpcm编码格式)、MP3、M4A、ogg-speex、ogg-opus、AMR。 因函数工作流超时时间限制,上传的录音时长不应超过20min。 本解决方案提供的测试样例由华为云语音交互服务 语音合成 服务生成,仅用于demo演示。 卸载解决方案前,请先确保OBS桶中无数据,否则解决方案将卸载失败。
    AI
  • 标注音频(声音分类) 标注作业详情页中,展示了此标注作业中“未标注”和“已标注”的音频,默认显示“未标注”的音频列表。单击音频左侧,即可进行音频的试听。 在“未标注”页签,勾选需进行标注的音频。 手工点选:在音频列表中,单击音频,当右上角出现蓝色勾选框时,表示已勾选。可勾选同类别的多个音频,一起添加标签。 批量选中:如果音频列表的当前页,所有音频属于一种类型,可以在列表的右上角单击“选择当前页”,则当前页面所有的音频将选中。 添加标签。 在右侧的“添加标签”区域中,单击“标签”下侧的文本框设置标签。 方式一(已存在标签):单击“标签”下方的文本框,在快捷键下拉列表中选择快捷键,然后在标签文本输入框中选择已有的标签名称,然后单击“确定”。 方式二(新增标签):在“标签”下方的文本框中,在快捷键下拉列表中选择快捷键,然后在标签文本输入框中输入新的标签名称,然后单击“确定”。 选中的音频将被自动移动至“已标注”页签,且在“未标注”页签中,标签的信息也将随着标注步骤进行更新,如增加的标签名称、各标签对应的音频数量。 快捷键的使用说明:为标签指定快捷键后,当您选择一段音频后,在键盘中按快捷键,即可为此音频增加为此快捷键对应的标签。例如“aa”标签对应的快捷键是“1”,在数据标注过程中,选中1个或多个文件,按“1”,界面将提示是否需要将此文件标注为“aa”标签,单击确认即可完成标注。 快捷键对应的是标签,1个标签对应1个快捷键。不同的标签,不能指定为同一个快捷键。快捷键的使用,可以提升标注效率。 图2 添加音频标签
  • 标注音频(语音分割) 标注作业详情页中,展示了此标注作业中“未标注”和“已标注”的音频,默认显示“未标注”的音频列表。 在“未标注”页签左侧音频列表中,单击目标音频文件,在右侧的区域中出现音频,单击音频下方,即可进行音频播放。 根据播放内容,选取合适的音频段,在下方“语音内容”文本框中填写音频标签和内容。 图4 语音标签音频标注 输入内容后单击下方的“确认标注”按钮完成标注。音频将被自动移动至“已标注”页签。
  • ModelArts Standard资源监控概述 为了满足用户对资源使用的监控诉求,ModelArts Standard提供了多种监控查看方式。 方式一:通过ModelArts Standard控制台查看 您在可通过ModelArts控制台的总览页或各模块资源监控页签查看监控指标。具体涉及以下几个方面: 通过ModelArts控制台的总览页查看,具体请参见通过ModelArts控制台查看监控指标。 Standard训练作业:用户在运行训练作业时,可以查看训练作业占用的CPU、GPU或NPU资源使用情况。具体请参见训练资源监控章节。 Standard在线服务:用户将模型部署为在线服务后,可以通过监控功能查看该推理服务的CPU、内存或GPU等资源使用统计信息和模型调用次数统计,具体参见查看推理服务详情章节。 方式二:通过 AOM 查看所有监控指标 ModelArts Standard上报的所有监控指标都保存在AOM中,当ModelArts控制台可以查看的指标不满足诉求时,用户可以通过AOM服务提供的指标消费和使用的能力来查看指标。设置指标阈值告警、告警上报等,都可以直接在AOM控制台操作。具体参见通过AOM控制台查看ModelArts所有监控指标。 方式三:通过Grafana查看所有监控指标 当AOM的监控模板不能满足用户诉求时,用户可以使用Grafana可视化工具来查看与分析监控指标。Grafana支持灵活而又复杂多样的监控视图和模板,为用户提供基于网页仪表面板的可视化监控效果,使用户更加直观地查看到实时资源使用情况。 将Grafana的数据源配置完成后,就可以通过Grafana查看AOM保存的所有ModelArts Standard的所有指标。具体参见使用Grafana查看AOM中的监控指标。 通过Grafana插件查看AOM中的监控指标的操作流程如下: 安装配置Grafana 安装配置Grafana有在Windows上安装配置Grafana、在Linux上安装配置Grafana和在Notebook上安装配置Grafana三种方式,请您根据实际情况选择。 配置Grafana数据源 配置仪表盘查看指标数据 父主题: ModelArts Standard资源监控
  • 标注图片(物体检测) 标注作业详情页中,展示了此数据集中“全部”“未标注”和“已标注”的图片,默认显示“未标注”的图片列表。 在“未标注”页签图片列表中,单击图片,自动跳转到标注页面。在标注页面,常用按钮的使用可参见表2。 在页面上方工具栏选择合适的标注图形,系统默认的标注图形为矩形。本示例使用矩形工具进行标注。 页面左侧可以选择多种形状对图片进行标注。标注第一张图片时,一旦选择其中一种,其他图片默认使用此形状进行标注,用户可以根据自己需求再进行切换。 表1 支持的标注框 图标 使用说明 矩形。也可使用快捷键 【1】。鼠标单击标注对象左上角边缘位置,界面将出现矩形框,移动鼠标使得矩形框覆盖标注对象,然后单击完成标注。 多边形。也可使用快捷键【2】。在标注对象所在范围内,鼠标左键单击完成一个点的标注,沿着物体的形状边缘,通过鼠标指定多个点,最终单击到第一个点的位置,由所有的点组成一个多边形形状。使得需标注的对象在此标注框内。 圆形。也可使用快捷键【3】。在标注对象中,选择物体的中心点位置,单击鼠标确定圆心,然后移动鼠标,使得圆形框覆盖标注对象,然后再单击鼠标完成标注。 直线。也可使用快捷键【4】。在标注对象中,选择物体的起始点,单击鼠标确定直线的起始点,然后使得直线覆盖标注对象,然后再单击鼠标完成标注。 虚线。也可使用快捷键【5】。在标注对象中,选择物体的起始点,单击鼠标确定虚线的起始点,然后使得虚线覆盖标注对象,然后再单击鼠标完成标注。 点。也可使用快捷键【6】。单击图片中的物体所在位置,即可完成点的标注。 在弹出的添加标签文本框中,直接输入新的标签名,在文本框前面选中标签颜色,然后单击“添加”。如果已存在标签,从下拉列表中选择已有的标签,单击“添加”。 逐步标注图片中所有物体所在位置,一张图片可添加多个标签。完成一张图片标注后,可单击图片右上角来切换下一张(也可使用快捷键【D】直接切换),快速选中其他未标注的图片,然后在标注页面中执行标注操作。 图5 添加物体检测标签 单击页面上方“返回数据标注预览”查看标注信息,在弹框中单击“确定”保存当前标注并离开标注页面。 选中的图片被自动移动至“已标注”页签,且在“未标注”和“全部”页签中,标签的信息也将随着标注步骤进行更新,如增加的标签名称、标签对应的图片数量。 表2 标注界面的常用按钮 按钮图标 功能说明 撤销上一个操作。也可使用快捷键【Ctrl+Z】 重做上一个操作。也可使用快捷键【Ctrl+Shift+Z】 放大图片。也可以使用滚轮进行放大。 缩小图片。也可以使用滚轮进行缩小。 删除当前图片中的所有标注框。也可使用快捷键【Shift+Delete】 显示或隐藏标注框。只有在已标注图片中可使用此操作。也可使用快捷键【Shift+H】 拖动,可将标注好的框拖动至其他位置,也可以选择框的边缘,更改框的大小。也可使用【X+鼠标左键】 复位,与上方拖动为同组操作,当执行了拖动后,可以单击复位按钮快速将标注框恢复为拖动前的形状和位置。也可使用快捷键【Esc】
  • 标注图片(图像分割) 标注作业详情页中,展示了此标注作业中“全部”、“未标注”和“已标注”的图片,默认显示“未标注”的图片列表。 在“未标注”页签图片列表中,单击图片,自动跳转到标注页面。在标注页面,常用按钮的使用可参见表4。 选择标注方式。 在标注页面,上方工具栏提供了常用的表3及表4,系统默认的标注方式为多边形标注。选择多边形标注或极点标注。 标注第一张图片时,一旦选择其中一种,其他所有图片都需要使用此方式进行标注。 图6 工具栏 图7 工具栏 表3 标注方式 图标 使用说明 多边形。在标注对象所在范围内,鼠标左键单击完成一个点的标注,沿着物体的形状边缘,通过鼠标指定多个点,最终单击到第一个点的位置,由所有的点组成一个多边形形状。使得需标注的对象在此标注框内。 极点标注。在目标物体轮廓的最上、最左、最下、最右的位置分别标注四个极点,极点要在物体的轮廓上。系统将根据标注的极点推理出物体的轮廓。 表4 工具栏常用按钮 按钮图标 功能说明 撤销上一个操作。 重做上一个操作。 放大图片。 缩小图片。 删除当前图片中的所有标注框。 显示或隐藏标注框。只有在已标注图片中可使用此操作。 拖动,可将标注好的框拖动至其他位置,也可以选择框的边缘,更改框的大小。 复位,与上方拖动为同组操作,当执行了拖动后,可以单击复位按钮快速将标注框恢复为拖动前的形状和位置。 全屏显示标注的图片。 标注物体。 以极点标注为例。识别图片中的物体,单击左键分别定位物体的最上、最左、最下、最右的位置点。确定位置后,将弹出对话框,填入标签名称,单击确定添加物体的标签。确定后系统将自动推理出物体的轮廓。 完成一张图片标注后,可单击图片下方展开缩略图,查看图片列表,快速选中其他未标注的图片,然后在标注页面中执行标注操作。 图8 标注物体轮廓 单击页面上方“返回数据标注预览”查看标注信息,在弹框中单击“确定”保存当前标注并离开标注页面。 选中的图片被自动移动至“已标注”页签,且在“未标注”和“全部”页签中,标签的信息也将随着标注步骤进行更新,如增加的标签名称、标签对应的图片数量。
  • 数据发布 ModelArts训练管理模块支持通过ModelArts数据集或者OBS目录中的文件创建训练作业。如果选择通过数据集作为训练作业的数据源,则需要指定数据集及特定的版本。因此,用户需要为准备好的数据发布一个版本,具体操作参考发布ModelArts数据集中的数据版本。 为了便于后期的模型构建和开发,对同一数据源来说,将其不同时间对数据的处理和标注按照版本来进行区分,按照需求选择指定的版本使用。 图11 创建训练作业的数据来源
  • 数据导出 ModelArts训练管理模块支持通过ModelArts数据集或者OBS目录中的文件创建训练作业。如果选择通过OBS目录的方式创建训练作业,用户需要将数据集中准备好的数据导出到OBS中。 导出数据到OBS 在数据集详情页面中,选中需要导出的数据或筛选出需要导出的数据,然后单击右上角“导出”。 导出方式选择“OBS”,填写相关信息,然后单击“确定”,开始执行导出操作。 “保存路径”:即导出数据存储的路径。建议不要将数据存储至当前数据集所在的输入路径或输出路径。 图12 导出至OBS 数据导出成功后,您可以前往您设置的保存路径,查看到存储的数据。 查看任务历史 当您导出数据后,可以通过任务历史查看导出任务明细。 在数据集详情页面中,单击右上角“任务历史 ”。 在弹出的“任务历史”对话框中,可以查看该数据集之前的导出任务历史。包括“任务ID”、“创建时间”、“导出方式”、“导出路径”、“导出样本总数”和“导出状态”。 图13 导出任务历史