机器学习PAI 代码运行报错怎么办?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用阿里云机器学习平台PAI时,代码运行报错可能由多种原因引起。以下是针对常见问题的详细分析和解决方法,结合知识库中的参考资料提供专业指导:
如果报错信息提示INPUT_FORMAT_ERROR
,通常是因为输入数据格式不符合要求。可以尝试以下操作: - 将数据序列化为JSON字符串:
使用json.dumps()
方法将数据转换为字符串格式。例如:
import json
data = json.dumps(datas)
如果报错信息提示param invalid UserNotInTnt
,通常是由于用户权限配置不正确。可以按照以下步骤排查: - 设置工作空间管理员:
在iTag的人员管理页面,将对应的RAM账号设置为管理员。 - 检查子账号权限:
如果iTag是由其他子账号创建的,可以让该子账号将主账号添加到权限列表中。 - 重新创建工作空间:
如果AI工作空间时间较久,可能存在权限异常。建议创建一个新的AI工作空间并重新配置iTag。 - 参考授权文档:
更多授权操作可参考为PAI-iTAG授权的相关文档。
如果日志中出现No available cluster has the required feature: fuxi_gpu,gpu_with_vm_cuda8
的报错,说明当前工作空间关联的MaxCompute计算资源未开启GPU功能。解决方法如下: - 开启GPU功能:
在工作空间的资源管理中启用GPU功能,具体操作可参考管理工作空间的文档。 - 检查地域限制:
确保您所在的地域(如华北2、华东2等)支持GPU资源。如果不支持,可以考虑切换到支持GPU的地域。
如果遇到错误码137
,通常是因为内存使用量过高(OOM错误)。可以采取以下措施: - 更换实例规格:
选择内存更大的实例类型。 - 增加Worker数量:
分布式训练任务可以通过增加Worker数量来分摊内存压力。 - 优化代码内存申请:
检查代码中是否有不必要的内存占用,并进行优化。 - 查看内存水位:
结合任务详情中Worker的内存使用情况,进一步定位内存不足的原因。
如果使用自定义Processor时遇到问题,可以参考以下解决方案: - 压缩包过大:
推荐使用Docker镜像上传运行环境和大文件,仅增量更新改动部分以提高效率。 - 导入cv2报错:
如果出现libSM.so.6: cannot open shared object file
的错误,可以通过以下方式解决: - 使用pip install opencv-python-headless
安装无依赖版本的cv2。 - 或者将系统中已安装的libXext、libSM及libXrender库拷贝至ENV/lib目录并随Processor上传。 - 配置环境变量:
将额外的依赖库存放至Processor目录的任意位置,EAS会自动将其添加至LD_LIBRARY_PATH
环境变量。其他环境变量可通过os.environ['key'] = 'val'
配置。 - 避免代码异常退出:
在关键代码段增加异常检测机制(try-catch),确保服务稳定性。即使进程退出,EAS也会自动重启。
如果需要进一步定位问题,可以通过以下方式查看日志: - 工作流运行状态日志:
显示分布式作业的服务器运行情况,格式为“正在计算的节点数/已计算结束的节点数/总计划节点数”。 - Logview日志:
包含实验的Debug信息,帮助查看代码执行过程中的详细信息。具体操作如下: 1. 打开日志链接,进入Logview页面。 2. 双击实例,选择要查看的Task实例及Worker对应的实例。 3. 查看Stdout
列下的Print信息或StdErr
列下的报错信息。 - 注意事项:
公共云GPU服务器即将过保下线,建议提交CPU版本的TensorFlow任务。如需使用GPU,请前往DLC提交任务。
根据上述内容,您可以根据具体的报错信息快速定位问题并采取相应措施。如果问题仍未解决,建议: - 提交工单:联系阿里云技术支持团队获取进一步帮助。 - 参考官方文档:查阅PAI相关产品的官方文档,获取更详细的配置和操作指南。
希望以上解答能帮助您解决问题!您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。