华为云用户手册

  • 原因分析 分析EulerOS内核是如何在不知情的情况下升级的: 首先查看当前操作系统内核。 [root@Server-ddff ~]# uname -r 4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 一般执行如下升级命令,就会导致自动下载和安装高级内核版本。 yum update -y 执行后查看当前可用内核,发现已经新增了内核h998: [root@Server-ddff ~]# [root@Server-ddff ~]# cat /boot/grub2/grub.cfg |grep "menuentry " menuentry 'EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.18.0-147.5. 1.6.h934.eulerosv2r9.x86_64-advanced-f6aefacb-f2d3-4809-b708-6ad0357037f5' { menuentry 'EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.18.0-147.5. 1.6.h934.eulerosv2r9.x86_64-advanced-f6aefacb-f2d3-4809-b708-6ad0357037f5' { menuentry 'EulerOS (0-rescue) 2.0 (SP9x86_64)' --class euleros --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-advanced-f6aefacb-f2d3-4809-b708-6ad 0357037f5' { [root@Server-ddff ~]# 查看假如reboot(尚未reboot)后默认选择的内核版本: [root@Server-ddff ~]# grub2-editenv list saved_entry=EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64) boot_success=0 [root@Server-ddff ~]# 发现默认系统内核已经变为h998,reboot后就会生效。 此时若重启那么内核版本就被升级了。
  • 处理方法 下文中假设当前服务器的内核版本是为4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64,介绍如何避免操作系统内核自动升级。 操作系统内核升级生效,必然需要服务器重启, 因此重启reboot前需要查看当前默认选择的内核版本: [root@Server-ddff ~]# grub2-editenv list saved_entry=EulerOS (4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64) 2.0 (SP9x86_64) boot_success=0 [root@Server-ddff ~]# 如上发现reboot后内核为4.18.0-147.5.1.6.h998.eulerosv2r9.x86_64,和当前内核版本h934不一致,则需要重新设置内核版本与当前版本一致。 查看当前内核版本,并且锁定reboot后默认启动的内核版本,执行如下命令: grub2-set-default 'EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64)' 执行后查看默认启动的内核版本是否和上述设置的相同: [root@Server-ddff ~]# grub2-editenv list saved_entry=EulerOS (4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64) 2.0 (SP9x86_64) boot_success=0 [root@Server-ddff ~]# 发现和当前内核一致,因此即使reboot也不会更改服务器的内核版本。 若希望升级指定的操作系统内核,也可以执行grub2-set-default进行设置默认启动内核版本。但操作系统内核升级可能带来的问题。例如在操作系统内核4.18.0-147.5.1.6.h934.eulerosv2r9.x86_64 下安装的nvidia-driver-515,由于执行了yum update并reboot服务器, 发现再次执行nvidia命令时报错: [root@Server-ddff ~]# nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. [root@Server-ddff ~]# 此时只能安裝nvidia-driver-515以及配套的cuda版本,安装方法可以参考GP Vnt1裸金属服务器EulerOS 2.9安装NVIDIA 515+CUDA 11.7。
  • 解决方案 需要减少容器大小。Notebook容器的大小分为两部分:镜像大小和容器中新安装文件的大小。因此有两种方法来解决该问题: 减少容器中新安装文件的大小 删除用户在Notebook新安装的内容,比如用户在Notebook中下载了很多文件,可以将这些文件删除。这种方法仅适用于除/home/ma-user/work和/cache目录外的其他目录,因为持久化存储的部分(home/ma-user/work目录的内容)不会保存在最终产生的容器镜像中、“/cache”目录下存储的是临时文件,不占用容器空间。 如果没有文件可以删除,或者不清楚哪些可以删除,那么可以使用相同的镜像重新创建一个Notebook,使用新建的Notebook时,注意减少软件包的安装或文件的下载等操作,也可以减少容器大小; 减少镜像文件的大小 如果无法确认哪些包或文件可以不安装,那么可以选择一个较小的镜像来重建Notebook,然后在其中再安装需要的软件或文件。目前公共镜像中占用空间最小的是mindspore1.7.0-py3.7-ubuntu18.04。
  • 问题现象 在Notebook里保存镜像时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”。 在Notebook里保存镜像时报错“Buildimge,False,Error response from daemon: Cannot pause container xxx”。
  • 问题现象 输入输出目录不存在,报如下错误 "error_code": "ModelArts.3551", "error_msg": "OBS path xxxx does not exist." 当访问目录权限不足时,报如下错误 "error_code": "ModelArts.3567", "error_msg": "OBS error occurs because Access Denied."
  • 处理方法 ModelArts.3551:到obs检查输入数据目录是否存在,如果不存在,请按照实际需要创建obs目录;如果检查发现目录存在,但依然报同样的错,可以提工单申请技术支持 ModelArts.3567:用户只能访问自己账号下的obs目录,ModelArts在读取其他用户obs下的数据时,需要用户委托权限,没有创建委托,就没有权限使用其他用户obs中的数据。 登录ModelArts控制台,管理控制台,在左侧导航栏中选择“权限管理”,单击“查看权限”,检查是否配置了obs的委托权限。 图1 查看权限 如果检查后已经存在委托,但是仍然无法访问,可以提工单寻求技术支持。
  • 问题现象 通过API接口查询AI应用详情,model_name返回值出现乱码。例如model_name为query_vec_recall_model,但是api接口返回结果是query_vec_recall_model_b。 [2022/08/12 00:03:25 GMT+0800][INFO]Execute user name is xxx. user id is 04ef6da71400125321f15c01f1d1xxxx, job id is 6ABxxx [2022/08/12 00:03:25 GMT+0800][INFO]Request url is https://modelarts.xxx.xxx.com/v1/88exxxta/models?model_name=query_vec_recall_model [2022/08/12 00:03:25 GMT+0800][INFO]Request query param is nul [2022/08/12 00:03:25 GMT+0800][INFO]Request method is GET [2022/08/12 00:03:25 GMT+0800][INFO]Request header is {REST_API_MARK=REST API MARK, User-Agent=Dayu} [2022/08/12 00:03:26 GMT+0800][INFO]Response body: {"count":3"total_count":0"models":[{"model id":"ca12cbdb-e7eb-4084-9ea3-36c0bd6axxxx","model name":"query_vec_recall_model_b","model_version":"0.0.1","model_type":"TensorFlow"......
  • 解决方案 查看“/home/ma-user/log/”下以“kernelgateway”开头的最新日志文件,搜索“Starting kernel”附近的日志。若看到如下类似的堆栈,可看到是因为用户工作目录下的“code.py”和创建kernel依赖的import code文件名冲突: 重命名当前工作目录下和创建kernel依赖的库文件冲突的文件名称。 常见容易冲突的文件:code.py、select.py。
  • 问题现象 使用AI市场物体检测YOLOv3_Darknet53算法进行训练,将数据集切分后进行部署在线服务报错,日志如下:TypeError: Cannot interpret feed_dict key as Tensor: The name 'images:0' refers to a Tensor which does not exist. The operation, 'images', does not exist in the graph。
  • 处理方法 如果切分了数据集,需要删除推理代码中“Yolov3Service”类中的如下代码: self.model_inputs = {'images': 'images:0'} self.model_outputs = {'feat_1': 'feat_1:0', 'feat_2': 'feat_2:0', 'feat_3': 'feat_3:0'} 不做数据集切分操作。如果选择未切分的数据集,算法将做纯训练场景;
  • 处理方法 重新构建镜像。 在构建镜像的dockerfile文件中安装pip依赖包,例如安装Flask依赖包。 # 配置华为云的源,安装 python、python3-pip 和 Flask RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak && \ sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.comxxx@g" /etc/apt/sources.list && \ sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.comxxx@g" /etc/apt/sources.list && \ apt-get update && \ apt-get install -y python3 python3-pip && \ pip3 install --trusted-host https://repo.huaweicloud.comxxx -i https://repo.huaweicloud.comxxx/repository/pypi/simple Flask
  • 原因分析及处理方法 服务预测报错ModelArts.4503有多种场景,常见场景如下: 通信出错 请求报错:{"error_code":"ModelArts.4503","error_msg":"Failed to respond due to backend service not found or failed to respond"} 基于高性能考虑,ModelArts会复用同模型服务的连接。根据tcp协议,连接的断开可以由该连接的client端发起,也可以由server端发起。断开连接需要经过四次握手,所以可能会存在作为服务端的模型服务侧发起断开连接,但是该连接正在被作为客户端的ModelArts使用,从而导致通信出错,返回此错误信息。 如果您使用的是 自定义镜像 导入的模型,请增大自定义镜像中所使用的web server的keep-alive的参数值,尽量避免由服务端发起关闭连接。如您使用的Gunicorn来作为web server,可以通过Gunicorn命令的--keep-alive参数来设置该值。其他方式导入的模型,服务内部已做处理。 协议错误 请求报错:{"error_code":"ModelArts.4503", "error_msg":"Failed to find backend service because SSL error in the backend service, please check the service is https"} 部署在线服务使用的模型是从容器镜像中导入时,容器调用接口协议填写错误,会导致此错误信息。 出于安全考虑,ModelArts提供的推理请求都是https请求,从容器镜像中选择导入模型时,ModelArts允许使用的镜像提供https或http服务,但必须在“容器调用接口”中明确指定该镜像使用的是https或http服务。如下图所示: 图1 容器调用接口 如果您在“容器调用接口”中选择的结果跟您镜像实际提供的结果不匹配,例如您在这里选择的是https,但镜像里面实际提供的是http,就会遇到上述错误。反之,如果您选择的是http,但镜像里面实际提供的是https,也会遇到类似错误。 您可以创建一个新的AI应用版本,选择正确的协议(http或者https),重新部署在线服务或更新已有在线服务。 请求预测时间过长 报错:{"error_code": "ModelArts.4503", "error_msg": "Backend service respond timeout, please confirm your service is able to process the request without timeout. "}及报错:{"error_code": "ModelArts.4503", "error_msg": "Failed to find backend service because response timed out, please confirm your service is able to process the request without timeout. "} 因APIG(API网关)限制,平台每次请求预测的时间不超过40秒。数据从平台发送到服务,服务预测推理,再将结果返回的时间不超过限制,可以成功返回预测结果。当服务预测的时间过长或者频繁预测导致服务接收不过来请求,即会出现该报错。 可以通过以下方式解决问题: 服务预测请求内容过大时,会因数据处理慢导致请求超时,优化预测代码,缩短预测时间。 推理速度与模型复杂度强相关,优化模型,缩短预测时间。 扩容实例数或者选择性能更好的“计算节点规格”,例如使用GPU资源代替CPU资源,提升服务处理能力。 服务出错 报错:{"error_code": "ModelArts.4503","error_msg": "Backend service respond timeout, please confirm your service is able to process the request without timeout. "} 服务日志输出: [2022-10-24 11:37:31 +0000] [897] [INFO] Booting worker with pid: 897 [2022-10-24 11:41:47 +0000] [1997] [INFO] Booting worker with pid: 1997 [2022-10-24 11:41:22 +0000] [1897] [INFO] Booting worker with pid: 1897 [2022-10-24 11:37:54 +0000] [997] [INFO] Booting worker with pid: 997 服务异常进程反复重启导致预测请求无法发送到服务实例。 可以通过以下方式解决问题: 缩小预测请求数量看是否问题还复现,如果不复现是因为负载过大导致服务进程退出,需要扩容实例数量或者提升规格。 推理代码本身存在错误,请排查推理代码解决。
  • 原因分析及处理方法 服务预测报错ModelArts.4302有多种场景,以下主要介绍两种场景: "error_msg": "Gateway forwarding error. Failed to invoke backend service due to connection refused. " 出现该报错有两种情况: 流量超过了模型的处理能力。可以考虑降低流量或者增加模型实例数量。 镜像自身有问题。需要单独运行镜像确保镜像本身能正确提供服务。 "error_msg":"Due to self protection, the backend service is disconncted, please wait moment." 出现该错误,是因为模型报错太多。当模型报错太多时,会触发dispatcher的熔断机制,导致预测失败。建议您检查模型返回结果,处理模型报错问题,可尝试通过调整请求参数、降低请求流量等方式,提高模型调用的成功率。
  • 原因分析及处理方法 服务预测需要经过客户端、外部网络、APIG、Dispatch、模型服务多个环节。每个环节出现都会导致服务预测失败。 图1 推理服务流程图 出现APIG.XXXX类型的报错,表示请求在APIG(API网关)出现问题而被拦截。 常见问题请参见服务预测失败,报错APIG.XXXX。 其他被APIG(API网关)拦截的场景: Method Not Allowed 请求超时返回Timeout 出现Modelart.XXXX类型的报错,表示请求在Dispatcher出现问题而被拦截。 常见报错: 在线服务预测报错ModelArts.4302 在线服务预测报错ModelArts.4206 在线服务预测报错ModelArts.4503 当使用推理的镜像并且出现MR.XXXX类型的错误时,表示已进入模型服务,一般是模型推理代码编写有问题。 请根据构建日志报错信息,定位服务预测失败原因,修改模型推理代码后,重新导入模型进行预测。 经典案例:在线服务预测报错MR.0105 出现其他情况,优先检查客户端和外部网络是否有问题。 以上方法均未解决问题,请联系系统管理员。
  • 处理方法 到SWR检查下对应的镜像是否存在,对应镜像的镜像地址是否和实际地址一致,大小写,拼写等是否一致。 检查用户给ModelArts的委托中是否有SWR的权限,可以在权限管理中查看对应用户的授权内容,查看授权详情。如果没有对应权限,需要到 统一身份认证 服务给对应委托中加上对应权限。 图1 权限管理 图2 查看权限详情和去 IAM 修改委托权限 图3 给委托添加授权 将镜像设置成私有镜像 登录 容器镜像服务 (SWR),左侧导航栏选择“我的镜像”,查看镜像详情,单击右上角“编辑”按钮,把镜像类型修改为“私有”。 图4 修改镜像类型为私有
  • 问题现象 用户创建AI应用时,构建镜像失败,失败日志中提示下载obs文件失败(Get object size from OBS failed!)。 图1 下载obs文件失败 用户创建AI应用时,事件提示:复制模型文件失败,请检查OBS权限是否正常(Failed to copy model file due to obs exception. Please Check your obs access right.)或用户%s没有OBS的obs:object:PutObjectAcl权限(User %s does not have obs:object:PutObjectAcl permission.)。 图2 复制模型文件失败
  • 常见问题 模型文件目录下不能出现dockerfile文件; “查看构建日志”中显示“Not only a Dockerfile in your OBS path, please make sure, The dockerfile list”,表示dockerfile文件目录有问题,模型文件目录下不能出现dockerfile文件,需要去掉模型文件目录下存在dockerfile文件。 图2 构建日志:dockerfile文件目录有问题 pip软件包版本不匹配,需要修改为日志中打印的存在的版本。 图3 pip版本不匹配 构建日志中出现报错:“exec /usr/bin/sh: exec format error”。 这种报错一般是因为所用镜像系统引擎和构建镜像的系统引擎不一致引起的,例如使用的是x86的镜像却标记的是arm的系统架构。 可以通过查看AI应用详情看到配置的系统运行架构。基础镜像的系统架构详情可以参考推理基础镜像列表。
  • 问题定位和处理 创建AI应用失败有两种场景:创建AI应用时直接报错或者是调用API报错和创建AI应用任务下发成功,但最终AI应用创建失败。 创建AI应用时直接报错或者是调用API报错。一般都是输入参数不合法导致的。您可以根据提示信息进行排查修改即可。 创建AI应用任务下发成功,但最终AI应用创建失败。需要从以下几个方面进行排查: 在AI应用详情页面,查看“事件”页签中的事件信息。根据事件信息分析AI应用失败原因,进行处理。 如果AI应用状态为“构建失败”,可以在AI应用详情页面,查看“事件”页签中的“查看构建日志”。构建日志中有对应的构建镜像失败的详细原因,根据构建失败的原因进行排查处理。 图1 查看构建日志
  • 问题现象 ModelArts SDK在OBS下载文件时,目标路径设置为文件名,在本地IDE运行不报错,部署为在线服务时报错。 代码如下: session.obs.download_file(obs_path, local_path) 报错信息如下: 2022-07-06 16:22:36 CS T [ThreadPoolEx] - /home/work/predict/model/customize_service.py[line:184] - WARNING: 4 try: IsADirectoryError(21, 'Is a directory'). update products failed!
  • 健康检查配置有问题 镜像如果配置了健康检查,服务启动失败,从以下两个方面进行排查: 健康检查端口是否可以正常工作 自定义镜像中配置了健康检查,需要在测试镜像时,同步测试健康检查接口是否可以正常工作,具体参考从0-1制作自定义镜像并创建AI应用中的本地验证镜像方法。 创建AI应用界面上配置的健康检查地址与实际配置的是否一致 如果使用的是ModelArts提供的基础镜像创建AI应用,健康检查URL默认必须为/health。 图4 设置健康检查URL
  • 镜像中配置的端口错误 AI应用可以正常启动,但是因为镜像中启用的端口非8080,或者镜像启用的端口与创建AI应用时配置的端口不一致,导致部署服务时register-agent无法与AI应用通信,超过一定时间后(最长20分钟)认为AI应用启动失败。 需要检查两个地方:自定义镜像中的代码开放的端口和创建AI应用界面上配置的端口。确认两处端口保持一致。AI应用创建界面如果不填端口信息,则ModelArts会默认监听8080端口,即镜像代码中启用的端口必须是8080。 图2 自定义镜像中的代码开放的端口 图3 创建AI应用界面上配置的端口
  • 处理方法 需要排查执行命令的启动文件目录是否正确,具体操作如下: 在ModelArts管理控制台,使用训练的自定义镜像创建训练作业时,“创建方式”选择“自定义算法”,“启动方式”选择“自定义”。 例如,当训练代码启动脚本在OBS路径为“obs://bucket-name/app/code/train.py”,创建作业时配置代码目录为“/bucket-name/app/code/”。则代码目录配置完成后,执行如下命令,那么“run_train.sh”将选中的“code”文件夹下载到训练容器的“/home/ma-user/modelarts/user-job-dir”目录中。 bash /home/ma-user/modelarts/user-job-dir/run_train.sh #训练自定义镜像-预置命令场景 运行命令就可以设置为: bash /home/ma-user/modelarts/user-job-dir/run_train.sh python /home/ma-user/modelarts/user-job-dir/code/train.py {python_file_parameter} #训练自定义镜像-预置命令场景
  • 处理方法1 在ModelArts管理控制台,选择“权限管理”。 在用户名对应的“授权内容”列,单击“查看权限”,确认用户的委托权限是否已包含Tenant Administrator。 图1 查看委托权限详情 是,重新“启动”边缘服务,若还是“异常”则联系技术支持处理。 否,执行下一步,给用户添加委托权限。 添加委托权限。 如果是IAM子账号,没有修改委托权限,请联系管理员添加Tenant Adiministrator委托权限。 登录统一身份认证服务IAM管理控制台。 单击导航栏的“委托”,进入委托页面。 搜索ModelArts使用的委托,例如“modelarts_agency”,单击委托名称进入“基本信息”页面。 单击“授权”,添加Tenant Adiministrator权限,按操作指引完成授权。 授权完成后,重新“启动”边缘服务,观察状态是否正常。
  • 排查办法 根据错误信息判断,报错原因来源于用户代码。 您可以通过以下两种方式排查: 线上环境调试代码(仅适用于非分布式代码) 在开发环境(notebook)申请相同规格的开发环境实例。 在notebook调试用户代码,并找出问题的代码段。 通过关键代码段 + 退出码尝试去搜索引擎寻找解决办法。, 通过训练日志排查问题 通过日志判断出问题的代码范围。 修改代码,在问题代码段添加打印,输出更详细的日志信息。 再次运行作业,判断出问题的代码段。
  • 原因分析 日志显示训练进程的退出码为137。训练进程表示用户的代码启动后的进程,所以这里的退出码是用户的训练作业代码返回的。常见的错误码还包括247、139等。 退出码137或者247 可能是内存溢出造成的。请减少数据量、减少batch_size,优化代码,合理聚合、复制数据。 请注意,数据文件大小不等于内存占用大小,需仔细评估内存使用情况。 退出码139 请排查安装包的版本,可能存在包冲突的问题。
  • 排查办法 根据错误信息判断,报错原因来源于用户代码。 您可以通过以下两种方式排查: 线上环境调试代码(仅适用于非分布式代码) 在开发环境(notebook)申请相同规格的开发环境实例。 在notebook调试用户代码,并找出问题的代码段。 通过关键代码段 + 退出码尝试去搜索引擎寻找解决办法。, 通过训练日志排查问题 通过日志判断出问题的代码范围。 修改代码,在问题代码段添加打印,输出更详细的日志信息。 再次运行作业,判断出问题的代码段。
  • 解决方法 使用状态为告警的服务进行预测,可能存在预测失败的风险,请从以下4个角度进行排查,并重新部署。 后台预测请求过多。 如果您使用API接口进行预测,请检查是否预测请求过多。大量的预测请求会导致部署的在线服务进入告警状态。 业务内存不正常。 请检查推理代码是否存在内存溢出或者内存泄漏的问题。 模型运行异常。 请检查您的模型是否能正常运行。例如模型依赖的资源是否故障,需要排查推理日志。 实例pod数量异常 。 如果您曾经找过运维人员删除过异常的实例pod,事件中可能会出现告警“服务异常,不正常的实例数为XXX”。在出现这种告警后,服务会自动拉起新的正常实例,从而恢复到正常运行状态。请您耐心等待。
  • 预测分析作业失败的排查思路 检查用于预测分析的数据是否满足要求。 由于预测分析任务未使用数据管理的功能发布数据集,因此当数据不满足训练作业要求时,会出现训练作业运行失败的错误。 建议检查用于训练的数据,是否满足预测分析作业的要求。要求如下所示,如果数据满足要求,执行下一步检查。如果不满足要求,请根据要求仅需数据调整后再重新训练。 文件规范:名称由以字母数字及中划线下划线组成,以'.csv'结尾,且文件不能直接放在OBS桶的根目录下,应该存放在OBS桶的文件夹内。如:“/obs-xxx/data/input.csv”。 文件内容:文件保存为“csv”文件格式,文件内容以换行符(即字符“\n”,或称为LF)分隔各行,行内容以英文逗号(即字符“,”)分隔各列。文件内容不能包含中文字符,列内容不应包含英文逗号、换行符等特殊字符,不支持引号语法,建议尽量以字母及数字字符组成。 训练数据:训练数据列数一致,总数据量不少于100条不同数据(有一个特征取值不同,即视为不同数据)。训练数据列内容不能有时间戳格式(如:yy-mm-dd、yyyy-mm-dd等)的数据。确保指定标签列的取值至少有两个且无数据缺失,除标签列外数据集中至少还应包含两个有效特征列(列的取值至少有两个且数据缺失比例低于10%)。训练数据的csv文件不能包含表头,否则会导致训练失败。当前由于特征筛选算法限制,标签列建议放在数据集最后一列,否则可能导致训练失败。 由于ModelArts会自动对数据进行一些过滤,过滤后再启动训练作业。当预处理后的数据不满足训练要求时,也会导致训练作业运行失败。 对于数据集中列的过滤策略如下所示: 如果某一列空缺的比例大于系统设定的阈值(0.9),此列数据在训练时将被剔除。 如果某一列只有一种取值(即每一行的数据都是一样的),此列数据在训练时将被剔除。 对于非纯数值列,如果此列的取值个数等于行数(即每一行的数值都是不一样的),此列数据在训练时将被剔除。 经过上述过滤后,如果数据集不再满足第一点中关于训练数据的要求,则会导致训练失败或无法进行。建议完善数据后,再启动训练。 数据集文件有以下限制: 如果您使用2u8g规格,测试建议数据集文件应小于10MB。当文件大小符合限制要求,如果存在极端的数据规模(行数列数之积)时,仍可能会导致训练失败,建议的数据规模低于10000。 如果您使用8u32g规格,测试建议数据集文件应小于100MB。当文件大小符合限制要求,如果存在极端的数据规模(行数列数之积)时,仍可能会导致训练失败,建议的数据规模低于1000000。 如果上述排查操作仍无法解决,请联系华为云技术支持。
  • 标注信息不满足训练要求 针对不同类型的自动学习项目,训练作业对数据集的要求如下。 图像分类:用于训练的图片,至少有2种以上的分类(即2种以上的标签),每种分类的图片数不少于5张。 物体检测:用于训练的图片,至少有1种以上的分类(即1种以上的标签),每种分类的图片数不少于5张。 预测分析:由于预测分析任务的数据集不在数据管理中进行统一管理,即使数据不满足要求,不在此环节出现故障信息。 声音分类:用于训练的音频,至少有2种以上的分类(即2种以上的标签),每种分类的音频数不少于5个。 文本分类:用于训练的文本,至少有2种以上的分类(即2种以上的标签),每种分类的文本数不少于20个。
  • ModelArts.4342 标注信息不满足切分条件 出现此故障时,建议根据如下建议,修改标注数据后重试。 多标签的样本(即一张图片包含多个标签),至少需要有2张。如果启动训练时,设置了数据集切分功能,如果多标签的数据少于2张,会导致数据集切分失败。建议检查您的标注信息,保证标注多标签的图片,超过2张。 数据集切分后,训练集和验证集包含的标签类别不一样。出现这种情况的原因:多标签场景下时,做随机数据切分后,包含某一类标签的样本均被划分到训练集,导致验证集无该标签样本。由于这种情况出现的概率比较小,可尝试重新发布版本来解决。
共100000条