云服务器内容精选

  • 步骤1:准备工作 已 注册华为账号 并开通华为云,进行了实名认证,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 注册华为账号并开通华为云 进行实名认证 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。 在“访问授权”页面,选择需要授权的“授权对象类型”,选择新增委托及其对应的权限“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 图1 配置委托访问授权 完成配置后,在ModelArts控制台的全局配置列表,可查看到此账号的委托配置信息。 图2 查看委托配置信息
  • Step3 创建OBS桶并上传文件 将上一步中的数据和代码文件、推理代码文件与推理配置文件,从本地上传到OBS桶中。在ModelArts上运行训练作业时,需要从OBS桶中读取数据和代码文件。 登录OBS管理控制台,按照如下示例创建OBS桶和文件夹。创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。 {OBS桶} # OBS对象桶,用户可以自定义名称,例如:test-modelarts-xx -{OBS文件夹} # OBS文件夹,自定义名称,此处举例为pytorch - mnist-data # OBS文件夹,用于存放训练数据集,可以自定义名称,此处举例为mnist-data - mnist-code # OBS文件夹,用于存放训练脚本train.py,可以自定义名称,此处举例为mnist-code - infer # OBS文件夹,用于存放推理脚本customize_service.py和配置文件config.json - mnist-output # OBS文件夹,用于存放训练输出模型,可以自定义名称,此处举例为mnist-output 创建的OBS桶所在区域和后续使用ModelArts必须在同一个区域Region,否则会导致训练时找不到OBS桶。具体操作可参见查看OBS桶与ModelArts是否在同一区域。 创建OBS桶时,桶的存储类别请勿选择“归档存储”,归档存储的OBS桶会导致模型训练失败。 上传Step1 准备训练数据下载的MNIST数据集压缩包文件到OBS中。上传文件至OBS的操作指导请参见上传对象。 上传数据到OBS中时,请不要加密,否则会导致训练失败。 文件无需解压,直接上传压缩包至OBS中即可。 上传训练脚本“train.py”到“mnist-code”文件夹中。 上传推理脚本“customize_service.py”和推理配置文件“config.json”到“infer”文件中。
  • Step6 预测结果 在“在线服务”页面,单击在线服务名称,进入服务详情页面。 单击“预测”页签,请求类型选择“multipart/form-data”,请求参数填写“image”,单击“上传”按钮上传示例图片,然后单击“预测”。 预测完成后,预测结果显示区域将展示预测结果,根据预测结果内容,可识别出此图片的数字是“2”。 本案例中使用的MNIST是比较简单的用做demo的数据集,配套算法也是比较简单的用于教学的神经网络算法。这样的数据和算法生成的模型仅适用于教学模式,并不能应对复杂的预测场景。即生成的模型对预测图片有一定范围和要求,预测图片必须和训练集中的图片相似(黑底白字)才可能预测准确。 图8 示例图片 图9 预测结果展示
  • 操作流程 开始使用如下样例前,请务必按准备工作指导完成必要操作。 Step1 准备训练数据:下载MNIST数据集。 Step2 准备训练文件和推理文件:编写训练与推理代码。 Step3 创建OBS桶并上传文件:创建OBS桶和文件夹,并将数据集和训练脚本,推理脚本,推理配置文件上传到OBS中。 Step4 创建训练作业:进行模型训练。 Step5 推理部署:训练结束后,将生成的模型导入ModelArts用于创建AI应用,并将AI应用部署为在线服务。 Step6 预测结果:上传一张手写数字图片,发起预测请求获取预测结果。 Step7 清除资源:运行完成后,停止服务并删除OBS中的数据,避免不必要的扣费。
  • 准备工作 已注册华为账号并开通华为云,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。 在弹出的“访问授权”窗口中, 授权对象类型:所有用户 委托选择:新增委托 权限配置:普通用户 选择完成后勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 图1 配置委托访问授权 完成配置后,在ModelArts控制台的全局配置列表,可查看到此账号的委托配置信息。 图2 查看委托配置信息
  • Step1 准备训练数据 本案例使用的数据是MNIST数据集,您可以从MNIST官网下载数据集至本地,以下4个文件均要下载。 图3 MNIST数据集 “train-images-idx3-ubyte.gz”:训练集的压缩包文件,共包含60000个样本。 “train-labels-idx1-ubyte.gz”:训练集标签的压缩包文件,共包含60000个样本的类别标签。 “t10k-images-idx3-ubyte.gz”:验证集的压缩包文件,共包含10000个样本。 “t10k-labels-idx1-ubyte.gz”:验证集标签的压缩包文件,共包含10000个样本的类别标签。 如果单击MNIST官网链接后提示输入登录信息,可在浏览器中直接粘贴此链接免登录:http://yann.lecun.com/exdb/mnist/。 出现登录提示是由于浏览器使用了https的方式打开了该链接,使用http的方式打开则无需登录信息。
  • 步骤5:创建新版自动学习图像分类项目 确保数据集创建完成且可正常使用后,在ModelArts控制台,左侧导航栏选择“自动学习”,进入自动学习总览页面。 单击选择“图像分类”创建项目。完成参数填写。 计费模式:按需计费。 名称:自定义您的项目名称。 描述:自定义描述您的项目详情,例如垃圾分类。 数据集:下拉选择已下载的数据集(步骤2中已成功导入的数据集,默认为下拉数据集列表中的第一个数据集)。 输出路径:选择您步骤1创建好的OBS文件夹下的路径,用来存储训练模型等相关文件。 训练规格:根据您的实际需要选择对应的训练规格。 参数填写完成,单击“创建项目”。
  • 步骤6:运行工作流 项目完成创建之后,会自动跳转到新版自动学习的运行总览页面。同时您的工作流会自动从数据标注节点开始运行。您需要做的是: 观察数据标注节点,待数据标注节点变为橙色即为“等待操作”状态。双击数据标注节点,打开数据标注节点的运行详情页面,单击“继续运行”。 在弹出的窗口中,单击“确定”,工作流会开始继续运行。当工作流运行到“服务部署”节点,状态会变为“等待输入”,您需要填写以下两个输入参数,其他参数保持默认。 计算节点规格:根据您的实际需求选择相应的规格,不同规格的配置费用不同,选择好规格后,配置费用处会显示相应的费用。 是否自动停止:为了避免资源浪费,建议您打开该开关,根据您的需求,选择自动停止时间,也可以自定义自动停止的时间。 图5 选择计算节点规格 图6 设置自动停止 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
  • 步骤3:准备训练数据集 单击8类常见生活垃圾图片数据集,进入AI Gallery数据集详情页,单击右侧“下载”。 选择对应的云服务区域例如:华北-北京四,需要确保您选择的区域与您的管理控制台所在的区域一致。 进入“下载详情”页面,填写以下参数。 下载方式:ModelArts数据集。 目标区域:华北-北京四。 数据类型:系统会根据您的数据集,匹配到相应的数据类型。例如本案例使用的数据集,系统匹配为“图片”类型。 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。 图4 下载详情 完成参数填写,单击“确定”,自动跳转至AI Gallery个人中心“我的下载”页签,单击按钮,查看下载进度,等待5分钟左右下载完成,单击展开下载详情,可以查看该数据集的“目标位置”。
  • 步骤2:创建OBS桶 登录OBS管理控制台,在桶列表页面右上角单击“创建桶”,创建OBS桶。例如,创建名称为“dataset-exeml”的OBS桶。 图1 创建桶 创建桶的区域需要与ModelArts所在的区域一致。例如:当前ModelArts在华北-北京四区域,在 对象存储服务 创建桶时,请选择华北-北京四。请参考查看OBS桶与ModelArts是否在同一区域检查您的OBS桶区域与ModelArts区域是否一致。 请勿开启桶加密,ModelArts不支持加密的OBS桶,会导致ModelArts读取OBS中的数据失败。 在桶列表页面,单击桶名称,进入该桶的概览页面。 图2 桶列表 单击左侧导航的“对象”,在对象页面单击“新建文件夹”,创建OBS文件夹。具体请参见新建文件夹章节。 图3 新建文件夹
  • 步骤1:准备工作 注册华为账号并开通华为云、实名认证 注册华为账号并开通华为云 进行实名认证 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“全局配置”,进入“全局配置”页面,单击“添加授权”。 在弹出的“访问授权”窗口中,授权对象类型选“所有用户”,委托选择选“新增委托”,权限配置选择“普通用户”,并勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 完成配置后,在ModelArts控制台的全局配置列表,可查看到此账号的委托配置信息。
  • 入门实践 本章节列举了一些常用的案例,方便您快速了解并使用ModelArts完成AI开发。 表1 常用最佳实践 实践 描述 适用人群 自动学习 口罩检测(使用新版自动学习实现物体检测应用) 该案例是使用华为云一站式 AI开发平台 ModelArts的新版“自动学习”功能,基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者完成“物体检测”的AI模型的训练和部署。依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。 面向AI开发零基础的用户 开发环境 使用算法套件快速完成水表读数识别 本案例提供了一个水表表盘读数识别的样例,使用ModelArts的自研分割算法(ivgSegmentation)和开源OCR算法(mmOCR)完成水表读数识别项目,并使用算法开发套件将其部署为华为云在线服务。 面向AI开发零基础的用户 本地开发的MindSpore模型迁移至云上训练 本案例介绍了如何将本地开发好的MindSpore模型代码,通过PyCharm ToolKit连接到ModelArts进行云上调试和训练。 面向熟悉代码编写和调测的AI工程师 模型训练 使用AI Gallery的订阅算法实现花卉识别 本案例以“ResNet_v1_50”算法、花卉识别数据集为例,指导如何从AI Gallery下载数据集和订阅算法,然后使用算法创建训练模型,将所得的模型部署为在线服务。其他算法操作步骤类似,可参考“ResNet_v1_50”算法操作。 面向AI开发零基础的用户 示例:从 0 到 1 制作 自定义镜像 并用于训练(Pytorch+CPU/GPU) 本案例介绍如何从0到1制作镜像,并使用该镜像在ModelArts平台上进行训练。镜像中使用的AI引擎是Pytorch,训练使用的资源是CPU或GPU。 面向熟悉代码编写和调测的AI工程师 推理部署 免费体验 :一键完成商超商品识别模型部署 本案例以“商超商品识别”模型为例,完成从AI Gallery订阅模型,到ModelArts一键部署为在线服务的免费体验过程。 面向AI开发零基础的用户 从0-1制作自定义镜像并创建AI应用 针对ModelArts不支持的AI引擎,您可以构建自定义镜像,并将镜像导入ModelArts,创建为AI应用。本案例详细介绍如何使用自定义镜像完成AI应用的创建,并部署成在线服务。 面向熟悉代码编写和调测的AI工程师
  • 根据经验选择您的使用方式 面向AI开发零基础的用户,您可以使用ModelArts在AI Gallery中预置的模型、算法、数据、Notebook等资产,零代码完成AI建模和应用。 如果您想了解如何一键部署现有的模型,并在线使用模型进行预测,您可以参考基于ModelArts Standard一键完成商超商品识别模型部署。 ModelArts同时提供了自动学习功能,帮助用户零代码构建AI模型,详细介绍请参见使用ModelArts Standard自动学习实现垃圾分类。 面向AI工程师,熟悉代码编写和调测,您可以使用ModelArts提供的在线代码开发环境,编写训练代码进行AI模型的开发。《最佳实践》手册中提供了丰富的端到端示例,供您学习参考。 如果您有自己的算法,想改造适配后迁移到ModelArts平台上进行训练和推理,您可以参考使用自定义算法构建模型(手写数字识别)。 如果您更习惯使用本地PyCharm工具开发模型,建议可参考本地开发的MindSpore模型迁移至云上训练,安装ModelArts PyCharmToolKit工具,在本地完成代码开发后,将代码提交至ModelArts云端进行训练。 如果您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨。
  • Step2 安装Docker 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • 镜像地址 本教程中用到的训练的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 配套版本 训练基础镜像 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240528150158-b521cc0 CANN:cann_8.0.rc2 PyTorch:2.1.0