华为云用户手册

  • 使用建议 为BMS实例添加安全组规则时遵循最小授权原则。例如: 选择开放具体的端口,而不是端口范围,如80端口。 谨慎授权0.0.0.0/0(全网段)源地址。 不建议使用一个安全组管理所有应用,不同的分层一定有不同的隔离诉求。 不建议为每台BMS实例单独设置一个安全组,您可以将具有相同安全保护需求的实例加入同一个安全组。 建议您设置简洁的安全组规则。例如,如果您给一台BMS实例分配了多个安全组,该实例可能会同时遵循数百条安全组规则,任何一个规则变更都可能引起网络不通的故障。
  • 本地使用Linux操作系统 如果本地使用Linux操作系统的计算机,您可以按照以下方式登录Linux裸金属服务器。下面步骤以私钥文件是“KeyPair-ee55.pem”为例进行介绍。 在您的Linux计算机的命令行中执行如下命令,变更权限。 chmod 400 /path/KeyPair-ee55 上述命令的path为密钥文件的存放路径。 执行如下命令登录裸金属服务器。 ssh -i /path/KeyPair-ee55 root@裸金属服务器的弹性公网IP地址 path为密钥文件的存放路径。 root为裸金属服务器镜像的用户名。
  • 前提条件 裸金属服务器状态必须为“运行中”。 如果Windows裸金属服务器采用密钥方式鉴权,需要先获取裸金属服务器的密码,获取方式请参见获取Windows裸金属服务器的密码。 裸金属服务器已经绑定弹性公网IP,绑定方式请参见绑定弹性公网IP至服务器。 已配置安全组入方向的访问规则,配置方式请参见添加安全组规则。 使用的登录工具与待登录的裸金属服务器之间网络连通。例如,默认的3389端口没有被防火墙屏蔽。
  • 前提条件 裸金属服务器状态必须为“运行中”。 裸金属服务器已经绑定弹性公网IP,绑定方式请参见绑定弹性公网IP至服务器。 已配置安全组入方向的访问规则,配置方式请参见添加安全组规则。 使用的登录工具(如PuTTY)与待登录的裸金属服务器之间网络连通。例如,默认的22端口没有被防火墙屏蔽。 密钥登录方式创建的Linux裸金属服务器,如需使用用户名和密码方式登录,请先使用远程登录方式登录裸金属服务器,开启SSH密码登录权限,具体操作请参见如何设置SSH服务配置项。
  • 案例二:仅允许特定IP地址远程登录裸金属服务器 场景举例 为了防止裸金属服务器被网络攻击,用户可以修改远程登录端口号,并设置安全组规则只允许特定的IP地址远程登录到裸金属服务器。 安全组配置方法 以仅允许特定IP地址(例如,192.168.20.2)通过SSH协议访问Linux操作系统的裸金属服务器的22端口为例,安全组规则如下所示。 协议 方向 端口范围 源地址 SSH(22) 入方向 22 IPv4地址、IPv4 CIDR或者另一个安全组的ID。 例如:192.168.20.2
  • 案例一:不同安全组内的裸金属服务器内网互通 场景举例 在同一个VPC内,用户需要将某个安全组内一台裸金属服务器上的资源拷贝到另一个安全组内的裸金属服务器上时,可以将两台裸金属服务器设置为内网互通后再拷贝资源。 安全组配置方法 由于同一个VPC内,在同一个安全组内的裸金属服务器默认互通,无需配置。但是,在不同安全组内的裸金属服务器默认无法通信,此时需要添加安全组规则,使得不同安全组内的裸金属服务器内网互通。 在两台裸金属服务器所在安全组中分别添加一条入方向安全组规则,放通来自另一个安全组内的实例的访问,实现内网互通,安全组规则如下所示。 协议 方向 端口范围/ICMP协议类型 源地址 设置内网互通时使用的协议类型(支持TCP/UDP/ICMP/All) 入方向 设置端口范围或者ICMP协议类型 IPv4地址、IPv4 CIDR或者另一个安全组的ID
  • 约束与限制 卸载系统盘属于高危操作,卸载了系统盘,裸金属服务器会因为没有操作系统而无法启动,请谨慎执行。 对于Windows裸金属服务器,在线卸载数据盘前,请确保没有程序正在对该磁盘进行读写操作。否则,将造成数据丢失。 对于Linux裸金属服务器,在线卸载数据盘前,客户需要先登录裸金属服务器,执行umount命令,取消待卸载磁盘与文件系统之间的关联,并确保没有程序正在对该磁盘进行读写操作。否则,卸载磁盘将失败。
  • 功能说明 本节内容介绍裸金属服务器支持上报云监控的操作系统监控指标。以下区域主机监控Agent采用最新版本的Agent,监控指标更为简洁。 当前支持的区域: “华东-上海一”、“华东-上海二”、“华北-北京一”、“华北-北京四”、“华南-广州”、“华南-深圳”、“西南-贵阳一”、“中国-香港”、“亚太-曼谷”、“亚太-新加坡”、“非洲-约翰内斯堡”。 安装Agent后,您便可以查看裸金属服务器的操作系统监控指标。指标采集周期是1分钟。
  • 监控指标 裸金属服务器(操作系统监控)支持的监控指标如表1所示。 表1 监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) cpu_usage (Agent)CPU使用率 该指标用于统计测量对象当前CPU使用率。 通过计算采集周期内“/proc/stat”中的变化得出用户空间CPU使用率。 用户可以通过top命令查看“%Cpu(s)”值。 单位:百分比 0-100% 裸金属服务器 1分钟 load_average5 (Agent)5分钟平均负载 该指标用于统计测量对象在过去5分钟的CPU平均负载。 通过“/proc/loadavg”文件中load5/逻辑CPU个数得到。 用户可以通过top命令查看“load5”值。 ≥ 0 裸金属服务器 1分钟 mem_usedPercent (Agent)内存使用率 该指标用于统计测量对象的内存使用率。 通过“/proc/meminfo”文件获取。计算公式:(MemTotal-MemAvailable)/MemTotal。 单位:百分比 0-100% 裸金属服务器 1分钟 mountPointPrefix_disk_free (Agent)磁盘剩余存储量 该指标用于统计测量对象磁盘的剩余存储空间。 执行df -h命令,查看Avail列数据。 挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 单位:GB ≥ 0 GB 裸金属服务器 1分钟 mountPointPrefix_disk_usedPercent (Agent)磁盘使用率 该指标用于统计测量对象磁盘使用率,以百分比为单位。计算方式为:磁盘已用存储量/磁盘存储总量。 通过计算Used/Size得出。 挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 单位:百分比 0-100% 裸金属服务器 1分钟 mountPointPrefix_disk_ioUtils 和volumePrefix_disk_ioUtils (Agent)磁盘I/O使用率 该指标用于统计测量对象磁盘I/O使用率。 通过计算采集周期内/proc/diskstats中对应设备第十三列数据的变化得出磁盘I/O使用率。 挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 单位:百分比 0-100% 裸金属服务器 1分钟 mountPointPrefix_disk_inodesUsedPercent (Agent)inode已使用占比 该指标用于统计测量对象当前磁盘已使用的inode占比。 执行df -i命令,查看IUse%列数据。 挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 单位:百分比 0-100% 裸金属服务器 1分钟 net_bitRecv (Agent)入网带宽 该指标用于统计测量对象网卡每秒接收的比特数。 通过计算采集周期内“/proc/net/dev”文件中的变化得出。 单位:bit/s ≥ 0 bit/s 裸金属服务器 1分钟 net_bitSent (Agent)出网带宽 该指标用于统计测量对象网卡每秒发送的比特数。 通过计算采集周期内“/proc/net/dev”文件中的变化得出。 单位:bit/s ≥ 0 bit/s 裸金属服务器 1分钟 net_packetRecv (Agent)网卡包接收速率 该指标用于统计测量对象网卡每秒接收的数据包数。 通过计算采集周期内“/proc/net/dev”文件中的变化得出。 单位:Counts/s ≥ 0 Counts/s 裸金属服务器 1分钟 net_packetSent (Agent)网卡包发送速率 该指标用于统计测量对象网卡每秒发送的数据包数。 通过计算采集周期内“/proc/net/dev”文件中的变化得出。 单位:Counts/s ≥ 0 Counts/s 裸金属服务器 1分钟 net_tcp_total (Agent)所有状态的TCP连接数总和 该指标用于统计测量对象网卡所有状态的TCP连接数总和。 ≥0 裸金属服务器 1分钟 net_tcp_established (Agent)处于ESTABLISHED状态的TCP连接数量 该指标用于统计测量对象网卡处于ESTABLISHED状态的TCP连接数量。 ≥0 裸金属服务器 1分钟
  • 支持的服务版本 移动应用安全扫描仅支持基础版和专业版,详细内容请参见表1。 表1 版本说明 服务版本 支持的计费方式 说明 基础版 免费 基础版主要为用户提供体验机会,仅支持安全漏洞扫描。基础版同样提供在线报告查看功能,查看内容仅限安全漏洞项,不包括隐私合规项。每个用户默认拥有5次基础版额度,扫描失败不扣费。 专业版 包年/包月 按需计费 专业版为付费版本,提供全量功能,包含安全漏洞、隐私合规检测。隐私合规紧跟工信部164号发文,针对违规收集个人信息、超范围收集个人信息、频繁索权、过度索权等通报问题进行检测。用户可在线查看扫描报告,并导出PDF格式离线报告。 父主题: 移动应用安全
  • 相关术语说明 开源(open source) 即开放一类技术或一种产品的源代码,源数据,源资产,可以是各行业的技术或产品,其范畴涵盖文化、产业、法律、技术等多个社会维度。 开源软件(open source software) 允许用户直接访问源代码,通过开源许可协议将其复制、修改、再发布的权利向公众开放的计算机软件。 开源组件(open source component) 是开源软件系统中最小可识别且本身不再包含另外组件的、组件信息可在公共网站获取且可独立分发、开发过程中带有版本号并且可组装的软件实体。 开源许可证(open source license) 开源软件的版权持有人授予用户可以学习、修改开源软件,并向任何人或为任何目的分发开源软件的权利。 软件成分分析(Software Composition Analysis) 通过分析软件包含的一些信息和特征来实现对该软件的识别、管理、追踪的技术。 PE(Portable Executable) 是Windows系统下的可执行文件的标准格式。 ELF(Executable and Linkable Format) 是一种Unix或Linux系统下的可执行文件,目标文件,共享链接库和内核转储(core dumps)的标准文件格式。 APK(Android application package) 是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。 HAP(HarmonyOS application package) 是鸿蒙操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。 CVE(Common Vulnerabilities and Exposures) 又称通用漏洞披露、常见漏洞与披露,是一个与信息安全有关的数据库,收集各种信息安全弱点及漏洞并给予编号以便于公众查阅。 CVSS(Common Vulnerability Scoring System) 通用漏洞评分系统,是一个行业公开标准,其被设计用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度,有CVSS 2.0、3.0、3.1标准。 固件(firmware) 是一种嵌入在硬件设备中的软件。 NVD National Vulnerability Database国家安全漏洞库。 CNVD China National Vulnerability Database国家信息安全漏洞共享平台。 CNNVD China National Vulnerability Database of Information Security国家信息安全漏洞库。 组件依赖 保证组件正确运行所依赖的必须加载的其他组件。 父主题: 二进制成分分析
  • 操作指引 漏洞扫描服务使用概览如表1所示。 表1 漏洞扫描服务使用流程概览 子流程 说明 购买漏洞扫描服务 漏洞扫描服务提供了基础版、专业版、高级版和企业版四种服务版本。其中,基础版配额内的服务免费,部分功能按需计费;专业版、高级版和企业版需要收费。 具体操作请参见购买漏洞扫描服务。 域名认证 具体操作请参见域名认证。 创建扫描任务 创建扫描任务即可对网站进行扫描,具体操作请参见创建扫描任务。 开启主机扫描 开启主机扫描即可对主机进行扫描,具体操作请参见开启主机扫描。 新增监测任务 新增监测任务即可对资产进行监测,具体操作请参见新增监测任务。 查看扫描结果 扫描完成后可以通过“任务详情”页面查看扫描结果。 网站扫描结果,请参见查看网站扫描详情。 主机扫描结果,请参见查看主机扫描详情。
  • 根本原因 Istio Gateway和DestinationRule可以通过credentialName配置从Kubernetes Secret中加载私钥和证书。对于Istio1.8及更高版本,Secret通过XDS API从Istiod传送到网关或工作负载。 网关或工作负载部署应该只能访问存储在其命名空间内的Kubernetes Secret中的凭证(TLS证书和私钥)。但是,Istiod中的一个错误允许授权客户端访问和检索缓存在Istiod中的任何TLS证书和私钥。
  • 什么是Huawei Cloud Toolkit 华为云开发者插件(Huawei Cloud Toolkit),作为华为云围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为云,打通华为云到开发者的最后一公里。Huawei Cloud ToolKit是围绕华为云开发者生态工具体系打造的一系列IDE插件,支持VS Code、IntelliJ IDEA等系列平台、以及华为云自研 CodeArts IDE ,帮助开发者更高效、便捷的搭建应用。致力于为开发者提供更稳定、快速、安全的编程体验。
  • 隐私声明 Huawei Cloud Toolkit在为您提供日常开发所需的功能的同时,会涉及使用您的云服务资源,需要您通过您的访问密钥ID(AK)和秘密访问密钥(SK)登录。同时若使用部署插件还会涉及到主机的部分信息,包括但不局限于以下数据: 机器(Host)ip地址和端口号。 机器(Host)的SSH登录用户名和密码。 SSH私钥。 华为云的访问密钥ID(AK)和秘密访问密钥(SK)。 部分插件仅支持华为云中国站配套的云服务,国际站或中国站用户如果购买了配套的中国站云服务,在经过了您的允许后,数据将储存在中国大陆。 具体隐私声明细节,详见《隐私政策声明》
  • 插件能力分布 Huawei Cloud Toolkit的系列插件的能力分布如下表。 表1 插件名称 功能特性 插件地址 Huawei Cloud API 华为云API插件提供华为云服务全量API检索、调试、SDK代码自动补全、集成华为云CLI、示例代码等功能 IntelliJ VS Code CodeArts IDE Huawei Cloud DevSpore 华为云DevSpore插件支撑开发者在IDE上快速完成企业级微服务工程搭建 IntelliJ Huawei Cloud FunctionGraph 华为云FunctionGraph插件是Serverless产品的IDE插件,提供函数本地调试、运行、云端部署等功能 VS Code CodeArts IDE Huawei Cloud CodeArts Check 华为云代码检查插件提供业界规范(含华为云)检查,支持一键格式化和代码自动修复,当前支持Java、C++、C IntelliJ VS Code CodeArts IDE Huawei Cloud CodeArts Snap 华为云 CodeArt Snap 智能编程助手致力于打造现代化开发新范式,通过将自然语言转化为规范可阅读、无开源漏洞的编程语言,提升开发者编码效率,助力企业快速响应市场不确定性 IntelliJ VS Code Huawei Cloud Toolkit Platform 华为云底座插件为华为云各类云服务插件提供公共能力,比如单点登录、UI集成、API访问等功能 IntelliJ VS Code Huawei Cloud ModelBox DevKit 华为云ModelBox插件帮助开发者更高效、便捷地注册ModelBox框架支持的设备及搭建ModelBox开发环境 VS Code Huawei Cloud Deploy 华为云部署插件旨在帮助开发者更高效、更方便地构建应用程序,支持将应用一键部署到ECS、CCI等 IntelliJ Huawei Cloud Developer Technical Support 华为云开发者技术支持插件支持开发者管理问题单、提供诸如搜索、提交问题单等功能 CodeArts IDE Huawei Cloud DeveloperKit 华为云开放能力中心插件关联华为云各云服务开发指南、视频课程、沙箱、API、SDK 和示例代码,帮助开发者更快地了解华为云、学习华为云、集成华为云 CodeArts IDE
  • 作业状态参考 作业状态如表1所示。 表1 作业状态 状态值 说明 0 JOBSTAT_UNKNOWN,作业状态未知。 1 JOBSTAT_INIT,作业初始化状态。 2 JOBSTAT_IMAGE_CREATING,作业镜像正在创建。 3 JOBSTAT_IMAGE_FAILED,作业镜像创建失败。 4 JOBSTAT_SUBMIT_TRYING,作业正在提交。 5 JOBSTAT_SUBMIT_FAILED,作业提交失败。 6 JOBSTAT_DELETE_FAILED,作业删除失败。 7 JOBSTAT_WAITING,作业正在排队中。 8 JOBSTAT_RUNNING,作业正在运行中。 9 JOBSTAT_KILLING,作业正在取消。 10 JOBSTAT_COMPLETED,作业已经完成。 11 JOBSTAT_FAILED,作业运行失败。 12 JOBSTAT_KILLED,作业取消成功。 13 JOBSTAT_CANCELED,作业取消。 14 JOBSTAT_LOST,作业丢失。 15 JOBSTAT_SCALING,作业正在扩容。 16 JOBSTAT_SUBMIT_MODEL_FAILED,提交模型失败。 17 JOBSTAT_DEPLOY_SERVICE_FAILED,部署服务失败。 18 JOBSTAT_CHECK_INIT,审核作业初始化。 19 JOBSTAT_CHECK_RUNNING,审核作业正在运行中。 20 JOBSTAT_CHECK_RUNNING_COMPLETED,审核作业已经完成。 21 JOBSTAT_CHECK_FAILED,审核作业失败。 22 MOUNT_FAILED,挂载失败。 父主题: 训练管理(旧版)
  • 查看项目ID 在调用接口的时候,部分URL中需要填入项目编号,所以需要获取到项目编号。项目编号获取步骤如下: 注册并登录管理ModelArts控制台。 在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 如果您登录的是华为云官网,而非管理控制台。在单击用户名后,选择下拉列表中的“帐号中心”,然后单击“管理我的凭证”进入“我的凭证”页面。 在“API凭证”页面的项目列表中查看项目ID和名称(即“项目”)。 图1 查看项目ID 多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。 父主题: 准备工作
  • 示例代码 12 from modelarts.session import Sessionsession = Session(access_key='***',secret_key='***', project_id='***', region_name='***') 其中,各参数说明如下: “access_key”和“secret_key”获取方式请参见获取访问密钥。 “project_id”即项目ID。获取方式请参见查看项目ID。 “region_name”即区域ID。获取方式请参见获取区域ID。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()info = Estimator.get_framework_list(session=session)print(info)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()info = Estimator.get_train_instance_types(session=session)print(info)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id查询。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="your job id")info = estimator.get_job_metrics()print(info) 方式二:根据创建训练作业生成的训练作业对象查询。 info = job_instance.get_job_metrics(task_id="worker-0")print(info)
  • 参数说明 表1 Estimator请求参数说明 参数 是否必选 类型 描述 session 是 Object 会话对象,初始化方法请参考Session鉴权。 training_files 否 TrainingFiles Object 训练脚本在OBS中的路径,具体请参考TrainingFiles初始化。 outputs 否 Array of OutputData objects 训练的输出位置信息,具体请参考OutputData初始化。 parameters 否 JSON Array 训练任务的运行参数。格式为 [{"name":"your name", "value": "your value"}],value的值可以是string,也可以是int。 train_instance_type 是 String 训练作业选择的资源规格,请参考查询资源规格列表 train_instance_count 是 int 训练作业计算节点个数。 framework_type 否 String 训练作业选择的引擎规格,请参考查询引擎规格列表。 framework_version 否 String 训练作业选择的引擎版本,请参考查询引擎规格列表。 user_image_url 否 String 自定义镜像训练作业的自定义镜像的SWR-URL。 user_command 否 String 自定义镜像训练作业的启动命令。 log_url 否 String 训练作业日志的保存位置,是一个OBS路径,如"obs://xx/yy/zz/"。 local_code_dir 否 String 算法的代码目录下载到训练容器内的本地路径。规则: 必须为/home下的目录。 v1兼容模式下,当前字段不生效。 当code_dir以file://为前缀时,当前字段不生效。 working_dir 否 String 运行算法时所在的工作目录。规则:v1兼容模式下,当前字段不生效。 job_description 否 String 训练作业的描述。 volumes 否 JSON Array 训练作业挂载卷信息,格式参考: [{ "nfs": { "local_path": "/xx/yy/zz", "read_only": False, "nfs_server_path": "xxx.xxx.xxx.xxx:/" } }] env_variables 否 Dict 训练作业的环境变量。 pool_id 否 String 训练作业选择的资源池ID。可在ModelArts管理控制台,单击左侧“专属资源池”,在专属资源池列表中查看资源池ID。 表2 TrainingFiles初始化参数说明 参数 是否必选 类型 描述 code_dir 是 String 训练作业的代码目录,是一个OBS路径,需要以"obs:/"开头,如"obs://xx/yy/"。 boot_file 是 String 训练作业的代码启动文件,需要在代码目录下,可填写相对路径,如"boot_file.py",也可填写绝对路径,如"obs://xx/yy/boot_file.py"。 表3 OutputData初始化参数说明 参数 是否必选 类型 描述 obs_path 是 String 数据实际输出到OBS的路径。 name 是 String 输出数据的关键字参数名称,如"output_dir"。 表4 fit请求参数说明 参数 是否必选 类型 描述 inputs 否 Array of InputData Object 保存在OBS中的训练作业输入数据。inputs和(dataset_id, dataset_version_id)两者不可同时出现。 wait 否 Boolean 是否等待训练作业结束,默认为False。 job_name 否 String 训练作业名称。 show_log 否 Boolean 作业提交成功后,是否输出训练作业的日志,默认为False。 dataset_id 否 String 训练作业的数据集ID,可参考数据管理获取。需要与dataset_version_id同时出现,但是不可与inputs同时出现。 dataset_version_id 否 String 训练作业的数据集版本ID,可参考数据管理获取。需要与dataset_id同时出现,但是不可与inputs同时出现。 表5 InputData初始化参数说明 参数 是否必选 类型 描述 obs_path 是 String 训练作业需要的数据集OBS路径,如"obs://xx/yy/"。 name 是 String 输入数据的关键字参数名称,如"data_url"。 表6 训练作业创建成功响应说明 参数 类型 描述 TrainingJob Object 训练对象,该对象包含job_id等属性,对训练作业的查询、更新、删除等操作时,可通过job_instance.job_id获取训练作业ID。 表7 调用训练接口失败响应参数 参数 类型 描述 error_msg String 调用失败时的错误信息,调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码,调用成功时无此字段。 error_solution String 调用失败时的提示解决信息,调用成功时无此字段。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 ModelArts SDK不支持通过在AI Gallery中订阅的算法创建训练作业。 示例一:提交常用框架训练作业 Estimator中同时指定framework_type和framework_version,会提交一个常用框架训练作业。 from modelarts.session import Sessionfrom modelarts.train_params import TrainingFilesfrom modelarts.train_params import OutputDatafrom modelarts.train_params import InputDatafrom modelarts.estimatorV2 import Estimatorsession = Session()#训练脚本里接收的参数,请根据实际情况填写parameters = [{"name": "mod", "value":"gpu"}, {"name": "epoc_num", "value":2}]estimator = Estimator(session=session, training_files=TrainingFiles(code_dir= "obs://bucket_name/code_dir/", boot_file="boot_file.py"), outputs=[OutputData(obs_path="obs://bucket_name/output/", name="output_dir")], parameters=parameters, framework_type='PyTorch', # 常用框架类型 framework_version='PyTorch-1.4.0-python3.6', # 常用框架版本 train_instance_type="modelarts.p3.large.public", train_instance_count=1, log_url="obs://bucket_name/log/", env_variables={"USER_ENV_VAR": "customize environment variable"}, working_dir="/home/ma-user/modelarts/user-job-dir", local_code_dir="/home/ma-user/modelarts/user-job-dir", job_description='This is a image net train job')job_instance = estimator.fit(inputs=[InputData(obs_path="obs://bucket_name/input/", name="data_url")], job_name="job_name_1") 示例二:提交自定义镜像训练作业 Estimator中同时指定user_image_url和user_command,会提交自定义镜像训练作业,并使用自定义启动命令来启动训练任务。 from modelarts.session import Sessionfrom modelarts.train_params import TrainingFilesfrom modelarts.train_params import OutputDatafrom modelarts.train_params import InputDatafrom modelarts.estimatorV2 import Estimatorsession = Session()#训练脚本里接收的参数,请根据实际情况填写parameters = [{"name": "mod", "value":"gpu"}, {"name": "epoc_num", "value":2}]estimator = Estimator(session=session, training_files=TrainingFiles(code_dir= "obs://bucket_name/code_dir/", boot_file="boot_file.py"), outputs=[OutputData(obs_path="obs://bucket_name/output/", name="output_dir")], parameters=parameters, user_image_url="sdk-test/pytorch1_4:1.0.1", # 自定义镜像地址 user_command="/home/ma-user/anaconda3/envs/PyTorch-1.4/bin/python /home/ma-user/modelarts/user-job-dir/train/test-pytorch.py", # 自定义启动命令 train_instance_type="modelarts.p3.large.public", train_instance_count=1, log_url="obs://bucket_name/log/", env_variables={"USER_ENV_VAR": "customize environment variable"}, working_dir="/home/ma-user/modelarts/user-job-dir", local_code_dir="/home/ma-user/modelarts/user-job-dir", job_description='This is a image net train job')job_instance = estimator.fit(inputs=[InputData(obs_path="obs://bucket_name/input/", name="data_url")], job_name="job_name_2") 示例三:向专属资源池提交训练作业 from modelarts.session import Sessionfrom modelarts.train_params import TrainingFilesfrom modelarts.train_params import OutputDatafrom modelarts.train_params import InputDatafrom modelarts.estimatorV2 import Estimatorsession = Session()#训练脚本里接收的参数,请根据实际情况填写parameters = [{"name": "mod", "value":"gpu"}, {"name": "epoc_num", "value":2}]estimator = Estimator(session=session, training_files=TrainingFiles(code_dir= "obs://bucket_name/code_dir/", boot_file="boot_file.py"), outputs=[OutputData(obs_path="obs://bucket_name/output/", name="output_dir")], parameters=parameters, framework_type='PyTorch', framework_version='PyTorch-1.4.0-python3.6', pool_id="your pool id", # 专属资源池id train_instance_type="modelarts.pool.visual.xlarge", # 专属池的虚拟子规格 train_instance_count=1, log_url="obs://bucket_name/log/", env_variables={"USER_ENV_VAR": "customize environment variable"}, working_dir="/home/ma-user/modelarts/user-job-dir", local_code_dir="/home/ma-user/modelarts/user-job-dir", job_description='This is a image net train job')job_instance = estimator.fit(inputs=[InputData(obs_path="obs://bucket_name/input/", name="data_url")], job_name="job_name_3") 示例四:使用数据集创建训练作业 from modelarts.session import Sessionfrom modelarts.train_params import TrainingFilesfrom modelarts.train_params import OutputDatafrom modelarts.train_params import InputDatafrom modelarts.estimatorV2 import Estimatorsession = Session()#训练脚本里接收的参数,请根据实际情况填写parameters = [{"name": "model_name", "value":"s"}, {"name": "batch-size", "value": 32}, {"name": "epochs", "value":100}, {"name": "img-size", "value":"640,640"} ]estimator = Estimator(session=session, training_files=TrainingFiles(code_dir= "obs://bucket_name/code_dir/", boot_file="boot_file.py"), outputs=[OutputData(obs_path="obs://bucket_name/output/", name="output_dir")], parameters=parameters, framework_type='PyTorch', # 常用框架类型 framework_version='PyTorch-1.4.0-python3.6', # 常用框架版本 train_instance_type="modelarts.p3.large.public", train_instance_count=1, log_url="obs://bucket_name/log/", working_dir="/home/ma-user/modelarts/user-job-dir", local_code_dir="/home/ma-user/modelarts/user-job-dir", job_description='This is a image net train job')job_instance = estimator.fit(dataset_id="your dataset id", dataset_version_id="your dataset version id", job_name="job_name_5")
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id查询。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="your job id")info = estimator.get_job_log()print(info) 方式二:根据创建训练作业生成的训练作业对象查询。 log = job_instance.get_job_log(task_id="worker-0")print(log)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id删除。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()Estimator.delete_job_by_id(session=session, job_id="your job id") 方式二:根据创建训练作业生成的训练作业对象删除。 job_instance.delete_job()
  • 参数说明 表1 delete_job_by_id请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法请参考Session鉴权。 job_id 是 String 训练作业的id,可通过创建训练作业生成的训练作业对象查询,如"job_instance.job_id",或从查询训练作业列表的响应中获得。 无成功响应参数。 表2 调用训练接口失败响应参数 参数 类型 描述 error_msg String 调用失败时的错误信息,调用成功时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码,调用成功时无此字段。 error_solution String 调用失败时的提示解决信息,调用成功时无此字段。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式一:根据指定的job_id更新。 from modelarts.session import Sessionfrom modelarts.estimatorV2 import Estimatorsession = Session()estimator = Estimator(session=session, job_id="your job id")estimator.update_job_configs(description="update job description") 方式二:根据创建训练作业生成的训练作业对象更新。 job_instance.update_job_configs(description="update job description fourth")
  • 参数说明 表1 Estimator请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法请参考Session鉴权。 job_id 是 String 训练作业的id,可通过创建训练作业生成的训练作业对象查询,如"job_instance.job_id",或从查询训练作业列表的响应中获得。 表2 update_job_configs请求参数说明 参数 是否必选 参数类型 描述 description 是 String 需要更改的训练作业的描述信息。 无成功响应参数
  • 示例代码 指定xml路径,通过调用parse_xml来解析获取xml文件的信息。 from modelarts.dataset.format.voc.pascal_voc import PascalVocfrom modelarts.session import Sessionpath = "obs://your-obs-bucket/voc/test.xml"session = Session()pascal_voc = PascalVoc.parse_xml(path, session=session)print(pascal_voc) # 打印解析结果
共100000条