华为云用户手册

  • 使用ma-cli image build命令在ModelArts Notebook中进行镜像构建 使用ma-cli image build命令基于指定的Dockerfile进行镜像构建,仅支持在ModelArts Notebook里使用该命令。 $ ma-cli image build -h Usage: ma-cli image build [OPTIONS] FILE_PATH Build docker image in Notebook. Example: # Build a image and push to SWR ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr my_organization/my_image:0.0.1 # Build a image and push to SWR, dockerfile context path is current dir ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr my_organization/my_image:0.0.1 -context . # Build a local image and save to local path and OBS ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile --target ./build.tar --obs_path obs://bucket/object --swr-path my_organization/my_image:0.0.1 Options: -t, --target TEXT Name and optionally a tag in the 'name:tag' format. -swr, --swr-path TEXT SWR path without swr endpoint, eg:organization/image:tag. [required] --context DIRECTORY build context path. -arg, --build-arg TEXT build arg for Dockerfile. -obs, --obs-path TEXT OBS path to save local built image. -f, --force Force to overwrite the existing swr image with the same name and tag. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit. 表5 参数说明 参数名 参数类型 是否必选 参数说明 FILE_PATH String 是 Dockerfile文件所在的路径。 -t / --target String 否 表示构建生成的tar包保存在本地的路径,默认是当前文件夹目录。 -swr / --swr-path String 是 SWR镜像名称,遵循organization/image_name:tag格式,针对于构建保存tar包场景可以省略。 --context String 否 Dockerfile构建时的上下文信息路径,主要用于数据复制。 -arg / --build-arg String 否 指定构建参数,多个构建参数可以使用--build-arg VERSION=18.04 --build-arg ARCH=X86_64 -obs / --obs-path String 否 将生成的tar包自动上传到OBS中。 -f / --force Bool 否 是否强制覆盖已存在的SWR镜像,默认不覆盖。 示例:在ModelArts Notebook里进行镜像构建。 ma-cli image build .ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile -swr notebook_test/my_image:0.0.1 其中“.ma/customize_from_ubuntu_18.04_to_modelarts/Dockerfile”为Dockerfile文件所在路径,“notebook_test/my_image:0.0.1”为构建的新镜像的SWR路径。
  • 配置用户名密码鉴权 以在虚拟机上使用ma-cli configure为例,介绍如何配置用户名密码进行鉴权。 以下样例中所有以${}装饰的字符串都代表一个变量,用户可以根据实际情况指定对应的值。 比如${your_password}表示输入用户自己的密码信息。 # 默认使用DEFAULT鉴权配置项,默认提示账号、用户名及密码(其中账号和用户名如果不需要填写可以使用Enter跳过) $ ma-cli configure --auth PWD --region ${your_region} account: ${your_account} username: ${your_username} password: ${your_password} # 输入在控制台不会回显
  • 鉴权信息说明 在虚拟机及个人PC场景,需要配置鉴权信息,目前支持用户名密码鉴权(默认)和AK/SK鉴权; 在使用账号认证时,需要指定username和password;在使用 IAM 用户认证时,需要指定account、username和password; 在ModelArts Notebook中可以不用执行鉴权命令,默认使用委托信息,不需要手动进行鉴权操作; 如果用户在ModelArts Notebook中也配置了鉴权信息,那么将会优先使用用户指定的鉴权信息。 在鉴权时,注意您的敏感信息数据保护,避免敏感信息泄露。
  • 命令参数总览 $ ma-cli configure -h Usage: ma-cli configure [OPTIONS] Options: -auth, --auth [PWD|AKSK|ROMA] Authentication type. -rp, --region-profile PATH ModelArts region file path. -a, --account TEXT Account of an IAM user. -u, --username TEXT Username of an IAM user. -p, --password TEXT Password of an IAM user -ak, --access-key TEXT User access key. -sk, --secret-key TEXT User secret key. -r, --region TEXT The region you want to visit. -pi, --project-id TEXT User project id. -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit.
  • AKSK鉴权 如下命令表示使用AKSK进行鉴权,需要交互式输入AK及SK信息。默认提示AK和SK,且输入在控制台不会回显。 以下样例中所有以${}装饰的字符串都代表一个变量,用户可以根据实际情况指定对应的值。 比如${access key}表示输入用户自己的access key。 ma-cli configure --auth AKSK access key [***]: ${access key} secret key [***]: ${secret key}
  • 命令概览 $ ma-cli auto-completion -h Usage: ma-cli auto-completion [OPTIONS] [[Bash|Zsh|Fish]] Auto complete ma-cli command in terminal. Example: # print bash auto complete command to terminal ma-cli auto-completion Bash Options: -H, -h, --help Show this message and exit. # 默认显示Bash Shell自动补全命令 $ ma-cli auto-completion Tips: please paste following shell command to your terminal to activate auto complation. [ OK ] eval "$(_MA_CLI_COMPLETE=bash_source ma-cli)" # 执行上述命令,此时Terminal已经支持自动补全 $ eval "$(_MA_CLI_COMPLETE=bash_source ma-cli)" # 显示Fish Shell自动补全命令 $ ma-cli auto-completion Fish Tips: please paste following shell command to your terminal to activate auto complation. [ OK ] eval (env _MA_CLI_COMPLETE=fish_source ma-cli)
  • 命令预览 $ ma-cli -h Usage: ma-cli [OPTIONS] COMMAND [ARGS]... Options: -V, -v, --version 1.2.1 -C, --config-file TEXT Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -h, -H, --help Show this message and exit. Commands: configure Configures authentication and endpoints info for the CLI. image Support get registered image list、register or unregister image、debug image, build image in Notebook. obs-copy Copy file or directory between OBS and local path. ma-job ModelArts job submission and query job details. dli-job DLI spark job submission and query job details. auto-completion Auto complete ma-cli command in terminal, support "bash(default)/zsh/fish".
  • 功能介绍 ModelArts CLI,即ModelArts命令行工具,是一个跨平台命令行工具,用于连接ModelArts服务并在ModelArts资源上执行管理命令。用户可以使用交互式命令行提示符或脚本通过终端执行命令。为了方便理解,下面将ModelArts CLI统称为ma-cli。ma-cli支持用户在ModelArts Notebook及线下虚拟机中与云端服务交互,使用ma-cli命令可以实现命令自动补全、鉴权、镜像构建、提交ModelArts训练作业、提交DLI Spark作业、OBS数据复制等。
  • 命令说明 表1 ma-cli支持的命令 命令 命令详情 configure ma-cli鉴权命令,支持用户名密码、AK/SK image ModelArts镜像构建、镜像注册、查询已注册镜像信息等 obs-copy 本地和OBS文件/文件夹间的相互复制 ma-job ModelArts训练作业管理,包含作业提交、资源查询等 dli-job DLI Spark任务提交及资源管理 auto-completion 命令自动补全
  • Notebook实例事件列表 表1 实例创建过程的事件列表 事件名称 事件描述 事件级别 Scheduled 实例被调度成功 提示 PullingImage 正在拉取镜像 提示 PulledImage 镜像拉取完毕 提示 NotebookHealthy 实例运行中,处于健康状态 重要 CreateNotebookFailed 创建实例失败 紧急 PullImageFailed 镜像拉取失败 紧急 FailedCreate Failed to create notebook container. Please contact SRE to check node {node_name} 紧急 CreateContainerError Failed to create container. Please contact SRE to check node {node_name} 紧急 FailedAttachVolume Failed to attach volume. Please contact SRE to check node {node_name} 重要 MountVolumeFailed Mount volume failed; Check whether the DEW secret is correct if the instance cannot change to running in five minutes 紧急 Mount volume failed; Check if vpc of sfs-turbo is interconnected if the instance cannot change to running in five minutes 紧急 Mount volume failed; Please contact SRE to check node {node_name} if the instance cannot change to running in five minutes 紧急 表2 实例停止过程的事件列表 事件名称 事件描述 事件级别 StopNotebook 实例停止 重要 StopNotebookResourceIdle 实例因资源空闲即将自动停止或实例因资源空闲自动停止 重要 表3 更新实例过程的事件列表 事件名称 事件描述 事件级别 UpdateName 更新实例名称 提示 UpdateDescription 更新实例描述 提示 UpdateFlavor 更新实例规格 重要 UpdateImage 更新实例镜像 重要 UpdateStorageSize 实例存储正在扩容 (User %s is updating storage size from %sGB to %sGB) 重要 实例扩容完成 (User %s updated storage size successfully) 重要 UpdateKeyPair 配置实例密钥对 (User %s updated the instance keypair to "{%s}") 重要 更新实例密钥对 (User %s updated the instance keypair from %s to %s) 重要 UpdateWhitelist 更新实例访问白名单 重要 UpdateHook 更新自定义脚本 重要 UpdateStorageSizeFailed 资源售罄引起的实例存储扩容失败 (The EVS disk is sold out) 紧急 内部错误引起的实例扩容失败 (The EVS disk size updated failed. Operations and maintenance personnel are handling the problem) 紧急 表4 镜像保存过程中的事件列表 事件名称 事件描述 事件级别 SaveImage 保存镜像成功 重要 SavedImageFailed D进程引起的保存镜像失败 (There are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes) 紧急 镜像大小引起的保存镜像失败 (Container size %dG is greater than threshold %dG) 紧急 层数限制引起的保存镜像失败 (Too many layers in your image) 紧急 任务超时引起的保存镜像失败 (Operations personnel are handling the problem) 紧急 SWR故障引起的保存镜像失败 (Failed to save the image because the SWR service is faulty) 紧急 CheckImageSize The notebook container image size is {image_size}G. {image_size} 表示镜像大小,为可变变量。 提示 CheckImageLayer The number of original notebook image layers is {layer_number}. {layer_number} 表示镜像层数,为可变变量。 提示 ContainerCommitStarted Start to commit notebook container. 提示 ContainerCommitSuccess Notebook container commit successfully. 提示 ImagePushStarted Start to push notebook image. 提示 ImagePushSuccess Notebook image push successfully. 提示 ContainerCommitFailed Failed to commit notebook container. Please contact SRE to check node {node_name}. {node_name}表示节点名称,为可变变量,一般为ip形式,如:192.168.225.161 提示 ImagePushFailed Failed to push Notebook image. Please contact SRE to check node {node_name}. 提示 表5 实例运行过程的事件列表 事件名称 事件描述 事件级别 NotebookUnhealthy 实例处于不健康状态 紧急 OutOfMemory 实例被OOM掉了 紧急 JupyterProcessKilled jupyter进程被killed掉了 紧急 CacheVolumeExceedQuota /cache目录文件大小超过最大限制 紧急 NotebookHealthy 实例从不健康恢复到了健康状态 重要 EVSSoldOut EVS存储售罄 紧急 表6 OBS动态挂载产生的事件列表 事件名称 事件描述 事件级别 DynamicMountStorage 挂载OBS存储 重要 DynamicUnmountStorage 卸载OBS存储 重要 表7 用户侧触发的事件 事件名称 事件描述 事件级别 RefreshCredentialsFailed 用户鉴权失败 紧急
  • 安装VS Code软件 VS Code下载方式: 下载地址: https://code.visualstudio.com/updates/v1_85 图1 VS Code的下载位置 VS Code版本要求: 建议用户使用VS Code 1.85.2版本进行远程连接。 VS Code安装指导如下: 图2 Windows系统下VS Code安装指导 Linux系统下,执行命令sudo dpkg -i code_1.85.2-1705561292_amd64.deb安装。 Linux系统用户,需要在非root用户进行VS Code安装。 父主题: 通过VS Code远程使用Notebook实例
  • 前提条件 已下载并安装VS Code。详细操作请参考安装VS Code软件。 用户本地PC或服务器的操作系统中建议先安装Python环境,详见VSCode官方指导。 创建一个Notebook实例,并开启远程SSH开发。该实例状态必须处于“运行中”,具体参见创建Notebook实例章节。 在Notebook实例详情页面获取开发环境访问地址(例如:dev-modelarts-cnnorth4.huaweicloud.com)和端口号。 图1 Notebook实例详情页面 准备好密钥对。 密钥对在用户第一次创建时,自动下载,之后使用相同的密钥时不会再有下载界面(用户一定要保存好),或者每次都使用新的密钥对。
  • 前提条件 创建一个Notebook实例,并开启远程SSH开发,配置远程访问IP白名单。该实例状态必须处于“运行中”,具体参见创建Notebook实例章节。 在Notebook实例详情页面获取开发环境访问地址(例如:dev-modelarts-cnnorth4.huaweicloud.com)和端口号。 图1 Notebook实例详情页面 准备好密钥对文件。 密钥对在用户第一次创建时,自动下载,之后使用相同的密钥时不会再有下载界面(用户一定要保存好),或者每次都使用新的密钥对。
  • 安装VS Code软件 使用VS Code连接开发环境时,首先需要安装VS Code软件。 VS Code下载方式: 下载地址: https://code.visualstudio.com/updates/v1_85 图1 VS Code的下载位置 VS Code版本要求: 建议用户使用VS Code 1.85.2版本或者最新版本进行远程连接。 VS Code安装指导如下: 图2 Windows系统下VS Code安装指导 Linux系统下,执行命令sudo dpkg -i code_1.85.2-1705561292_amd64.deb安装。 Linux系统用户,需要在非root用户进行VS Code安装。
  • Step6 同步上传本地文件至Notebook 本地文件中的代码直接复制至本地IDE中即可,本地IDE中会自动同步至云上开发环境。 初始化同步: 在本地IDE的Project目录下,单击右键,选择“Deployment”,单击“Upload to xxx”(Notebook名称),将本地工程文件上传至指定的Notebook。 图7 同步本地文件至Notebook 后续同步: 只需修改代码后保存(ctrl+s),即可进行自动同步。 插件安装完成后在本地IDE中开启了“Automatic Upload”,本地目录中的文件会自动上传至云端开发环境Notebook。如果未开启,请参考下图开启自动上传。 图8 开启自动上传
  • Step7 远程调试 单击本地IDE右下角interpreter,选择Notebook的python解释器。 图9 选择Python解释器 像本地运行代码一样,直接单击运行按钮运行代码即可,此时虽然是在本地IDE点的运行按钮,实际上运行的是云端Notebook里的代码,日志可以回显在本地的日志窗口。 图10 查看运行日志 也可以单击本地IDE右上角的Run/Debug Configuration按钮来设置运行参数。 图11 设置运行参数(1) 选择远程连接到云上开发环境实例对应的Python解释器。 图12 设置运行参数(2) 当需要调试代码时,可以直接打断点,然后使用debug方式运行程序。 图13 使用debug方式运行程序 此时可以进入debug模式,代码运行暂停在该行,且可以查看变量的值。 图14 Debug模式下查看变量值
  • 使用限制 当前仅支持2019.2-2023.2之间(包含2019.2和2023.2)版本,包括社区版和专业版。 使用PyCharm ToolKit远程连接Notebook开发环境,仅限PyCharm专业版。 使用PyCharm ToolKit提交训练作业,社区版和专业版都支持,PyCharm ToolKit latest版本仅限提交新版训练作业。 PyCharm ToolKit工具仅支持Windows版本的PyCharm。 表1 ToolKit(latest)功能列表 支持的功能 说明 对应操作指导 SSH远程连接 支持SSH远程连接ModelArts的Notebook开发环境。 配置PyCharm ToolKit远程连接Notebook 训练模型 支持将本地开发的代码,快速提交至ModelArts并自动创建新版训练作业,在训练作业运行期间获取训练日志并展示到本地。 使用PyCharm ToolKit创建并调试训练作业 OBS上传下载 上传本地文件或文件夹至OBS,从OBS下载文件或文件夹到本地。 使用PyCharm上传数据至Notebook
  • 推理部署使用场景 AI模型开发完成后,在ModelArts服务中可以将AI模型创建为模型,将模型快速部署为推理服务,您可以通过调用API的方式把AI推理能力集成到自己的IT平台,或者批量生成推理结果。 图1 推理简介 训练模型:可以在ModelArts服务中进行,也可以在您的本地开发环境进行,本地开发的模型需要上传到华为云OBS服务。 创建模型:把模型文件和推理文件导入到ModelArts的模型仓库中,进行版本化管理,并构建为可运行的模型。 部署服务:模型构建完成后,根据您的业务场景,选择将模型部署成对应的服务类型。 将模型部署为实时推理作业 将模型部署为一个Web Service,并且提供在线的测试UI与监控功能,部署成功的在线服务,将为用户提供一个可调用的API。 将模型部署为批量推理服务 批量服务可对批量数据进行推理,完成数据处理后自动停止。 图2 不同类型的推理作业使用场景 父主题: 使用ModelArts Standard部署模型并推理预测
  • 操作步骤 创建Notebook实例。 在ModelArts控制台创建一个Notebook实例,选择要使用的AI框架。具体参见创建Notebook实例。 创建成功后,Notebook实例的状态为“运行中”,单击操作列的“打开”,访问JupyterLab。 图2 打开Notebook实例 进入JupyterLab页面后,自动打开Launcher页面,如下图所示。您可以使用开源支持的所有功能,详细操作指导可参见JupyterLab官网文档。 图3 JupyterLab主页 不同AI引擎的Notebook,打开后Launcher页面呈现的Notebook和Console内核及版本均不同,图3仅作为示例,请以实际控制台为准。 准备训练数据和代码文件,上传到JupyterLab中。具体参见上传本地文件至JupyterLab。 图4 文件上传按钮 在左侧导航双击打开上传的代码文件,在JupyterLab中编写代码文件,并运行调试。有关JupyterLab的使用具体参见JupyterLab常用功能介绍。 如果您的代码文件是.py格式,请新打开一个.ipynb文件,执行%load main.py命令将.py文件内容加载至.ipynb文件后进行编码、调试等。 图5 打开代码文件 在JupyterLab中直接调用ModelArts提供的SDK,创建训练作业,上云训练。 调用SDK创建训练作业的操作请参见调用SDK创建训练作业。
  • 使用限制 CodeLab默认打开,使用的是CPU计算资源。如需切换为GPU,请在右侧窗口,更换GPU规格。 在ModelArts控制台的“总览”界面打开CodeLab,使用的是CPU或GPU资源,无法使用Ascend资源。 如果是AI Gallery社区的Notebook案例,本身使用的资源是Ascend的,那么“Run in ModelArts”跳转到CodeLab,就可以使用昇腾卡进行训练,也支持切换规格。 自启动后,免费规格默认可使用1小时,请注意右上角的剩余时长。超过1小时后,可执行续期操作,且系统每隔一段时间,将提醒确认下续期。 免费的CodeLab主要用于体验,72小时内未使用,将释放资源。保存在其中的代码文档将丢失,请注意备份文件以及使用时长。
  • 功能亮点 免费算力 CodeLab内置了免费算力,包含CPU和GPU两种。您可以使用免费规格,端到端体验ModelArts Notebook能力。也可使用此免费算力,在线完成您的算法开发。 即开即用 无需创建Notebook实例,打开即可编码。 高效分享 ModelArts在AI Gallery中提供的Notebook样例,可以直接通过Run in ModelArts,一键打开运行和学习,并且可将样例修改后分享到AI Gallery中直接另存用于个人开发。 同时,您开发的代码,也可通过CodeLab快速分享到AI Gallery中给他人使用学习。
  • 体验CodeLab 进入CodeLab主页。 从管理控制台总览页进入,展示CodeLab首页。 图2 CodeLab首页 常用功能。 CodeLab的界面依托于JupyterLab,其相关的常见功能与JupyterLab相同。 常用操作指导可参见JupyterLab操作指导:JupyterLab常用功能介绍。 由于CodeLab的存储为系统默认路径,在使用“上传文件”或“下载文件至本地”时,只能使用JupyterLab页面提供的功能。 如需使用大文件上传和下载的功能,建议您前往Notebook,创建一个收费的实例进行使用。 切换规格。 CodeLab支持CPU和GPU两种规格,在右侧区域,单击切换规格,修改规格类型。 图3 切换规格 资源监控。 在使用过程中,如果想了解资源使用情况,可在右侧区域选择“Resource Monitor”,展示“CPU使用率”和“内存使用率”。 图4 资源监控 分享副本到AI Gallery。单击右上角的,将修改后的Notebook样例保存分享到AI Gallery中,供自己或他人学习使用。 图5 分享到AI Gallery 分享成功后,通过分享链接可以打开分享的副本,也可以在AI Gallery中找到分享的Notebook。 图6 发布成功
  • 什么是动态挂载OBS并行文件系统 并行文件系统(Parallel File System)是 对象存储服务 (Object Storage Service,OBS)提供的一种经过优化的高性能文件系统,详细介绍可以参见并行文件系统。 在ModelArts运行态的Notebook容器中,采用动态挂载特性,将OBS对象存储模拟成本地文件系统。其本质是通过挂载工具,将对象协议转为POSIX文件协议。挂载后应用层可以在容器中正常操作OBS对象。
  • 常见问题 镜像保存时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”如何解决? 镜像保存时报错“container size %dG is greater than threshold %dG”如何解决? 保存镜像时报错“too many layers in your image”如何解决? 镜像保存时报错“The container size (xG) is greater than the threshold (25G)”如何解决?
  • 基于 自定义镜像 创建Notebook实例 从Notebook中保存的镜像可以在镜像管理中查询到,可以用于创建新的Notebook实例,完全继承保存状态下的实例软件环境配置。 方式一:在Notebook实例创建页面,镜像类型选择“自定义镜像”,名称选择上述保存的镜像。 图3 创建基于自定义镜像的Notebook实例 方式二:在“镜像管理”页面,单击某个镜像的镜像详情,在镜像详情页,单击“创建Notebook”,也会跳转到基于该自定义镜像创建Notebook的页面。
  • 镜像保存时,哪些目录的数据可以被保存 可以保存的目录:包括容器构建时静态添加到镜像中的文件和目录,可以保存在镜像环境里。 例如:安装的依赖包、“/home/ma-user”目录 不会被保存的目录:容器启动时动态连接到宿主机的挂载目录或数据卷,这些内容不会被保存在镜像中。可以通过df -h命令查看挂载的动态目录,非“/”路径下的不会保存。 例如:持久化存储的部分“home/ma-user/work”目录的内容不会保存在最终产生的容器镜像中、动态挂载在“/data”下的目录不会被保存。
  • 服务测试 服务部署节点运行成功后,单击“实例详情”可跳转至对应的在线服务详情页面。单击“预测”页签,进行服务测试。 图1 服务测试 下面的测试,是您在自动学习物体检测项目页面将模型部署上线之后进行服务测试的操作步骤。 模型部署完成后,“服务部署”节点,单击“实例详情”按钮,进入服务预测界面,在“预测”页签单击“上传”,选择本地图片进行测试。 单击“预测”进行测试,预测完成后,右侧“预测结果”区域输出结果。如模型准确率不满足预期,可在“数据标注”页签中添加图片并进行标注,重新进行模型训练及模型部署。预测结果中的参数说明请参见表1。如果您对模型预测结果满意,可根据界面提示调用接口访问在线服务。 目前只支持jpg、jpeg、bmp、png格式的图片。 表1 预测结果中的参数说明 参数 说明 detection_classes 每个检测框的标签。 detection_boxes 每个检测框的四点坐标(y_min,x_min,y_max,x_max),如图2所示。 detection_scores 每个检测框的置信度。 图2 检测框的四点坐标示意图 由于“运行中”的在线服务将持续耗费资源,如果不需再使用此在线服务,建议在版本管理区域,单击“停止”,即可停止在线服务的部署,避免产生不必要的费用。如果需要继续使用此服务,可单击“启动”恢复。 如果您启用了自动停止功能,服务将在指定时间后自动停止,不再产生费用。
  • 模型部署 模型部署操作即将模型部署为在线服务,并且提供在线的测试UI与监控能力。完成模型训练后,可选择准确率理想且训练状态为“运行成功”的版本部署上线。具体操作步骤如下。 在“运行节点”页面中,待服务部署节点的状态变为“等待输入”时,双击“服务部署”进入配置详情页,完成资源的参数配置操作。 在服务部署页面,选择模型部署使用的资源规格。 模型来源:默认为生成的模型。 选择模型及版本:自动匹配当前使用的模型版本,支持选择版本。 资源池:默认公共资源池。 分流:默认为100,输入值必须是0-100之间。 计算节点规格:请根据界面显示的列表,选择可用的规格,置灰的规格表示当前环境无法使用。如果公共资源池下规格为空数据,表示当前环境无公共资源。建议使用专属资源池,或者联系系统管理员创建公共资源池。 计算节点个数:默认为1,输入值必须是1-5之间的整数。 是否自动停止:启用该参数并设置时间后,服务将在指定时间后自动停止。如果不启用此参数,在线服务将一直运行,同时一直收费,自动停止功能可以帮您避免产生不必要的费用。默认开启自动停止功能,且默认值为“1小时后”。 目前支持设置为“1小时后”、“2小时后”、“4小时后”、“6小时后”、“自定义”。如果选择“自定义”的模式,可在右侧输入框中输入1~24范围内的任意整数。 如果您购买了套餐包,计算节点规格可选择您的套餐包,同时在“配置费用”页签还可查看您的套餐包余量以及超出部分的计费方式,请您务必关注,避免造成不必要的资源浪费。 完成资源配置后,单击“继续运行”,服务部署节点将继续运行,直至状态变为“运行成功”,至此,已将模型部署为在线服务。
  • 方式三:使用Python语言发送预测请求 下载Python SDK并在开发工具中完成SDK配置。具体操作请参见在Python环境中集成API请求签名的SDK。 创建请求体,进行预测请求。 输入为文件格式 # coding=utf-8 import requests if __name__ == '__main__': # Config url, token and file path. url = "在线服务的调用地址" token = "用户Token" file_path = "预测文件的本地路径" # Send request. headers = { 'X-Auth-Token': token } files = { 'images': open(file_path, 'rb') } resp = requests.post(url, headers=headers, files=files) # Print result. print(resp.status_code) print(resp.text) “files”中的参数名由在线服务的输入参数决定,需要和“类型”为“file”的输入参数“名称”保持一致。以前提条件里获取的文件预测输入参数“images”为例。 输入为文本格式(json类型) 读取本地预测文件并进行base64编码的请求体示例如下: # coding=utf-8 import base64 import requests if __name__ == '__main__': # Config url, token and file path url = "在线服务的调用地址" token = "用户Token" file_path = "预测文件的本地路径" with open(file_path, "rb") as file: base64_data = base64.b64encode(file.read()).decode("utf-8") # Set body,then send request headers = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'image': base64_data } resp = requests.post(url, headers=headers, json=body) # Print result print(resp.status_code) print(resp.text) “body”中的参数名由在线服务的输入参数决定,需要和“类型”为“string”的输入参数“名称”保持一致。以前提条件里获取的文本预测输入参数“image”为例。“body”中的base64_data值为string类型。
  • 方式一:使用图形界面的软件进行预测(以Postman为例) 下载Postman软件并安装,您也可以直接在Chrome浏览器添加Postman扩展程序(也可使用其他支持发送post请求的软件)。Postman推荐使用7.24.0版本。 打开Postman,如图2所示。 图2 Postman界面 在Postman界面填写参数,以图像分类举例说明。 选择POST任务,将在线服务的调用地址复制到POST后面的方框。Headers页签的Key值填写为“X-Auth-Token”,Value值为用户Token。 您也可以通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求,具体可参见用户AK-SK认证模式。 图3 参数填写 在Body页签,根据模型的输入参数不同,可分为2种类型:文件输入、文本输入。 文件输入 选择“form-data”。在“KEY”值填写模型的入参,和在线服务的输入参数对应,比如本例中预测图片的参数为“images”。然后在“VALUE”值,选择文件,上传一张待预测图片(当前仅支持单张图片预测),如图4所示。 图4 填写Body 文本输入 选择“raw”,选择JSON(application/json)类型,在下方文本框中填写请求体,请求体样例如下: { "meta": { "uuid": "10eb0091-887f-4839-9929-cbc884f1e20e" }, "data": { "req_data": [ { "sepal_length": 3, "sepal_width": 1, "petal_length": 2.2, "petal_width": 4 } ] } } 其中,“meta”中可携带“uuid”,调用时传入一个“uuid”,返回预测结果时回传此“uuid”用于跟踪请求,如无此需要可不填写meta。“data”包含了一个“req_data”的数组,可传入单条或多条请求数据,其中每个数据的参数由模型决定,比如本例中的“sepal_length”、“sepal_width”等。 参数填写完成,单击“send”发送请求,结果会在“Response”下的对话框里显示。 文件输入形式的预测结果样例如图5所示,返回结果的字段值根据不同模型可能有所不同。 文本输入形式的预测结果样例如图6所示,请求体包含“meta”及“data”。如输入请求中包含“uuid”,则输出结果中回传此“uuid”。如未输入,则为空。“data”包含了一个“resp_data”的数组,返回单条或多条输入数据的预测结果,其中每个结果的参数由模型决定,比如本例中的“sepal_length”、“predictresult”等。 图5 文件输入预测结果 图6 文本输入预测结果
共100000条