我在尝试将华为昇腾ModelZoo中的YOLOv5模型部署到昇腾Ascend 910环境时,遇到了模型加载失败和NPU设备无法识别的问题
收藏回复举报
我在尝试将华为昇腾ModelZoo中的YOLOv5模型部署到昇腾Ascend 910环境时,遇到了模型加载失败和NPU设备无法识别的问题
t('forum.solved') 已解决
发表于2026-04-07 22:44:22
0 查看

华为昇腾ModelZoo中YOLOv5模型部署遇到ACL错误和NPU设备识别问题

我在尝试将华为昇腾ModelZoo中的YOLOv5模型部署到昇腾Ascend 910环境时,遇到了模型加载失败和NPU设备无法识别的问题。具体表现为:

  1. 模型加载失败:执行from modelzoo.tensorflow import YOLOv5时出现RuntimeError: ACL error, code: 507017错误。
  2. NPU设备未识别:使用TensorFlow检查可用设备时,只显示CPU和GPU,没有NPU设备。

环境信息:

  • 操作系统:Ubuntu 18.04
  • Python版本:3.8.10
  • Ascend版本:21.0.4
  • CANN版本:5.0.4
  • ModelZoo版本:1.0.0
  • 硬件:Ascend 910,驱动版本1.0.15

已尝试的解决方案:

  1. 检查Ascend环境:使用npu-smi info命令显示设备状态正常。
  2. 确认CANN环境变量已正确设置:ASCEND_HOME指向/usr/local/Ascend/ascend-toolkit/latest
  3. 验证TensorFlow是否能识别NPU设备:使用tf.config.list_physical_devices()只返回CPU设备。

具体错误日志 RuntimeError: ACL error, code: 507017 # 设备检查结果 可用设备: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')] # 缺少NPU设备

可能的原因分析(根据官方文档):

  1. TensorFlow与CANN版本不兼容:当前TensorFlow版本可能未适配CANN 5.0.4,导致NPU设备未被正确识别。
  2. 环境变量设置不完整ASCEND_RT_VISIBLE_DEVICES等环境变量可能未正确配置。
  3. 依赖包版本冲突:tokenizers与pyarrow等依赖包可能存在版本兼容性问题。

求助内容:

  1. 请问有在类似环境下成功部署YOLOv5模型的经验吗?
  2. 如何确定TensorFlow与CANN版本的兼容性?
  3. 除了环境变量检查,还有哪些排查步骤?

我要发帖子