华为云用户手册

  • 处理方法 第二次增量训练设置的epochs数值需要大于第一次常规训练设置的epochs数值。 举例:对一个已经完成的训练作业(假设训练了50个epochs),想要训练更多的epochs(追加30个epochs),假设上一个训练作业的输出目录为“obs://my_bucket/train_url”,则设置参数“checkpoint_url=obs://my_bucket/train_url/last.pt”,并设置参数epochs=80(如果第二次设置参数epochs=30则增量训练只会训练29个epochs)。
  • 解决方案 拷贝文件和文件夹均可采用: import moxing as moxmox.file.set_auth(is_secure=False) 拷贝单个大文件5G以上时可采用: from moxing.framework.file import file_io 查看当前moxing调用的接口版本:file_io._LARGE_FILE_METHOD,如果输出值为1则为V1版本,如果输出值为2,则为V2版本。 V1版本修改:file_io._NUMBER_OF_PROCESSES=1 V2版本修改:可以 file_io._LARGE_FILE_METHOD = 1,将模式设置成V1然后用V1的方式修改规避,也可以直接file_io._LARGE_FILE_TASK_NUM=1。 拷贝文件夹时可采用: mox.file.copy_parallel(threads=0,is_processing=False)
  • 问题现象 训练启动的日志出现如下相关错误: time="2023-05-27T07:07:08Z" level=error msg="detect failed, error: dsmi-checker detect failed, error: fork/exec /home/ma-user/modelarts/bin/detect/ascend_check: no such file or directory" file="ascend_check.go:56" Command=bootstrap/run Component=ma-training-toolkit Platform=ModelArts-Servicetime="2023-05-27T07:07:13Z" level=error msg="[detect] ascend-check error, exiting..." file="run_train.go:94" Command=bootstrap/run Component=ma-training-toolkit Platform=ModelArts-Service
  • 解决方案 专属资源池的Ascend驱动版本需与训练基础镜像中的Cann软件版本版本匹配。 ModelArts上支持的Ascend驱动版本可以在ModelArts专属资源池(NEW)的详情页面查看到。ModelArts上支持的Cann软件版本可以在训练基础镜像详情页面查看,具体请参见训练基础镜像详情(Ascend-Powered-Engine)。 Ascend驱动版本与Cann软件版本的兼容关系如下表所示: 表1 Ascend驱动版本与Cann软件版本的兼容关系 Ascend驱动版本 支持Cann软件版本 基础镜像 c81-22.0.0.3 5.1.0 mindspore_1.7.0-cann_5.1.0-py_3.7-euler_2.8.3-aarch64 tensorflow_1.15.0-cann_5.1.0-py_3.7-euler_2.8.3-aarch64 pytorch_1.8.1-cann_5.1.0-py_3.7-euler_2.8.3-aarch64
  • 处理方法 在代码中打印出numpy的版本,查看是否为1.18.5版本,若非该版本号则在代码开始处执行: import osos.system('pip install numpy==1.18.5') 如果依旧有报错情况,将以上代码修改为: import osos.system('pip install numpy==1.18.5')os.system('pip install keras==2.6.0')os.system('pip install tensorflow==2.6.0')
  • 问题现象 ModelArts SDK在OBS下载文件时,目标路径设置为文件名,在本地IDE运行不报错,部署为在线服务时报错。 代码如下: session.obs.download_file(obs_path, local_path) 报错信息如下: 2022-07-06 16:22:36 CST [ThreadPoolEx] - /home/work/predict/model/customize_service.py[line:184] - WARNING: 4 try: IsADirectoryError(21, 'Is a directory'). update products failed!
  • 检查报错的路径是否存在 由于用户本地开发的代码需要上传至ModelArts后台,训练代码中涉及到依赖文件的路径时,用户设置有误的场景较多。 推荐通用的解决方案:使用os接口得到依赖文件的绝对路径,避免报错。 示例: |---project_root #代码根目录 |---BootfileDirectory #启动文件所在的目录 |---bootfile.py #启动文件 |---otherfileDirectory #其他依赖文件所在的目录 |---otherfile.py #其他依赖文件 在启动文件中,建议用户参考以下方式获取依赖文件所在路径,即示例中的otherfile_path。 import oscurrent_path = os.path.dirname(os.path.realpath(__file__)) # BootfileDirectory, 启动文件所在的目录project_root = os.path.dirname(current_path) # 工程的根目录,对应ModelArts训练控制台上设置的代码目录otherfile_path = os.path.join(project_root, "otherfileDirectory", "otherfile.py")
  • 解决方法 根据容器日志进行排查,查看健康检查接口失败的具体原因。 镜像健康检查配置问题,需修复代码后重新制作镜像创建AI应用后部署服务。了解镜像健康接口配置请参考模型配置文件编写说明中health参数说明。 AI应用健康检查配置问题,需重新创建AI应用或者创建AI应用新版本,配置正确的健康检查,使用新的AI应用或版本重新部署服务。了解AI应用健康检查请参考制作模型镜像并导入中的“健康检查”参数说明。
  • 检查报错的路径是否为OBS路径 使用ModelArts时,用户数据需要存放在自己OBS桶中,但是训练代码运行过程中不能使用OBS路径读取数据。 原因: 训练作业创建成功后,由于在运行容器直连OBS服务进行训练性能很差,系统会自动下载训练数据至运行容器的本地路径。所以,在训练代码中直接使用OBS路径会报错。 如果报错路径为训练数据路径,需要在以下两个地方完成适配,具体适配方法请参考自定义算法适配章节的输入输出配置部分: 在创建算法时,您需要在输入路径配置中设置代码路径参数,默认为“data_url”。 您需要在训练代码中添加超参,默认为“data_url”。使用“data_url”当做训练数据输入的本地路径。
  • 安装yum 前往论坛下载附件,将附件传到HiLens Kit的“/tmp”目录下解压执行install.sh脚本,一键安装yum。 install.sh脚本将会执行操作: 安装yum并配置yum源。 通过yum安装python3-devel、openblas 、blas 、gcc-gfortran、libarchive-devel、cmake、gcc-c++、automake、autoconf、libtool、make。 配置ld的链接 ln -s /usr/bin/ld.bfd /usr/bin/ld。 使用cmake等工具需要export LD_LIBRARY_PATH=/usr/lib64/:$LD_LIBRARY_PATH(脚本里面已有)。 可以自行修改脚本,根据需要安装相应的库。 cmake等工具依赖库与/home/hilens/skillframework中的某些库有冲突,如果需要运行技能需要重新export LD_LIBRARY_PATH=/home/hilens/skillframework/lib/,或者关闭当前session,重新打开一个窗口(否则运行技能可能会报错:找不到某些符号)
  • 模型转换时,如何确定输入张量形状? “输入张量形状”指要添加张量形状,即模型输入数据的shape,格式为NHWC,如“input_name:1,224,224,3”,必填项。“input_name”必须是转换前的网络模型中的节点名称。当模型存在动态shape输入时必须提供。例如“input_name1:?,h,w,c”,该参数必填,其中“?”为batch数,表示1次处理的图片数量,需要根据实际情况填写,用于将动态shape的原始模型转换为固定shape的离线模型。 如果存在多个输入,请以分号(;)隔开。 “pb”模型转“om”模型时的张量形状就是“pb”模型的输入节点和shape,例如“images:1,224,224,3”。 父主题: 技能开发
  • HiLens Kit为什么连接不上WiFi? HiLens Kit连接不上WIFI,可能原因是HiLens Kit不支持当前无线网络。 当前HiLens Kit仅支持2.4G频段的无线网络和常规的加密类型无线网络,且无线网络名称不包含英文的单引号和双引号等特殊符号,长度8-63个字符。 支持的2.4G频段无线网络所使用的协议为IEEE802.11n\IEEE802.11g\IEEE802.11b。 支持的无线网络加密类型有WEP、WPA-PSK/WPA2-PSK和AES。 暂不支持需要验证的无线网络。 暂不支持TKIP加密。 路由器网关不能使用xxx.xxx.0.xxx网段,比如192.168.0.1,也不要和HiLens Kit网口在同一网段,例如,设备IP是192.168.2.111,那么路由器的网关就不能设置成192.168.2.xxx。 父主题: 注册设备
  • 为什么设备在线,但是固件升级提示失败? 检查设备网络情况,查看设备是否真正的处于在线状态。 SSH窗口命令行输入date,看时间是否同步,不同步则请修改: 调整时区,与中国时区一致,执行命令 timedatectl set-timezone Asia/Shanghai 修改设备时间,以当前时间为2019年10月17日19时19分19秒为例。执行命令 date -s “2019-10-17 19:19:19”(注意使用英文引号) hwclock –w reboot 父主题: 管理设备
  • 购买HiLens Kit后支持退货吗? 7天出现非人为的质量问题或故障,经客服确认后可退货,华为HiLens服务承担来回运费,支持顺丰到付。 所有售后机器在寄回时,请附上出库单并在空白处备注售后原因(如出库单遗失,除了备注售后原因,还需说明下单平台、订单编号、客户电话和地址等必要信息)。如未按以上要求寄回,造成售后延误,华为HiLens不承担相关责任。 不支持无理由退货。详细的售后策略请参见包装与售后。 父主题: 其他问题
  • 设备固件升级是否一定要按顺序升级? 固件升级不需要按顺序,可以直接升级到最新版本。如果设备在线,但是固件升级和技能安装一直失败,可以调整时区信息: SSH窗口命令行输入date,看时间是否同步,不同步则请修改: 调整时区,与中国时区一致,执行命令 timedatectl set-timezone Asia/Shanghai 修改设备时间,以当前时间为2019年10月17日19时19分19秒为例。执行命令 date -s “2019-10-17 19:19:19”(注意使用英文引号) hwclock –w reboot 父主题: 管理设备
  • 如何管理设备文件? 删除sftp限制,命令行输入: rm -rf /etc/usr/sftp_disable 然后重新打开一个SSH窗口,便能把本地文件放入“/tmp”中,也能在“/tmp”中把文件夹拉取到本地。 “/tmp”为临时文件夹,设备重启后清除。若需保留,则需将文件再移至其他文件夹。 “/tmp”里如果有同名文件,则外面的文件无法放进,不会自动覆盖。 “/tmp”里的文件若需拷贝出来,需要修改可读权限(chmod a+r /tmp/filename)。 父主题: HiLens Kit系统操作
  • 如何在HiLens Kit安装软件包? HiLens Kit目前支持以下四种方式安装软件包: 注意:执行命令之前先执行umask 022,如果之前已经安装的包升级到固件1.1.2及以上版本后无法使用,请卸载后重新执行umask 022再安装。 pip安装:执行python3 -m pip install安装pip包,如requests;也可以使用其他pip源,如 python3 -m pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 源码编译安装:下载源码编译aarch64版本的软件包。 rpm包安装:华为开源镜像站上下载相应的rpm包及其依赖并使用rpm安装软件包。也可以参考论坛安装yum,然后使用yum安装相应的包。 配置技能的Python依赖库,详情请见如何配置技能的Python依赖库?。 父主题: HiLens Kit系统操作
  • 常见原因及解决方式 如果用户启动技能、停止技能失败,原因是设备离线,但是控制台显示在线状态。 请检查网线、电源是否接触良好。 如报错如图2所示,请确认技能检验值与代码是否一致,请将两者改为一致。其中,技能检验值是指在华为HiLens管理控制台新建技能时,所填写的“基本信息”中的“检验值”参数,用于技能校验,防止技能伪冒,该字段必须与技能代码中初始化的接口hilens.init的参数一致。 图2 报错信息 图3 技能检验值 图4 技能代码
  • HiLens Kit支持接入哪些摄像头? HiLens Kit自带一个摄像头,同时也可以连接管理多个IP摄像头(摄像头的个数不能大于设备上所安装技能的支持通道数之和)。 HiLens Kit 支持接入4K及以下的IPC摄像头。支持Linux UVC协议的USB免驱摄像头。支持主流的RTSP摄像头。暂不支持接入红外测温摄像头。 在华为HiLens控制台上可以添加摄像头并填写摄像头配置信息,详情请见配置摄像头,具体实践案例可参考安全帽检测技能开发(外接摄像头)。 父主题: 设备介绍
  • 为什么在ModelArts中验证精度很高的模型,在HiLens Studio中测试效果却很差? 如果是使用ModelArts的预置算法或者AI Gallery上的算法,出现精度差异问题可能有以下几个原因。 预处理问题:比如模型训练时用的是RGB格式,在HiLens推理时用了BGR;模型输入是等比例缩放加padding(尤其是对于416*416这种方形输入),而HiLens里面是直接缩放。 模型的正确预处理步骤可以在ModelArts训练输出目录中的“customize_service.py”中找到。 参数问题:比如yolo3模型在解码时依赖anchors,这些anchors必须和训练时的anchors保持一致,同样的这些参数可以在ModelArts训练输出目录中的“customize_service.py”中找到。 类别顺序问题:当输出结果时类别顺序一定要与模板中的类别顺序一致。如果自己的模型输出顺序不一样,做一个简单的映射即可,比如“speed_limited”类,在模板中是第 0 个,在你的模型中是第 3 个,那么当你推理得到类别 3 的检测框时,输出时将类别改为 0 。你的模型类别顺序可以在ModelArts训练输出目录中的“index”文件中找到。 父主题: 算法类问题
  • 什么是区域、可用区 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 升级固件时提示升级版本必须大于当前版本怎么办? 检查设备网络情况,查看设备是否真正的处于在线状态。 SSH窗口命令行输入date,看时间是否同步,不同步则请修改: 调整时区,与中国时区一致,执行命令 timedatectl set-timezone Asia/Shanghai 修改设备时间,以当前时间为2019年10月17日19时19分19秒为例。执行命令 date -s “2019-10-17 19:19:19”(注意使用英文引号) hwclock –w reboot 父主题: 管理设备
  • HiLens Kit与Atlas 200DK的区别 HiLens Kit与Atlas 200DK的区别如下: Atlas 200 DK偏底层开发和纯离线开发,需要开发者理解和遵从HiAi Engine流程编排和思考接口实现要求,代码复杂度高一些。 HiLens Kit搭配开发框架HiLens Framework,偏应用开发,接口封装性高,接口简单,开发者直接使用,代码简单,且提供更多的外设接口。HiLens Kit作为华为HiLens的一部分,能和云侧华为HiLens 控制平台无缝集成。 父主题: 设备介绍
  • 华为HiLens支持哪些端侧设备? 华为HiLens平台目前主要支持基于昇腾D310设备、Atlas 800、IVS1800/3800和海思Hi35XX系列芯片的设备。 针对基于昇腾D310的设备,平台目前支持HiLens Kit、Atlas 500智能小站的注册、管理和注销。HiLens Kit注册方式请见注册HiLens Kit,Atlas 500注册方式请参与论坛讨论。 针对使用海思35xx系列芯片的设备,其设备厂商可以利用HiLens管理控制台进行批量管理,并为其产品赋予AI能力,详情请见管理产品。 父主题: 其他问题
  • 模型要求 导入的模型可为“.om”格式、“.pb”格式或“.caffemodel”格式,其中“.om”格式的模型才可以在HiLens Kit上运行,“.pb”格式或“.caffemodel”格式的模型在“导入(转换)”过程中,华为HiLens平台会自动将模型转换为“.om”格式。 并非所有模型都能转换成功,进行导入(转换)模型操作前,请确认是否为“.om”模型支持的TensorFlow和Caffe算子边界,详情请见附录Caffe算子边界和Tensorflow算子边界。
  • HiLens Studio中模型运行失败怎么办? 在HiLens Studio中运行模型失败,可通过如下方法进行问题排查: 确保HiLens Kit系统固件版本为2.2.200.011(TR6),升级操作请参考升级HiLens Kit系统固件版本。 确保HiLens Kit固件版本为1.3.0以上,升级操作请参考升级HiLens_Device_Agent固件版本。 检查模型格式是否为“.om”格式的模型。如果不是“.om”格式,HiLens Studio支持模型转换,详细操作请参见导入/转换本地开发模型。 由于HiLens Studio开发工具包升级至新版本C7X,使得目前HiLens Studio仅支持C7X版本的模型,即输出的模型是NHWC格式。而HiLens Kit设备支持C3X版本模型,即输出的模型是NCHW格式。 因此HiLens Studio会同时转换出C7X和C3X的模型,需要通过模型配置文件指定在不同平台运行不同模型,具体使用方法可参考HiLens Studio中的技能模板,或参考模型适配HiLens Studio。 父主题: HiLens Studio使用
  • 问题原因 HiLens Studio由于版本升级,导致模型不能与HiLens Kit兼容,所以在Modelarts和HiLens控制台经过模型转换的模型,只能用在HiLens Kit上,不能用在HiLens Studio上。 在HiLens Studio上进行模型转换后,会同时输出两个版本的模型,然后通过模型配置文件来指定在不同的平台上使用不同的模型,这样同一个技能在HiLens Studio和HiLens Kit上都能运行。
  • 解决方法 可以通过HiLens Framework中的RTMP接口构造一个显示器,将视频(图片帧)输出到显示器类,详情请见构造一个用于输出的显示器。 RTMP输出接口的使用方式与HDMI类似,如果您之前代码里面使用的是HDMI输出,只需要修改很少的代码就可以输出技能结果,只需要在本地搭建一个RTMP的服务器就可以实现本地推流。详细步骤如下: 下载nginx_rtmp,并解压压缩包,双击nginx.exe运行。 访问http://localhost:8080/进入显示页面(需要flash player支持)。 如果出现问题可以查看上一步解压得到的代码“/logs/error”定位问题。 图1 显示页面 修改代码中视频流的输出方式 图2 视频流输出方式 页面左上角输入推流地址并单击“Play”查看,也可以通过VLC查看网络视频流。 图3 查看视频流 搭建RTMP的服务器实现本地推流操作需要网络,可能有一定延迟。
  • 手动收集日志 在华为HiLens管理控制台,单击左侧导航栏“数据管理(Beta)”,进入“数据管理”页面。 单击选中日志上传失败的设备,然后单击右上角的“保存所有日志”。 弹出“上传日志”对话框。 图1 保存日志 勾选需要上传到OBS的设备日志,单击“确定”。 等待日志收集。 日志按需收集,系统日志文件较大,收集耗时较长。 图2 上传日志 一般5分钟以后,待日志收集完成,在“数据管理”页面单击设备卡片,进入对应文件夹下载日志文件压缩包至本地,即可查看日志。
  • 解决方法 根据页面报错无法清楚具体报错原因,可以通过浏览器的开发者工具获取到请求的response信息。以Chrome浏览器为例,可以使用快捷键F12打开开发者工具,然后选择“Network”页签,再单击“完成,暂不配置”,可以在Network页签窗口中看到本次请求的response信息。操作步骤如下: 快捷键F12打开开发者工具。 再单击“完成,暂不配置”。 等待接口返回403。 图2 F12打开开发者工具 切换到Response页签,查看response信息。 根据报错可以看出是网络限制导致,需要申请上传权限,或者将创建技能的简介以及描述减少,重新尝试。 图3 查看response信息
共100000条