云服务器内容精选
-
使用场景 场景挑战 设备采集的数据信息量庞大但只需部分有效数据。部署在节点下的设备需要在本地判断情况以及时进行控制。 设备使用的协议不能接入边缘计算。 节点下的IT子系统众多,接入时不便于管理,配置繁琐。子系统采集的数据需要传输到用户的北向应用。 解决方案 通过开发集成ModuleSDK的应用,您可以: 使用ModuleSDK提供的AppClient开发OT应用对需要上传到云端的信息进行过滤上传。OT应用可以在本地对设备进行命令的下发。 使用ModuleSDK提供的DriverClient开发驱动应用进行协议转换。 使用ModuleSDK提供的ItClient开发IT应用实现子系统与云端配置的自动同步,也可以实现云端对子系统的配置管理。云端可以通过IT应用实现对子系统数据的采集。
-
简介 为解决用户自定义处理设备数据以及自定义协议设备快速接入IOT平台的诉求,华为IoT边缘提供ModuleSDK,用户可通过集成SDK让设备以及设备数据快速上云。IoT边缘平台应用功能有自定义处理设备数据(即数据处理),自定义协议设备快速接入(即协议解析),IT子系统接入(即IT应用),并且支持容器化部署和安装包部署的方式。 集成ModuleSDK开发的应用被称为插件应用,其最终将被通过云部署到边缘节点。 集成ModuleSDK的应用分为: OT应用:数据处理类型的应用,实现了总线回调接口,IoT边缘云服务为OT应用提供总线对接能力、设备反向控制(命令)能力。 驱动应用:协议转换类型的应用,可将使用自定义协议的设备接入边缘计算。 IT应用:实现工业子系统接入的应用,实现了对子系统配置同步、反向调用接口、以及数据采集能力。 集成了SDK的应用称为插件,华为云市场提供了插件上架功能。您可以将你开发的集成了SDK的应用上传到华为云市场来获取收益,也可以在华为云市场下载使用第三方插件。
-
创建多个接入配置的操作步骤 在接入规则页签,支持创建批量接入的任务。 支持批量创建接入,单击“批量接入”,进入配置详情页面,请参考表4。 结构化解析配置功能仅支持白名单用户使用,详细操作请参考ICAgent采集配置。有需要可提交工单申请使用,请参考提交工单。 表4 批量接入设置 类型 操作 说明 基本配置 接入类型 选择云主机 ECS-文本日志。 接入配置数量 在输入框填写接入配置数量,单击“添加接入配置”。 在接入配置下方默认已有1个接入配置,最多支持再添加99个数量,因此支持同时添加100个接入配置。 接入配置 接入列表 左侧显示接入配置的信息,最多支持添加99个配置。 右侧显示配置接入的内容,详细请参考创建单个接入配置的操作步骤进行设置。 一个接入配置设置完成后,单击“应用于其他接入规则”即可将该接入配置复制到其他接入配置。 单击参数检查,检查成功后,单击“提交”,批量接入设置完成。 例如添加了4个接入配置,批量创建成功后,在接入规则页签下方,就会显示4条接入配置数量。 (可选)支持对接入配置任务进行以下操作: 勾选多个已创建成功的接入配置,单击“批量编辑”进入配置详情页面,通过选择不同接入类型,修改对应的接入配置信息。 勾选多个已创建成功的接入配置,单击开启或关闭按钮。接入配置状态关闭后不会继续采集日志。 勾选多个已创建成功的接入配置,单击删除按钮即可批量删除接入配置。
-
采集配置 在使用主机接入完成日志接入时,采集配置的具体配置如下: 采集配置名称:自定义采集配置名称,长度范围为1到64个字符,只支持输入英文、数字、中文、中划线、下划线以及小数点,且不能以小数点、下划线开头或以小数点结尾。 导入旧版配置:将旧版主机接入配置导入到新版日志接入中。具体操作请参见如何升级使用新版日志接入。 若是新安装云日志服务的场景,页面没有显示“导入旧版配置”,则表示不需要导入旧版配置,直接新建配置即可。 若是升级云日志服务的场景,页面显示“导入旧版配置”,若需要旧版配置里的主机日志路径,可以选择导入旧版配置,或者直接新建配置。 路径配置:添加您需要收集的日志路径,LTS将按照配置的路径进行日志采集。 采集路径支持递归路径,**表示递归5层目录。 示例:采集路径配置为 /var/logs/**/a.log,日志匹配如下: /var/logs/1/a.log /var/logs/1/2/a.log /var/logs/1/2/3/a.log /var/logs/1/2/3/4/a.log /var/logs/1/2/3/4/5/a.log 以上示例中的/1/2/3/4/5/,表示/var/logs目录中,往里递归的5个目录层级,在这5个目录层级中只要存在a.log,都能进行日志匹配。 采集路径中只能出现一次**,不能出现两个及以上。正确示例:/var/logs/**/a.log;错误示例:/opt/test/**/log/**。 采集路径中第一个层级不允许为**(避免误采集系统文件),错误示例:/**/test。 采集路径支持模糊匹配,匹配目录或文件名中的任何字符。 如果配置了C:\windows\system32类似的日志采集路径,但无法采集日志,请尝试打开WAF物理防火墙后重新配置。 示例1:采集路径配置为 /var/logs/*/a.log,表示/var/logs/目录下,任何一个目录中存在a.log,都能进行日志匹配,例如: /var/logs/1/a.log /var/logs/2/a.log 示例2:采集路径配置为 /var/logs/service-*/a.log,日志匹配示例: /var/logs/service-1/a.log /var/logs/service-2/a.log 示例3:采集路径配置为 /var/logs/service/a*.log,日志匹配示例: /var/logs/service/a1.log /var/logs/service/a2.log 采集路径如果配置的是目录,示例:/var/logs/,则只采集目录下后缀为“.log”、“.trace”和“.out”的文件。 如果配置的是文件名,则直接采集对应文件,只支持内容是文本格式的文件。可以通过file -i 文件名命令,查询文件格式。 添加自定义绕接规则,ICAgent目前是通过文件名规则来判断是否为绕接文件,如果您的绕接规则不符合内置类型时,可以通过单击“添加自定义绕接规则”来进行匹配,避免重复采集和绕接时的日志丢失。 内置类型为{basename}{连接符}{绕接标识}.后缀,{basename}.{后缀}{连接符}{绕接标识}。其中连接符为-._绕接标识为非字母符号,后缀为字母。 自定义绕接规则为{basename}+绕接文件的特征正则表达式组成匹配规则。例如您的日志文件名称为/opt/test.out.log,绕接后的文件名为test.2024-01-01.0.out.log,test.2024-01-01.1.out.log,因此在路径配置时,采集路径为/opt/*.log,绕接规则为{basename}\.[-0-9\.].out.log 请注意您的敏感信息是否在收集范围内。 当主机选择“Windows主机”时,如需采集系统日志,需要在“采集配置”环节,开启“采集Windows事件日志”。 windows事件日志采集不能重复配置,即相同主机下,即使跨日志组和日志流,也只能配置一次。 LTS暂不支持采集PostgreSQL(数据库)实例的日志,目前只支持采集安装在ECS(主机)实例的日志。 日志采集路径不能重复配置,即相同主机的同一个日志采集路径不能重复配置,否则可能会导致日志采集异常。 相同主机的同一个日志采集路径,如果在AOM进行了配置,则不能在LTS重复配置。 配置采集的文件最后修改时间和当前时间差如果已超过12小时,则不会采集。 设置采集黑名单:LTS支持对日志进行过滤采集,即通过设置黑名单,在采集时过滤指定的目录或文件。指定按目录过滤,可过滤掉该目录下的所有文件,但是不能过滤该目录下文件夹里的日志文件。 目录和文件名支持完全匹配,也支持模糊匹配,具体可参考路径配置内容进行设置。 当设置的黑名单与配置的采集路径重复或者有重合时,优先过滤掉黑名单设置的文件。 已经加了黑名单的日志,新建日志接入也无法采集黑名单里的日志,除非在设置采集黑名单下方删除采集路径,才能重新采集。 采集Windows事件日志:当选择Windows主机采集日志时,需要开启“采集Windows事件日志”,配置如下参数: 表1 采集Windows事件日志参数 名称 说明 日志类型 日志类型有系统、应用程序、安全和启动。 首次采集时间偏移量 如设置为7天,表示从采集开始时间前7天内的日志(7天前的日志被忽略),该时间仅在首次配置采集生效,确保不会重复采集。最大支持设置为7天。 事件等级 事件等级有information、warning、error、critical和verbose。根据Windows事件等级过滤采集。仅支持Windows Vista及以上的操作系统。 开启结构化解析配置,详细操作请参考ICAgent采集配置。 需要ICAgent 5.12.147及以上版本,其优点是成本更低,支持组合解析,一个日志流的每个采集配置可以配置不同的结构化解析规则。 结构化解析配置功能仅支持白名单用户提交工单申请使用。详细操作请参考提交工单。 开通白名单后,若已经配置了云端结构化解析,请先删除后再配置ICAgent结构化解析。 图2 ICAgent结构化解析配置 其他配置。 表2 其他配置 名称 说明 最大目录深度 最大目录深度为5层。 该配置控制日志采集的最大目录深度,ICAgent不会采集所在目录层级超过指定最大目录深度的日志文件。当你目标采集路径包含模糊匹配时,建议配置合适的最大目录深度,避免ICAgent性能浪费。 日志拆分 云日志服务支持对日志进行拆分。 当日志大小超过500KB时,开启日志拆分按钮,则单行日志会被拆分为多行采集。例如:日志大小为600KB,被拆分为2行日志采集,第一行500KB,第二行100KB。 当日志大小超过500KB时,未开启日志拆分按钮,则单条日志大小限制不超过500KB,超过限制部分会被截断丢弃。 采集二进制文件 云日志服务支持采集二进制文件。 您可以通过命令(file -i 文件名)查看文件类型,如果包含charset=binary,那么该日志文件就是二进制文件。 当日志的文件类型为二进制时,开启采集二进制文件按钮,则对接入的二进制文件日志进行采集,但仅支持UTF8编码的字符串,非UFT8编码的字符在LTS控制台页面会显示乱码。 当日志的文件类型为二进制时,未开启采集二进制文件按钮,则对接入的二进制文件日志停止采集,开启后即可进行采集。 日志文件编码 日志文件编码为UTF-8。 采集策略 采集策略支持增量或全量。 增量采集:ICAgent采集新文件时,从文件的末尾开始读。 全量采集:ICAgent采集新文件时,从文件的开头开始读。 日志格式、日志时间具体说明如下: 表3 日志采集信息 名称 说明 日志格式 单行日志:采集的日志文件中,如果您希望每一行日志在LTS界面中都显示为一条单独的日志数据,则选择单行日志。 多行日志:采集的日志中包含像java异常的日志,如果您希望多行异常的日志显示为一条日志,正常的日志则每一行都显示为一条单独的日志数据,则选择多行日志,方便您查看日志并且定位问题。 日志时间 系统时间:表示系统当前时间,默认为日志采集时间,每条日志的行首显示日志的采集时间。 说明: 日志采集时间:ICAgent采集日志,并且发送到云日志服务的时间。 日志打印时间:系统产生并打印日志的时间。ICAgent采集日志并发送日志到云日志平台的频率为1秒钟。 采集日志时间限制:系统时间的前后24小时内。 时间通配符:用日志打印时间来标识一条日志数据,通过时间通配符来匹配日志,每条日志的行首显示日志的打印时间。 如果日志中的时间格式为:2019-01-01 23:59:59.011,时间通配符应该填写为:YYYY-MM-DD hh:mm:ss.SSS。 如果日志中的时间格式为:19-1-1 23:59:59.011,时间通配符应该填写为:YY-M-D hh:mm:ss.SSS。 说明: 如果日志中不存在年份信息,则云日志会自动补齐年份数据为当前年份数据。 填写示例: YY - year (19) YYYY - year (2019) M - month (1) MM - month (01) D - day (1) DD - day (01) hh - hours (23) mm - minutes (59) ss - seconds (59) SSS - millisecond(999) hpm - hours (03PM) h:mmpm - hours:minutes (03:04PM) h:mm:sspm - hours:minutes:seconds (03:04:05PM) hh:mm:ss ZZZZ (16:05:06 +0100) hh:mm:ss ZZZ (16:05:06 CET) hh:mm:ss ZZ (16:05:06 +01:00) 分行模式 日志格式选择多行日志时,需要选择分行模式,分行模式选择“日志时间”时,是以时间通配符来划分多行日志;当选择“正则模式”时,则以正则表达式划分多行日志。 正则表达式 此配置是用来标识一条日志数据的正则表达式。日志格式选择“多行日志”格式后且“分行模式”已选择“正则模式”后需要设置。 时间通配和正则表达式均是从每行日志的开头进行严格匹配,如果匹配不上,则会默认使用系统时间上报,这样可能会和文件内容中的时间不一致。如果没有特殊需求,建议使用单行日志-系统时间模式即可。
-
使用场景 用户在云原生服务中心订阅服务或者上传私有服务后并部署实例,云原生服务中心会自动安装服务插件,用户在后台进行kubectl命令操作时误删除了oc-operator的deployment,导致后续无法继续安装云原生服务。 oc-operator服务是云原生服务中心用于安装operator或者helm等服务的插件,其负责对应服务的生命周期管理如安装、升级、删除等操作,因此建议用户不要在后端手动删除或修改oc-operator的pod或者deployment类型资源。
-
操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。 执行如下命令,查询OSC插件部署helm资源。 kubectl get secret -nosc-oc 执行如下命令,删除OSC服务插件secret资源。 kubectl delete secret -nosc-oc sh.helm.release.v1.{cceaddon}-operator-chef.{v1} 执行如下命令,删除插件configmap资源。 kubectl delete configmap -nosc-oc crd-dependency 执行如下命令,删除ServiceAccount资源。 kubectl delete ServiceAccount -nosc-oc oc-operator-serviceaccount 执行如下命令,删除ClusterRole资源。 kubectl delete ClusterRole aggregate-oc-edit aggregate-oc-view system:controller:operator-chef 执行如下命令,删除ClusterRoleBinding资源。 kubectl delete ClusterRoleBinding oc-operator-role-binding 执行如下命令,删除插件crd资源。 kubectl delete crd bundles.osc.huaweicloud.com kubectl delete crd operators.osc.huaweicloud.com
-
安装nvidia-fabricmanager服务 A100/A800 GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。 本文以驱动版本470.103.01为例,您可参考以下步骤进行安装,请根据实际情况需要替换驱动版本。 登录需要安装nvidia-fabricmanager服务的GPU节点,该节点需绑定EIP用以下载nvidia-fabricmanager服务。 安装与驱动版本对应的nvidia-fabricmanager服务,您可通过官方下载操作系统和驱动版本对应的安装包。 CentOS操作系统 以CentOS 7为例: driver_version=470.103.01 wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-drivers-fabricmanager-${driver_version}-1.x86_64.rpm rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm Ubuntu等其他操作系统 以Ubuntu 18.04为例: driver_version=470.103.01 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb 启动nvidia-fabricmanager服务。 systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager 查看nvidia-fabricmanager服务状态。 systemctl status nvidia-fabricmanager
-
约束与限制 下载的驱动必须是后缀为“.run”的文件。 仅支持Nvidia Tesla驱动,不支持GRID驱动。 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。 gpu-device-plugin插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。 如您使用A100/A800的多GPU卡机型,您需要手动安装与版本驱动对应的nvidia-fabricmanager服务才可以正常使用,详情请参见安装nvidia-fabricmanager服务。
-
安装插件 登录UCS控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”。 在“可安装插件”中找到gpu-device-plugin,单击“安装”。 在安装插件页面,填写插件配置。 插件规格:可配置“默认”或“自定义”规格,请根据实际情况选择。 容器:选择“自定义”规格时支持设置。 Nvidia驱动:您可使用CCE提供的驱动地址或手动填写自定义Nvidia驱动的地址,集群下全部GPU节点将使用相同的驱动。 GPU虚拟化功能仅支持470.57.02、470.103.01、470.141.03、510.39.01、510.47.03版本的GPU驱动。 建议您使用CCE提供的驱动地址,以满足驱动版本的要求。 如果下载链接为公网地址,例如地址为nvidia官网地址https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,则各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。 请确保Nvidia驱动版本与GPU节点适配。 更改驱动版本后,需要重启节点才能生效。 对于linux 5.x内核系统,如Huawei Cloud EulerOS 2.0或ubuntu 22.04,建议使用470及以上版本驱动。 图1 安装gpu-device-plugin 驱动选择:若您不希望集群中的所有GPU节点使用相同的驱动,CCE支持以节点池为单位安装不同的GPU驱动。 插件将根据节点池指定的驱动版本进行安装,仅对节点池新建节点生效。 新建节点更新驱动版本后,需重启节点生效。非新建节点不支持更新驱动版本。 插件卸载会自动删除已安装的GPU驱动。 GPU虚拟化:选择开启GPU虚拟化,支持GPU单卡的算力、显存分割与隔离。 若集群中未安装volcano插件,将不支持开启GPU虚拟化,您可单击“一键安装”进行安装。如需配置volcano插件参数,请单击“自定义安装”,详情请参见volcano。 若集群中已安装volcano插件,但插件版本不支持使用GPU虚拟化,您可单击“一键升级”进行升级。如需配置volcano插件参数,请单击“自定义升级”,详情请参见volcano。 单击“安装”,安装gpu-device-plugin插件的任务即可提交成功。
-
获取驱动链接-公网地址 登录CCE控制台。 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。 登录到nvidia网站。 如图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit。 图2 参数选择 驱动信息确认完毕,单击“搜索”按钮,会跳转到驱动信息展示页面,该页面会显示驱动的版本信息如图3,单击“下载”到下载页面。 图3 驱动信息 获取驱动软件链接方式分两种: 方式一:如图4,在浏览器的链接中找到url=/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run的路径,补齐全路径为https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,该方式节点需要绑定EIP 。 方式二:如图4,单击“下载”按钮下载驱动,然后上传到OBS,获取软件的链接,该方式节点不需要绑定EIP。 图4 获取链接
-
训练输出保存结构说明 ModelArts训练作业的模型输出和日志信息会定时同步到指定的OBS中,本示例中模型输出路径和日志输出路径分别为f"{default_obs_dir}/mindspore_model/output/"和f"{default_obs_dir}/mindspore_model/logs/",用户可以在OBS中查看训练输出信息。 本示例中训练输出保存在OBS的目录结构如下所示: ${your_bucket} └── intermidiate ├── dataset │ └── flower_photos │ └── flower_photos.zip └── mindspore_model ├── logs │ └── xxx-xxx-xxx--0.log ├── output │ └── 20220627-105226-resnet50-224 └── mindspore-image-models.zip
-
提交训练作业常见问题 报错信息:Exception: You have attempted to create more buckets than allowed 原因分析:由于桶的数量多于限额,无法自动创建。 解决方法:用户可以删除一个桶,或者直接指定一个已存在的桶(修改变量obs_bucket的值)。 报错信息:"errorMessage":"The number of namespaces exceeds the upper limit"或"namespace is invalid" 原因分析:SWR组织数限额,SWR组织默认最多只能创建5个组织。 解决方法:用户可以删除一个SWR组织,或者直接指定一个已存在的SWR组织(修改变量image_organization的值)。 报错信息:standard_init_linux.go:224: exec user process caused "exet format error" 原因分析:可能由于训练规格错误导致训练作业卡死。 解决方法:请参考说明查询资源规格。 报错信息:报错镜像失败,报错:401,'Unauthorized',b'{errors":[{"errorCode":"SVCSTG.SWR.4010000",errorMessage":"Authenticate Error",……}] 原因分析:远程连接Notebook时需要输入鉴权信息。 解决方法:传入AK,SK信息。 1 2 3 4 5 6 # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***')
-
步骤5:使用SDK提交训练作业 本地调测完成后可以提交训练作业。因为数据在Notebook中,设置InputData中“is_local_source”的参数为“True”,会自动将本地数据同步上传到OBS中。 步骤如下: 在“/home/ma-user/work/models/official/cv/resnet/”下创建train_notebook.py, 复制代码至train_notebook.py, 运行train_notebook.py,进行训练作业提交。 # train_notebook.py # 导入ModelArts SDK的依赖,并初始化Session,此处的ak、sk、project_id、region_name请替换成用户自己的信息 from modelarts.train_params import TrainingFiles from modelarts.train_params import OutputData from modelarts.train_params import InputData from modelarts.estimatorV2 import Estimator from modelarts.session import Session # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***') # 样例中为了方便默认创建一个OBS桶,推荐将调测所需要传输的文件统一放到`${default_bucket}/intermidiate`目录下,也可以按照注释代码自行指定 obs_bucket = session.obs.get_default_bucket() print("Default bucket name: ", obs_bucket) default_obs_dir = f"{obs_bucket}/intermidiate" #default_obs_dir = "obs://your-bucket-name/folder-name" # 本地的工程代码文件夹路径 code_dir_local = "/home/ma-user/work/models/official/cv/resnet/" #@param {type:"string"} # 代码的启动文件名称 boot_file = "train.py" #@param {type:"string"} train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file) # 本地数据集路径 local_data_path = "/home/ma-user/work/models/dataset/flower_photos" #@param {type:"string"} # 模型输出保存路径 output_local = "/home/ma-user/work/models/official/cv/resnet/output" #@param {type:"string"} # 模拟训练过程中模型输出回传至指定OBS的路径,需要以"/"结尾 obs_output_path = f"{default_obs_dir}/mindspore_model/output/" # 指定一个obs路径用于存储输出结果 output = [OutputData(local_path=output_local, obs_path=obs_output_path, name="output")] # 模拟训练过程中模训练日志回传至指定OBS的路径,需要以"/"结尾 log_obs_path = f"{default_obs_dir}/mindspore_model/logs/" # 训练所需的代码路径,代码会自动从本地上传至OBS code_obs_path = f"{default_obs_dir}/mindspore_model/" data_obs_path = f"{default_obs_dir}/dataset/flower_photos/" # sdk会将代码自动上传至OBS,并同步到训练环境 train_file = TrainingFiles(code_dir=code_dir_local, boot_file=boot_file, obs_path=code_obs_path) # 指定OBS中的数据集路径,会自动将local_path数据上传至obs_path,用户可以在代码中通过 --data_url接收这个数据集路径 input_data = InputData(local_path=local_data_path, obs_path=data_obs_path, is_local_source=True, name="data_url") from modelarts.service import SWRManagement image_organization = SWRManagement(session).get_default_namespace() # image_organization = "your-swr-namespace-name" print("Default image_organization:", image_organization) image_name = "mindspore-image-models-image" #@param {type:"string"} image_tag = "1.0.0" #@param {type:"string"} import os ENV_NAME=os.getenv('ENV_NAME') # 启动训练任务:使用user_command(shell命令)方式启动训练任务 # 注意:训练启动默认的工作路径为"/home/ma-user/modelarts/user-job-dir",而代码上传路径为"./resnet/${code_dir}"下 # --enable_modelarts=True 该代码仓已适配ModelArts estimator = Estimator(session=session, training_files=train_file, outputs=output, user_image_url=f"{image_organization}/{image_name}:{image_tag}", # 自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 user_command=f'cd /home/ma-user/modelarts/user-job-dir/ && /home/ma-user/anaconda3/envs/MindSpore/bin/python ./resnet/train.py --net_name=resnet50 --dataset=imagenet2012 --enable_modelarts=True --class_num=5 --config_path=./resnet/config/resnet50_imagenet2012_config.yaml --epoch_size=10 --device_target="Ascend" --enable_modelarts=True', # 执行训练命令 train_instance_type="modelarts.p3.large.public", # 虚拟资源规格,不同region的资源规格可能不同,请参考“Estimator参数说明”表下的说明查询修改 train_instance_count=1, # 节点数,适用于多机分布式训练,默认是1 #pool_id='若指定专属池,替换为页面上查到的poolId',同时修改资源规格为专属池专用的虚拟子规格 log_url=log_obs_path ) # job_name是可选参数,可不填随机生成工作名 job_instance = estimator.fit(inputs=[input_data], job_name="modelarts_training_job_with_sdk_by_command_v01") 表1 Estimator参数说明 参数名称 参数说明 session modelarts session training_files 训练代码的路径和启动文件 user_image_url 自定义镜像swr地址,由镜像仓库组织/镜像名称:镜像tag组成 user_command 执行训练命令 train_instance_type 本地调测'local'或云端资源规格。每个region的资源规格可能是不同的,可以通过下述说明查询对应的资源规格信息。 train_instance_count 节点数 log_url 日志输出路径 job_name 作业名称,不可以重复 train_instance_type表示训练的资源规格,每个region的资源规格可能是不同的。通过如下方法查询资源规格: 公共资源池执行如下命令查询 from modelarts.session import Session from modelarts.estimatorV2 import Estimator from pprint import pprint # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK,secret_key=__SK, project_id='***', region_name='***') info = Estimator.get_train_instance_types(session=session) pprint(info) 专属池规格 ModelArts专属资源池统一使用虚拟子规格,不区分GPU和Ascend。资源规格参考表2查询。 表2 专属资源池虚拟规格的说明 train_instance_type 说明 modelarts.pool.visual.xlarge 1卡 modelarts.pool.visual.2xlarge 2卡 modelarts.pool.visual.4xlarge 4卡 modelarts.pool.visual.8xlarge 8卡
-
场景描述 云搜索服务默认安装了开源的OpenDistro告警插件(opendistro_alerting),用于提供数据满足特定条件时的通知功能。该插件包含Dashboard、Monitors、Destinations三个组件,CSS服务在Destinations组件中适配了消息通知服务SMN,且仅支持通过SMN服务作为目的端(Destination)进行告警消息发送。 本文主要介绍如何在Kibana中通过OpenDistro告警插件设置Elasticsearch集群的SMN告警功能。 开源OpenDistro告警插件Opendistro Alerting的官方指导文档请参见:OpenDistro-Monitors。
-
概述 插件市场是数据采集插件集合,主要包括中间件插件和自定义插件。 中间件插件:是内置的中间件插件,不支持修改、删除和查看详情。目前中间件插件有如下几种: MYSQL:MySQL采集器 REDIS:Redis采集器 MONGODB:MongoDB采集器 KAFKA:Kafka采集器 NGINX:Nginx采集器 NODE:Node采集器 HAPROXY:HAProxy采集器 CONSUL:Consul采集器 ELASTICSEARCH:Elasticsearch采集器 POSTGRESQL:PostgreSQL采集器 RABBITMQ:RabbitMQ采集器 CUSTOM_EXPORTER:支持用户安装的Exporter采集器 自定义插件:是用户按需求自定义创建的插件。 父主题: 插件市场
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格