华为云用户手册

  • 无监督领域知识数据量无法支持增量预训练,如何进行模型学习 一般来说,建议采用增量预训练的方式让模型学习领域知识,但预训练对数据量的要求较大,如果您的无监督文档量级过小,达不到预训练要求,您可以通过一些手段将其转换为有监督数据,再将转换后的领域知识与目标任务数据混合,使用微调的方式让模型学习。 这里提供了一些将无监督数据转换为有监督数据的方案,供您参考: 基于规则构建:您可以通过采用一些简单的规则来构建有监督数据。比如: 表1 采用规则将无监督数据构建为有监督数据的常用方法 规则场景 说明 文本生成:根据标题、关键词、简介生成段落。 若您的无监督文档中含标题、关键词、简介等结构化信息,可以将有监督的问题设置为“请根据标题xxx/关键性xxx/简介xxx,生成一段不少于xx个字的文本。”,将回答设置为符合要求的段落。 续写:根据段落的首句、首段续写成完整的段落。 若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下是一篇文章的第一个句子:xxx/第一段落:xxx。请根据以上的句子/段落,续写为一段不少于xx个字的文本。”,再将回答设置为符合要求的段落。 扩写:根据段落的其中一句或者一段续写成完整的段落。 若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下是一篇文章的某个句子:xxx/某个段落:xxx。请根据以上的句子/段落,扩写成一段不少于xx个字的文本。”,再将回答设置为符合要求的段落。 填空:从段落随机掩盖一个或多个词语、句子、段落,再将段落完形填空。 若您的无监督文档没有任何结构化信息,可以将有监督的问题设置为“以下的文章中有一些词语/句子/段落缺失,文章如下:xxx。请结合文章内容,将缺失的信息补充完整。”,再将回答设置为符合要求的信息。 使用规则构建的优点是快速且成本低,缺点是数据多样性较低。 基于大模型的数据泛化:您可以通过调用大模型(比如盘古提供的任意一个规格的基础功能模型)来获取有监督场景。一个比较常见的方法是,将无监督的文本按照章节、段落、字符数进行切片,让模型基于这个片段生成问答对,再将段落、问题和答案三者组装为有监督数据。使用模型构建的优点是数据丰富度更高,缺点是成本较高。 当您将无监督数据构建为有监督数据时,请尽可能保证数据的多样性。建议将不同文本构建为不同的场景,甚至将同一段文本构建为多个不同的场景。 不同规格的模型支持的长度不同,当您将无监督数据构建为有监督数据时,请确保数据长度符合模型长度限制。 父主题: 大模型微调训练类问题
  • 为什么微调后的盘古大模型总是重复相同的回答 当您将微调的模型部署以后,输入一个与目标任务同属的问题,模型生成了复读机式的结果,即回答中反复出现某一句话或某几句话。这种情况可能是由于以下几个原因导致的,建议您依次排查: 推理参数设置:请检查推理参数中的“话题重复度控制”或“温度”或“核采样”等参数的设置,适当增大其中一个参数的值,可以提升模型回答的多样性。 数据质量:请检查训练数据中是否存在文本重复的异常数据,可以通过规则进行清洗。 训练参数设置:若数据质量存在问题,且因训练参数设置的不合理而导致过拟合,该现象会更加明显。请检查训练参数中的 “训练轮次”或“学习率”等参数的设置,适当降低这些参数的值,降低过拟合的风险。 父主题: 大模型微调训练类问题
  • 为什么多轮问答场景的盘古大模型微调效果不好 当您的目标任务是多轮问答,并且使用了多轮问答数据进行微调,微调后却发现多轮回答的效果不理想。这种情况可能是由于以下几个原因导致的,建议您依次排查: 数据格式:多轮问答场景需要按照指定的数据格式来构造,问题需要拼接上历史所有轮对话的问题和回答。比如,当前是第三轮对话,数据中的问题字段需要包含第一轮的问题、第一轮的回答、第二轮的问题、第二轮的回答以及第三轮的问题,答案字段则为第三轮的回答。以下给出了几条多轮问答的数据样例供您参考: 原始对话示例: A:你是谁? B:您好,我是盘古大模型。 A:你可以做什么? B:我可以做很多事情,比如xxxx A:你可以讲个笑话吗? B:当然可以啦,以下是xxxx A:可以把这个笑话改成xxxx B:好的,以下是修改后的xxxx 拼接后的微调数据格式示例: {"context": ["你是谁?", "您好,我是盘古大模型。", "你可以做什么?", "我可以做很多事情,比如xxxx", "你可以讲个笑话吗?", "当然可以啦,以下是xxxx", "可以把这个笑话改成xxxx"], "target": "好的,以下是修改后的xxxx"} 多轮问答场景的输入(“context”字段)请务必使用“[问题, 回答, 问题, 回答, 问题, ……]”的方式来构造,若您的数据是同一个角色连续多次对话的“多轮问题”,可以将同一个角色的对话采用某个分隔符拼接到一个字符串中。例如: 原始对话示例: A:xxx号话务员为您服务! A:先生您好,有什么可以帮助您的? B:你好,是这样的 B:我家里上不了网了 B:网连不上 A:先生,您家的网络无法连接是吗 A:请问您尝试重新插拔网线吗? B:是的,我试了 B:还是不行 拼接后的微调数据格式示例: {"context": ["xxx号话务员为您服务! 先生您好,有什么可以帮助您的?", "你好,是这样的 我家里上不了网了 网连不上", "先生,您家的网络无法连接是吗 请问您尝试重新插拔网线吗?"], "target": "是的,我试了 还是不行"} 数据质量:若数据格式没有问题,仍然发现模型效果不好,您可以根据具体问题针对性的提升您的数据质量。比如,随着对话轮数的增加,模型出现了遗忘,可以检查构造的训练数据中轮数是否普遍较少,建议根据实际情况增加数据中的对话轮数。 父主题: 大模型微调训练类问题
  • 训练智能客服系统大模型需考虑哪些方面 根据智能客服场景,建议从以下方面考虑: 根据企业实际服务的场景和积累的数据量,评估是否需要构建行业模型,如电商、金融等。 根据每个客户的金牌客服话术,可以对对话模型进行有监督微调,进一步优化其性能。 根据每个客户的实际对话知识,如帮助文档、案例库和FAQ库等,可以使用“先搜后推”的解决方案。客户的文档库可以实时更新,大模型的应答可以无缝实时更新。(搜索+大模型解决方案) 父主题: 大模型概念类问题
  • 如何调整推理参数,使盘古大模型效果最优 推理参数(解码参数)是一组用于控制模型生成预测结果的参数,其可以用于控制模型生成结果的样式,如长度、随机性、创造性、多样性、准确性和丰富度等等。 当前,平台支持的推理参数包括:温度、核采样以及话题重复度控制,如下提供了这些推理参数的建议值和说明,供您参考: 表1 推理参数的建议和说明 推理参数 范围 建议值 说明 温度(temperature) 0~1 0.3 温度主要用于控制模型输出的随机性和创造性。温度越高,输出的随机性和创造性越高;温度越低,输出结果越可以被预测,确定性相对也就越高。 您可根据真实的任务类型进行调整。一般来说,如果目标任务的需要生成更具创造性的内容,可以使用较高的温度,反之如果目标任务的需要生成更为确定的内容,可以使用较低的温度。 请注意,温度和核采样的作用相近,在实际使用中,为了更好观察是哪个参数对结果造成的影响,因此不建议同时调整这两个参数。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 核采样(top_p) 0~1 1 核采样主要用于控制模型输出的多样性。核采样值越大,输出的多样性越高;核采样值越小,输出结果越可以被预测,确定性相对也就越高。 您可根据真实的任务类型进行调整。一般来说,如果目标任务的需要生成更具多样性的内容,可以使用较大的核采样,反之如果目标任务的需要生成更为确定的内容,可以使用较小的核采样。 请注意,温度和核采样的作用相近,在实际使用中,为了更好观察是哪个参数对结果造成的影响,因此不建议同时调整这两个参数。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 话题重复度控制(presence_penalty) -2~2 0 话题重复度控制主要用于控制模型输出的话题重复程度。 参数设置正值,模型倾向于生成新的、未出现过的内容;参数设置负值,倾向于生成更加固定和统一的内容。 如果您没有专业的调优经验,可以优先使用建议,再结合推理的效果动态调整。 为了让您更好的理解这几个参数的作用,如下列举了一些常见场景,以及对应的调参指导,供您参考: 文本生成:对于文本生成场景(宣传文案生成、信稿文本生成、文学创作等),通常希望生成的文本有一点的多样性,建议在保证不过于随机的基础上,增大“温度”或“核采样”的值(二者选其一调整)。若发现生成的文本过于发散,可以降低“话题重复度控制”的值,保证内容统一;反之若发现内容过于单一,甚至出现了复读机式的重复内容生成,则需要增加“话题重复度控制”的值。 知识问答:对于文本生成场景(开放问答、基于搜索内容回答等),从客观上来说,回答需要是确定且唯一的,建议降低“温度”或“核采样”的值(二者选其一调整)。若需要每次生成完全相同的回答,可以将“温度”置为0。 参数的选择没有标准答案,您需要根据任务的实际情况进行调整,以上建议值仅供参考。 父主题: 大模型微调训练类问题
  • 如何对盘古大模型的安全性展开评估和防护 盘古大模型的安全性主要从以下方面考虑: 数据安全和隐私保护:大模型涉及大量训练数据,这些数据是重要资产。为确保数据安全,需在数据和模型训练的全生命周期内,包括数据提取、加工、传输、训练、推理和删除的各个环节,提供防篡改、数据隐私保护、加密、审计和数据主权保护等机制。在训练和推理过程中,通过数据脱敏、隐私计算等技术手段识别并保护敏感数据,有效防止隐私泄露,保障个人隐私数据安全。 内容安全:通过预训练和强化学习价值观提示(prompt),构建正向的意识形态。通过 内容审核 模块过滤违法及违背社会道德的有害信息。 模型安全:通过模型动态混淆技术,使模型在运行过程中保持混淆状态,有效防止结构信息和权重信息在被窃取后暴露。 系统安全:通过网络隔离、身份认证和鉴权、Web安全等技术保护大模型系统安全,增强自身防护能力,以抵御外部安全攻击。 父主题: 大模型概念类问题
  • 为什么在微调后的盘古大模型中输入训练样本问题,回答完全不同 当您将微调的模型部署以后,输入一个已经出现在训练样本中,或虽未出现但和训练样本差异很小的问题,回答完全错误。这种情况可能是由于以下几个原因导致的,建议您依次排查: 训练参数设置:您可以通过绘制Loss曲线查询来确认模型的训练过程是否出现了问题,这种情况大概率是由于训练参数设置的不合理而导致了欠拟合,模型没有学到任何知识。请检查训练参数中的 “训练轮次”或“学习率”等参数的设置,适当增大“训练轮次”的值,或根据实际情况调整“学习率”的值,帮助模型更好收敛。 数据质量:请检查训练数据的质量,若训练样本和目标任务不一致或者分布差异较大,则会加剧该现象。 父主题: 大模型微调训练类问题
  • 计费项 盘古大模型分为模型订阅、数据资源、训练资源和推理资源四个收费项。 模型订阅按照订阅时长预付费,提供1个月到1年供客户选择,自支付完成开始计费。 数据智算单元、数据通算单元支持两种计费方式,包周期订购按使用数量和时长预付费,提供1个月到1年供客户选择,按需订购按单元使用数量和时长后付费,时长精确到秒,数据托管单元按订购数量和时长预付费,提供1个月到1年供客户选择。 模型训练资源支持两种计费方式,包周期按订购数量和时长预付费,提供1个月到1年供客户选择;按需订购按单元使用数量和时长后付费,时长精确到秒。 模型推理资源按推理单元订购数量和时长预付费,提供1个月到1年供客户选择。
  • 计费模式 包周期计费模式属于预付费模式,即先付费再使用。按需计费模式属于后付费模式,即费用根据服务实际消耗量计费,系统将每小时自动扣费。 盘古大模型的计费模式见表1。 表1 计费模式表 计费类别 计费项 计费模式 计费量纲 付费方式 计费周期 模型服务 模型订阅服务 包周期计费 套 预付费,按照订单的购买周期结算 1个月~1年 数据服务 数据智算服务 按需计费 智算单元 后付费,根据服务实际消耗量计费 按实际任务时长,时长精确到秒。 数据通算服务 按需计费 通算单元 后付费,根据服务实际消耗量计费 按实际任务时长,时长精确到秒。 数据托管服务 包周期计费 托管单元 预付费,按照订单的购买周期结算 1个月~1年 训练服务 训练服务 按需计费 训练单元 后付费,根据服务实际消耗量计费 按实际任务时长,时长精确到秒。 包周期计费 训练单元 预付费,按照订单的购买周期结算 1个月~1年 推理服务 推理服务 包周期计费 推理单元 预付费,按照订单的购买周期结算 1个月~1年
  • 欠费说明 在使用云服务时,如果账户的可用额度低于待结算账单金额,即被判定为账户欠费。欠费可能会影响云服务资源的正常运行,因此需要及时充值。预付费模式购买后不涉及欠费。 服务按时长计费的,当余额不足以支付当前费用时,账户将被判定为欠费。由于盘古NLP大模型不涉及物理实体资源,因此无宽限期。欠费后继续调用服务会导致账户冻结,并直接进入保留期,保留期按需资源不可调用。续费后可恢复正常使用,但续费的生效时间以原到期时间为准,需支付从进入保留期开始至续费时的费用。 账户欠费后,部分操作将受限,建议您尽快续费。具体受限操作如下: 按需方式的API接口不可调用。 无法开通服务。
  • 计费概述 关于盘古大模型的详细费用信息,敬请咨询华为云售前咨询,我们将为您提供专业的解答和支持。 通过阅读本文,您可以快速了解盘古大模型的计费模式、计费项、续费、欠费等主要计费信息。 计费模式 盘古大模型提供包周期计费、按需计费两种计费模式,以满足不同场景下的用户需求。关于计费模式的详细介绍请参见计费模式。 包周期计费是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算,因此在购买之前,您必须确保账户余额充足。 按需计费是一种后付费模式,即先使用再付费,按照实际使用时长计费。 在购买后,如果发现当前计费模式无法满足业务需求,您还可以变更计费模式。详细介绍请参见变更计费模式。 计费项 盘古大模型的计费项由模型订阅、数据资源、训练资源和推理资源费用组成。了解每种计费项的详细信息,请参考计费项。 续费 包周期资源到期后,如果您想继续使用服务,需要在保留期内进行手动续费,否则不能再对已过保留期的服务进行续费操作,需重新购买对应的服务。了解更多关于续费的信息,请参见续费。 欠费 在使用云服务时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费后,可能会影响云服务资源的正常运行,需要及时充值。详细介绍请参见欠费说明。 停止计费 包周期资源到期后,保留期时长将根据“客户等级”定义。按需计费模式下,若账户欠费,保留期时长同样依据“客户等级”定义。详细介绍请参见停止计费。
  • 气象类清洗算子能力清单 数据加工算子为用户提供了多种数据操作能力,包括数据提取、过滤、转换、打标签等。这些算子能够帮助用户从海量数据中提取出有用信息,并进行深度加工,以生成高质量的训练数据。 平台支持气象类数据集的加工操作,气象类加工算子能力清单见表1。 表1 气象类清洗算子能力清单 算子分类 算子名称 算子描述 科学计算 气象预处理 将二进制格式的气象数据文件转换成结构化JSON数据。 父主题: 数据集清洗算子介绍
  • 运维中心使用前准备 使用AppStage运维中心前,需要先准备如表1所示内容。 表1 准备事项 准备事项 说明 购买AppStage运维中心 首次使用需要先购买运维中心专业版,具体操作请参见购买AppStage。 配置服务授权 购买运维中心后,系统将自动识别并弹框提示进行服务授权,同意服务授权后,AppStage将在 统一身份认证 服务 IAM 中为账号创建名称为appstage_admin_agency的委托。 关联组织 首次购买AppStage后,其账号需创建并关联使用AppStage的组织(仅可关联一个组织),才能使用AppStage服务及后续购买AppStage相关产品套餐或增量包等,具体操作请参见关联组织。关联组织完成后,该华为账号会自动成为组织管理员,拥有该组织的所有管理权限,同时可以审批其他用户的组织管理员角色权限申请。 添加部门/成员信息 为已关联的组织添加部门及成员,完善组织架构,具体操作请参见管理已关联组织的部门及成员。 录入产品/服务/微服务信息 企业资源接入AppStage前,需要先将企业产品/服务/微服务信息录入AppStage系统中,信息录入成功后,AppStage将同步产品/服务/微服务信息至运维中心,具体操作请参见管理产品与服务。 申请权限 已添加成员在使用运维中心前需要先申请运维中心权限,具体操作请参见申请权限。 说明: 运维中心操作指导基于已获取服务研发岗位权限进行介绍,如果部分具体功能需要其他权限会单独说明。
  • 录入企业项目 进入AppStage运维中心。 将鼠标悬停在右上角的账号,选择下拉列表中的“服务环境配置”,选择左侧导航栏的“服务关联”。 在项目配置区域,单击“新增”。 新增项目配置,具体参数如表1所示。 表1 项目配置参数 参数名称 参数说明 部门 选择已录入的部门。 产品 选择已录入的产品。 服务 选择已录入的服务。 华为公有云账号名 选择用户的华为账号名。 类型 关联项目:关联已有的公有云EPS。 关联且新增项目:在公有云EPS创建一个新项目,同时进行关联。 企业项目名称 关联项目时,选择已有的公有云EPS。 关联且新增时,填写创建的企业项目名称。 单击“确定”。
  • 本地安装ModelArts SDK步骤 在本地安装ModelArts SDK,具体的配置步骤如下: 步骤一:下载ModelArts SDK 步骤二:配置运行环境 步骤三:安装ModelArts SDK ModelArts SDK支持安装在Windows和Linux操作系统中。 如果在Windows上安装ModelArts SDK时出现报错,可参见FAQ:安装ModelArts SDK报错处理报错。
  • Session鉴权概述 Session模块的主要作用是实现与公有云资源的鉴权,并初始化ModelArts SDK Client、OBS Client。当成功建立Session后,您可以直接调用ModelArts的SDK接口。 ModelArts开发环境Notebook不需要Session鉴权,可以直接使用。示例代码如下: 1 2 from modelarts.session import Session session = Session() 本地PC使用ModelArts SDK时,需要进行Session鉴权。鉴权方式可参考如下认证方式,选择其中一种方式进行认证即可。 用户名密码认证模式: 支持OBS管理、数据管理、训练管理、模型管理、服务管理的鉴权。 用户AK-SK认证模式: 支持OBS管理、数据管理、训练管理、模型管理、服务管理的鉴权。
  • 用户名密码认证模式 本地安装完成ModelArts SDK后,可通过用户名密码认证模式进行Session鉴权。示例代码如下: 使用账号认证 “username”填写您的账号名。 1 2 3 4 5 6 7 from modelarts.session import Session # 认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以password保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_PASSWORD。 __PASSWORD = os.environ["HUAWEICLOUD_SDK_PASSWORD"] # 如果进行了加密还需要进行解密操作 session = Session(username='***', password=__PASSWORD, region_name='***', project_id='***') 使用IAM用户认证 “account”填写您的账号名,“username”填写您的IAM用户名。 1 2 3 4 5 6 7 from modelarts.session import Session # 认证用的password硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以password保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_PASSWORD。 __PASSWORD = os.environ["HUAWEICLOUD_SDK_PASSWORD"] # 如果进行了加密还需要进行解密操作 session = Session(account='***', username='***', password=__PASSWORD, region_name='***', project_id='***') 账号与用户的概念介绍,请参见IAM基本概念。获取您的账号、用户名等信息,请参见获取用户名、用户ID、项目名称、项目ID。 如果您的华为云账号已经升级为华为账号,则账号认证方式将不可用,请创建一个IAM用户,使用IAM用户认证。
  • 示例代码 示例一:根据数据类型创建图像数据集 from modelarts.session import Session from modelarts.dataset import Dataset session = Session() dataset_name = "dataset-image" # 数据集名称 data_type = "IMAGE" # 数据集类型,图像类型数据集 data_sources = dict() # 数据集数据来源 data_sources["type"] = 0 # 数据来源类型,0表示OBS data_sources["path"] = "/obs-gaia-test/data/image/image-classification/" # 数据在OBS中的路径 work_path = dict() # 数据集输出位置,用于存放输出的标注信息等文件 work_path['type'] = 0 # 数据集工作目录的类型,0表示OBS work_path['path'] = "/obs-gaia-test/data/output/work_path/" # 数据集工作目录在OBS中的路径 create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, data_type=data_type, data_sources=data_sources, work_path=work_path) 示例二:根据数据类型创建图像数据集(导入标注信息) from modelarts.session import Session from modelarts.dataset import Dataset session = Session() dataset_name = "dataset-image-with-annotations" data_type = "IMAGE" data_sources = dict() data_sources["type"] = 0 data_sources["path"] = "/obs-gaia-test/data/image/image-classification/" annotation_config = dict() # 源数据的标注格式 annotation_config['scene'] = "image_classification" # 数据标注场景为图像分类标注 annotation_config['format_name'] = "ModelArts image classification 1.0" # 标注格式为ModelArts image classification 1.0 data_sources['annotation_config'] = annotation_config work_path = dict() work_path['type'] = 0 work_path['path'] = "/obs-gaia-test/data/output/work_path/" create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, data_type=data_type, data_sources=data_sources, work_path=work_path) 示例三:根据数据类型创建表格数据集 from modelarts.session import Session from modelarts.dataset import Dataset session = Session() dataset_name = "dataset-table" data_type = "TABLE" data_sources = dict() data_sources["type"] = 0 data_sources["path"] = "/obs-gaia-test/data/table/table0/" data_sources['with_column_header'] = True work_path = dict() work_path['type'] = 0 work_path['path'] = "/obs-gaia-test/data/output/work_path/" # 表格类型的数据集需要指定表格数据的schema信息 schema0 = dict() schema0['schema_id'] = 0 schema0['name'] = "name" schema0['type'] = "STRING" schema1 = dict() schema1['schema_id'] = 1 schema1['name'] = "age" schema1['type'] = "STRING" schema2 = dict() schema2['schema_id'] = 2 schema2['name'] = "label" schema2['type'] = "STRING" schemas = [] schemas.append(schema0) schemas.append(schema1) schemas.append(schema2) create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, data_type=data_type, data_sources=data_sources, work_path=work_path, schema=schemas) 示例四:根据标注类型创建图像分类数据集 from modelarts.session import Session from modelarts.dataset import Dataset session = Session() dataset_name = "dataset-image-classification" dataset_type = 0 # 数据集的标注类型,0表示图像分类标注类型 data_sources = dict() data_sources["path"] = "/obs-gaia-test/data/image/image-classification/" data_sources["type"] = "0" work_path = dict() work_path['type'] = 0 work_path['path'] = "/obs-gaia-test/data/output/work_path/" create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, dataset_type=dataset_type, data_sources=data_sources, work_path=work_path) 示例五:根据标注类型创建文本三元组数据集 dataset_name = "dataset-text-triplet" dataset_type = 102 # 数据集标注类型,102表示文本三元组标注类型 data_sources = dict() data_sources['type'] = 0 data_sources['path'] = "/obs-gaia-test/data/text/text-classification/" work_path = dict() work_path['type'] = 0 work_path['path'] = "/obs-gaia-test/data/output/work_path/" # 创建文本三元组标注类型的数据集,需要传入标签参数 label_entity1 = dict() # 标签对象 label_entity1['name'] = "疾病" # 标签名称 label_entity1['type'] = 101 # 标签类型,101表示实体类型标签 label_entity2 = dict() label_entity2['name'] = "疾病别称" label_entity2['type'] = 101 label_relation1 = dict() label_relation1['name'] = "又称为" label_relation1['type'] = 102 # 标签类型,102表示关系类型标签 property = dict() # 关系类型标签需要在标签属性中指定起始实体标签和终止实体标签 property['@modelarts:from_type'] = "疾病" # 起始实体标签 property['@modelarts:to_type'] = "疾病别称" # 终止实体标签 label_relation1['property'] = property labels = [] labels.append(label_entity1) labels.append(label_entity2) labels.append(label_relation1) create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, dataset_type=dataset_type, data_sources=data_sources, work_path=work_path, labels=labels) 示例六:根据标注类型创建表格数据集 dataset_name = "dataset-table" dataset_type = 400 # 数据集标注类型,400表示表格数据集 data_sources = dict() data_sources['type'] = 0 data_sources['path'] = "/obs-gaia-test/data/table/table0/" data_sources['with_column_header'] = True # 用来指明表格数据中是否包含表头 work_path = dict() work_path['type'] = 0 work_path['path'] = "/obs-gaia-test/data/output/work_path/" # 表格数据集需要传入表格数据的表头参数 schema0 = dict() # 表格的表头 schema0['schema_id'] = 0 # 第一列表头 schema0['name'] = "name" # 表头名称,该列表头为name schema0['type'] = "STRING" # 表头数据类型,表示字符串 schema1 = dict() schema1['schema_id'] = 1 schema1['name'] = "age" schema1['type'] = "STRING" schema2 = dict() schema2['schema_id'] = 2 schema2['name'] = "label" schema2['type'] = "STRING" schemas = [] schemas.append(schema0) schemas.append(schema1) schemas.append(schema2) create_dataset_resp = Dataset.create_dataset(session, dataset_name=dataset_name, dataset_type=dataset_type, data_sources=data_sources, work_path=work_path, schema=schemas)
  • 使用SDK调测单机训练作业 代码中涉及到的OBS路径,请用户替换为自己的实际OBS路径。 代码是以PyTorch为例编写的,不同的AI框架之间,整体流程是完全相同的,仅需修改6和10中的framework_type参数值即可,例如:MindSpore框架,此处framework_type=Ascend-Powered-Engine。 Session初始化。 代码如下:这里只列出最常用的一种方式,更多方式请参考《Session鉴权章节》 from modelarts.session import Session session = Session() 准备训练数据,这里支持三种形式,用户可根据自己的情况选择一种。 import os from modelarts.train_params import InputData base_bucket_path = "obs://modelarts-xxx-a0de02a6/dis-train/cifar10/" base_local_path = "/home/ma-user/work/cifar10/" # 形式1,数据在OBS上,且是一个压缩文件 obs_path = os.path.join(base_bucket_path, "dataset-zip/dataset.zip") data_local = os.path.join(base_local_path, "dataset/") input_data = InputData(obs_path=obs_path, local_path=data_local, is_local_source=False) # 形式2,数据在OBS上,且是一个目录 #obs_path = os.path.join(base_bucket_path, "dataset/") #data_local = os.path.join(base_local_path, "dataset/") #input_data = InputData(obs_path=obs_path, local_path=data_local, is_local_source=False) # 形式3,数据在Notebook中,且是一个目录,一般是使用SFS挂载磁盘的场景 #obs_path = os.path.join(base_bucket_path, "dataset-local/") #data_local = os.path.join(base_local_path, "dataset/") #input_data = InputData(obs_path=obs_path, local_path=data_local, is_local_source=True) 参数解释: is_local_source:可选参数,默认为False,指定训练数据的保存位置。 False:训练数据保存在参数obs_path指定的位置中; True:训练数据保存在notebook中,由local_path指定。 obs_path:obs地址。根据is_local_source值的变化,有不同的含义。 is_local_source=False,此时是必选参数,代表训练数据位置,支持文件夹和压缩文件。 is_local_source=True,此时是可选参数。如果用户填写了该参数,则开始训练时会将Notebook中的训练数据压缩并上传到该位置,不可重复上传。如果第一次上传后,建议将is_local_source修改为False,obs_path指向刚才上传的压缩数据文件位置;如果用户没有填写,则不会进行压缩上传。 local_path:必选参数,Notebook中的路径。用户的训练脚本需要从该目录中读取数据,完成训练任务。根据is_local_source值的变化,有不同的含义。 is_local_source=True,此时代表训练数据位置,仅支持文件夹。 is_local_source=False,训练过程中SDK会帮助用户将数据下载到该位置,如果训练数据是压缩文件,下载完成后会进行解压缩。 准备训练脚本。 from modelarts.train_params import TrainingFiles code_dir = os.path.join(base_local_path, "train/") # 这里提前将训练脚本放在了obs中,实际上训练脚本可以是任何来源,只要能够放到Notebook里边就行 session.obs.download_file(os.path.join(base_bucket_path, "train/test-pytorch.py"), code_dir) training_file = TrainingFiles(code_dir=code_dir, boot_file="test-pytorch.py", obs_path=base_bucket_path + 'train/') 参数解释: code_dir:必选参数,训练脚本所在的目录。在训练任务调测的情况下,必须是notebook中的目录,不能是OBS目录。 boot_file:必选参数,训练启动文件路径,路径格式为基于code_dir目录的相对路径,如实例代码中boot_file的完整路径为/home/ma-user/work/cifar10/train/test-pytorch.py,这里就只需要填写test-pytorch.py。 obs_path:可选参数,一个OBS目录。仅在本地单机调试时不需要该参数,提交远程训练时必选,会将训练脚本压缩并上传到该路径。 准备训练输出,如果用户不需要将训练输出上传到OBS,可以省略这一步。 from modelarts.train_params import OutputData output = OutputData(local_path=os.path.join(base_local_path, "output/"), obs_path=os.path.join(base_bucket_path, 'output/')) local_path:必选参数,一个notebook中的路径,训练脚本需要将输出的模型或其他数据保存在该目录下。 obs_path:必选参数,一个OBS目录。SDK会将local_path中的模型文件自动上传到这里。 查看训练支持的AI框架。 from modelarts.estimatorV2 import Estimator Estimator.get_framework_list(session) 参数session即是第一步初始化的数据。如果用户知道要使用的AI框架,可以略过这一步。 Estimator初始化。 from modelarts.estimatorV2 import Estimator parameters = [] parameters.append({"name": "data_url", "value": data_local}) parameters.append({"name": "output_dir", "value": os.path.join(base_local_path, "output/")}) parameters.append({"name": "epoc_num", "value": 2}) estimator = Estimator(session=session, training_files=training_file, outputs=[output], parameters=parameters, framework_type='PyTorch', train_instance_type='local', train_instance_count=1, script_interpreter="/home/ma-user/anaconda3/envs/PyTorch-1.4/bin/python", log_url=base_bucket_path + 'log/', job_description='This is a image net train job') 参数解释: session:必选参数,1中初始化的参数。 training_files:必选参数,3中初始化的训练文件。 outputs:可选参数,这里传入的是一个list,每个元素都是4中初始化的训练输出。 parameters:可选参数,一个list,每个元素都是一个字典,包含"name"和"value"两个字段,以"--name=value"的形式传递给训练启动文件。value支持字符串,整数,布尔等类型。对于布尔类型,建议用户在训练脚本中使用action='store_true'的形式来解析。 framework_type:必选参数,训练作业使用的AI框架类型,可参考步骤5查询的返回结果。 train_instance_type:必选参数,训练实例类型,这里指定'local'即为在notebook中进行训练。 train_instance_count:必选参数,训练使用的worker个数,单机训练时为1,训练作业只在当前使用的notebook中运行。 script_interpreter:可选参数,指定使用哪个python环境来执行训练任务,如果未指定,会默认使用当前的kernel。 log_url:可选参数,一个OBS地址,训练过程中,SDK会自动将训练的日志上传到该位置。但是如果训练任务运行在Ascend上,则是必选参数。 job_description:可选参数,训练任务的描述。 开始训练。 estimator.fit(inputs=[input_data], job_name="cifar10-dis") 参数解释: inputs:可选参数,一个list,每个元素都是2生成的实例。 job_name:可选参数,训练任务名,便于区分和记忆。 本地单机调试训练任务开始后,SDK会依次帮助用户完成以下流程: 初始化训练作业,如果2指定的训练数据在OBS上,这里会将数据下载到local_path中。 执行训练任务,用户的训练代码需要将训练输出保存在4中指定的local_path中。 将训练任务得到的输出上传到4指定的obs_path中,日志上传到第六步指定的log_url中。 同时,可以在任务名后增加时间后缀,区分不同的任务名称。 from datetime import datetime, timedelta import time base_name = "cifar10-dis" job_name = base_name + '-' + (datetime.now() + timedelta(hours=8)).strftime('%Y%m%d-%H%M%S') estimator.fit(inputs=[input_data], job_name=job_name) 多次调试。 上一步执行过程中,训练脚本的日志会实时打印到控制台,如果用户的代码或者参数有误的话,可以很方便的看到。在Notebook中经过多次调试,得到想要的结果后,可以进行下一步。 查询训练支持的计算节点类型和最大个数。 from modelarts.estimatorV2 import Estimator Estimator.get_spec_list(session=session) 参数session即是1初始化的数据。返回的是一个字典,其中flavors值是一个列表,描述了训练服务支持的所有规格的信息。每个元素中flavor_id是可直接用于远程训练任务的计算规格,max_num是该规格的最大节点数。如果用户知道要使用的计算规格,可以略过这一步。 提交远程训练作业。 from modelarts.estimatorV2 import Estimator parameters = [] parameters.append({"name": "data_url", "value": data_local}) parameters.append({"name": "output_dir", "value": os.path.join(base_local_path, "output/")}) parameters.append({"name": "epoch_num", "value": 2}) estimator = Estimator(session=session, training_files=training_file, outputs=[output], parameters=parameters, framework_type='PyTorch', train_instance_type='modelarts.vm.cpu.8u', train_instance_count=1, script_interpreter="/home/ma-user/anaconda3/envs/PyTorch-1.4/bin/python", log_url=base_bucket_path + 'log/', job_description='This is a image net train job') estimator.fit(inputs=[input_data], job_name="cifar10-dis") 在本地调测完成的基础上,只需要Estimator初始化时将参数train_instance_type修改为训练服务支持的规格即可(即第10步查询出来的flavor_id的值)。执行fit函数后,即可提交远程训练任务。 训练任务提交后,SDK会依次帮助用户完成以下流程: 将训练脚本打包成zip文件,上传到3中指定的obs_path中。 当训练数据保存在Notebook中,则将其打包成zip文件并上传到指定的obs_path中。 向ModelArts训练服务提交自定义镜像训练作业,使用的镜像为当前Notebook的镜像,这样保证了远程训练作业和在Notebook中的训练作业使用的运行环境一致。 训练任务得到的输出上传到4指定的obs_path中,日志上传到这一步log_url指定的位置中。 在这一步中需要注意的一个问题: 如果用户在自己的训练脚本中要创建新的目录或文件,请在以下几种目录中创建: /home/ma-user/work; /cache; inputs或者outputs中指定的local_path,如在步骤2中初始化InputData时,填写了local_path="/home/ma-user/work/xx/yy/",则在该目录下也可以创建新目录或文件。 父主题: 训练作业调测
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:已部署为在线服务predictor的初始化 1 2 3 4 5 from modelarts.session import Session from modelarts.model import Predictor session = Session() predictor_instance = Predictor(session, service_id="your_service_id") 方式2:部署在线服务predictor 部署服务到公共资源池 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 from modelarts.session import Session from modelarts.model import Model from modelarts.config.model_config import ServiceConfig, TransformerConfig, Schedule session = Session() model_instance = Model(session, model_id='your_model_id') vpc_id = None # (可选)在线服务实例部署的虚拟私有云ID,默认为空 subnet_network_id = None # (可选)子网的网络ID,默认为空 security_group_id = None # (可选)安全组,默认为空 configs = [ServiceConfig(model_id=model_instance.model_id, weight="100", instance_count=1, specification="modelarts.vm.cpu.2u")] # 参考表3中specification字段 predictor_instance = model_instance.deploy_predictor( service_name="service_predictor_name", infer_type="real-time", vpc_id=vpc_id, subnet_network_id=subnet_network_id, security_group_id=security_group_id, configs=configs, # predictor配置参数, 参考下文configs参数格式说明 schedule = [Schedule(op_type='stop', time_unit='HOURS', duration=1)] # (可选)设置在线服务运行时间 ) 参数“model_id”代表将部署成在线服务的模型。“model_id”可以通过查询模型列表或者ModelArts管理控制台获取。 部署服务到专属资源池 from modelarts.config.model_config import ServiceConfig configs = [ServiceConfig(model_id=model_instance.model_id, weight="100", instance_count=1, specification="modelarts.vm.cpu.2u")] predictor_instance = model_instance.deploy_predictor( service_name="your_service_name", infer_type="real-time", configs=configs, cluster_id="your dedicated pool id" ) configs参数格式说明:SDK提供了ServiceConfig类对其定义,configs为list,list中的元组对象是ServiceConfig。定义代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 configs = [] envs = {"model_name":"mxnet-model-1", "load_epoch":"0"} service_config1 = ServiceConfig( model_id="model_id1", # model_id1和model_id2必须是同一个模型的不同版本对应的model_id weight="70", specification="modelarts.vm.cpu.2u", # 参考表3中specification字段 instance_count=2, envs=envs) # (可选)设置环境变量的值,如:envs = {"model_name":"mxnet-model-1", "load_epoch":"0"} service_config2 = ServiceConfig( model_id='model_id2', weight="30", specification="modelarts.vm.cpu.2u", # 参考表3中specification字段 instance_count=2, envs=envs) # (可选)设置环境变量的值,如:envs = {"model_name":"mxnet-model-1", "load_epoch":"0"} configs.append(service_config1) configs.append(service_config2) 方式3:部署批量服务transformer 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from modelarts.session import Session from modelarts.model import Model from modelarts.config.model_config import TransformerConfig session = Session() model_instance = Model(session, model_id='your_model_id') vpc_id = None # (可选)批量服务实例部署的虚拟私有云ID,默认为空 subnet_network_id = None # (可选)子网的网络ID,默认为空 security_group_id = None # (可选)安全组,默认为空 transformer = model_instance.deploy_transformer( service_name="service_transformer_name", infer_type="batch", vpc_id=vpc_id, subnet_network_id=subnet_network_id, security_group_id=security_group_id, configs=configs # transformer配置参数, 参考下文configs参数格式说明 ) configs参数格式说明:SDK提供了TransformerConfig类对其定义,configs都是list,list中的元组对象是TransformerConfig。定义代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 configs = [] mapping_rule = None # (可选)输入参数与csv数据的映射关系 mapping_type= "file" # file或者csv envs = {"model_name":"mxnet-model-1", "load_epoch":"0"} transformer_config1 = TransformerConfig( model_id="model_id", specification="modelarts.vm.cpu.2u", # 参考表3中specification字段 instance_count=2, src_path="/shp-cn4/sdk-demo/", # 批量任务输入数据的OBS路径,如:"/your_obs_bucket/src_path" dest_path="/shp-cn4/data-out/", # 批量任务输出结果的OBS路径,如:"/your_obs_bucket/dest_path" req_uri="/", mapping_type=mapping_type, mapping_rule=mapping_rule, envs=envs) # (可选)设置环境变量的值,如:envs = {"model_name":"mxnet-model-1", "load_epoch":"0"} configs.append(transformer_config1)
  • 步骤1:准备数据 华为HiLens在公共OBS桶中提供了人脸检测技能的示例模型,命名为“face_detection_model”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-test1/face-detection”。 单击模型下载链接,将人脸检测案例示例模型“face_detection_model”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下: echo ec5160c48f5ba6025dac696d7ff8b827f1902f6aa712b6969609cb5f290d149a face_detection_model.zip | sha256sum -c 在本地,将“face_detection_model”压缩包解压。例如解压至本地“face_detection_model”文件夹下,包括两个子文件夹“caffemodel+transfer”和“logic_code”。 参考上传文件,将“caffemodel+transfer”文件夹下的3个文件上传至“hilens-test1/face-detection”OBS路径下,包含caffe模型文件“.caffemodel”和“.prototxt”和配置文件“.cfg”。
  • 准备工作 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。 登录OBS服务,创建桶和文件夹,用于存放样例的模型数据。创建名称为“hilens-test1”OBS桶,创建名称为“face-detection”文件夹和名称为“face-detection-output”的文件夹。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。 占用OBS资源的操作均会收取一定费用,收费规则请参见 对象存储服务 OBS。
  • 准备工作 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。 登录OBS服务,创建桶和文件夹,用于存放样例的训练数据。创建名称为“hilens-gesture”OBS桶,区域选择“华北-北京四”,创建如下文件夹: “gesture-data”:用于存放训练模型的数据。 “gesture-data-output”:用于存放模型输出数据。 “gesture-data-record”:用于存放日志。 “gesture-convert-output”:用于存放转换模型后的输出文件。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。 占用OBS资源的操作均会收取一定费用,收费规则请参见对象存储服务 OBS。
  • 步骤1:准备数据 华为HiLens在公共OBS桶中提供了手势识别技能的用于模型训练的示例数据,命名为“gesture_recognition_data”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-gesture/gesture-recognition”。 单击示例数据下载链接,将手势识别案例示例数据“gesture_recognition_data”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下: echo 244e86ec55fd54461b5f5eff53a7867f43f72f29778babd3fe89a20e860ca529 gesture_recognition_data.zip | sha256sum -c 在本地,将“gesture_recognition_data”压缩包解压。例如解压至本地“gesture_recognition_data”文件夹下,包括1个子文件夹“gesture-data”和1个“.py”文件。 参考上传文件,利用OBS Browser+工具将“gesture_recognition_data/gesture-data”文件夹下的所有数据上传至“hilens-gesture/gesture-data”OBS路径下,OBS Browser+使用方法请参见OBS Browser+工具指南。
  • 问题原因 认证身份失败,请检查用户名或密码是否错误。 注册HiLens Kit所使用的账号名必须是华为云账号,不是华为账号。 华为帐号和华为云帐号不同,如果您暂未 注册华为账号 ,建议您先注册华为账号并开通华为云,请参考注册华为帐号并开通华为云。 如果您使用的账号是华为账号,请使用此账号创建子账号,详情请见创建IAM用户,并给子账号添加admin权限。 注册HiLens Kit所使用的用户名、账号名、设备名仅支持英文字母、数字和下划线,不支持以数字开头的名称以及只有数字的名称。 注册设备时提示:“The account is locked”、“Password: Authenticating the account” 检查华为云账号和密码是否正确,如5次输入错误将导致账户被锁,15min后自动解锁。
  • 检查设备时间 使用SSH连接到端侧设备,查看当前设备时间是否正确。 具体操作如下: 网线连接电脑和设备,使用PuTTY软件SSH连接到端侧设备,详细操作指导请参见使用SSH注册设备。 在PuTTY里输入命令date,查看当前设备时间。 PuTTY上显示时间为协调世界时间(Coordinated Universal Time,缩写为UTC),与北京时间相差8小时。 在判断设备时间是否正确时,在UTC时间基础上加8小时,换算成北京时间后,判断是否与当前时间一致。 如果设备时间与当前时间一致,请重启设备。 具体操作如下: 网线连接电脑和设备,使用PuTTY软件SSH连接到HiLens Kit设备,详细操作指导请参见使用SSH注册设备。 在PuTTY里输入命令reboot,按回车即可重新启动设备。 如果设备时间与当前时间不一致,请修改设备时间。 具体操作如下: 网线连接电脑和设备,使用PuTTY软件SSH连接到HiLens Kit设备,详细操作指导请参见使用SSH注册设备。 在PuTTY里输入命令 timedatectl set-timezone Asia/Shanghai 按回车结束。 在PuTTY里输入命令 hwclock –w 按回车结束。 浏览器输入https://192.168.2.111(以设备IP是“192.168.2.111”为例),输入“用户名”和“密码”,登录华为HiLens智能边缘管理系统。详情请参见登录华为HiLens智能边缘系统。 单击上方“管理”,进入“管理”页面。 单击“时间”,在“时间”页签下选择“手动矫正时间”,单击重新配置时间。 单击上方“维护”,进入“维护”页面。 单击“系统重启”,在“系统重启”页签下单击“重启系统”,如图2所示,完成设备时间的修改。 图2 重启系统
  • 什么是区域、可用区 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 技能安装提示失败是什么原因? 可从如下几个方面进行排查。 检查华为云账号是否欠费,确保未欠费才能正常安装技能。 检查网络是否连通。命令行输入ping 8.8.8.8和ping 任意网站是否能ping通。 请检查OBS桶是否存储您所需要的技能。如果OBS桶中没有技能,请检查OBS桶是否存在权限设置,详情请见查看桶的信息。 可去掉桶的权限,或重新创建一个没有限制权限的OBS桶,重新安装技能。创建桶的操作请见创建桶。 检查时间是否同步,并修改错误时间。 SSH连接设备,并在SSH窗口命令行输入date,看时间是否同步,不同步则请修改: 调整时区,与中国时区一致,执行命令 timedatectl set-timezone Asia/Shanghai 修改设备时间,以当前时间为2019年10月17日19时19分19秒为例。执行命令 date -s “2019-10-17 19:19:19”(注意使用英文引号) hwclock –w reboot 父主题: 安装/启动技能
  • 使用SSH注册设备 使用SSH注册设备指通过SSH登录HiLens Kit系统,使用Linux命令注册设备。SSH登录设备系统支持操作HiLens Kit的系统文件等配置。 使用SSH注册设备流程如图2所示,详细操作指引请参见表2。 图2 SSH注册设备流程 表2 SSH注册设备流程说明 流程 说明 详细指导 连接PC和HiLens Kit 在注册HiLens Kit至控制台之前,您需要连接PC和HiLens Kit。 连接PC和HiLens Kit SSH登录HiLens Kit 使用SSH连接设备HiLens Kit,用Linux指令进行操作。 SSH登录HiLens Kit设备 组网配置 HiLens Kit有两种组网方式,分为无线和有线两种方式连接路由器,您可以选择其中一种方式进行组网配置。 不能同时使用无线网络和有线网络连接同一个路由器,无线连接会自动删除默认网关,再次使用有线网络时需要配置默认网关。推荐使用无线连接到路由器,以免更新设备IP后遗忘或丢失IP。 无线网络配置(SSH) 有线网络配置(SSH) 注册HiLens Kit 注册设备至控制台上,并在控制台上查看设备状态。 注册HiLens Kit
  • 解决方案 使用当前账号登录OBS管理控制台,确认当前账号是否能访问OBS。 是,请执行步骤2。 否,请执行步骤3。 如能访问OBS,单击右上方登录的用户,在下拉列表中选择“我的凭证”。请根据访问秘钥操作指导,确认当前AK/SK是否是当前账号创建的AK/SK。 是,请联系提交工单处理。 否,请根据“访问秘钥”操作指导更换为当前账号的AK/SK。 请确认当前账号是否欠费。 是,请给账号充值。操作指导请参见华为云帐户充值。 否,且提示资源已过保留期,需要提工单给OBS开通资源。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全