Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了280,040,973字

最近回复

该文章投稿至Nemo社区   资讯  板块 复制链接


3ms 完成 ResNet50 推理,OpenCV 4.7 在华为昇腾架构下超越苹果 M1

发布于 2023/01/18 08:31 219浏览 0回复 1,061

IT之家 1 月 18 日消息,英特尔开源计算机视觉库 OpenCV 4.7 于去年 12 月正式发布。新版本带来了全新的 ONNX 层,大大提高了 DNN 代码的卷积性能,还为 DNN 模块提供了华为昇腾 CANN 后端支持。

根据 OpenCV 中国团队的最新测试,基于昇腾异构计算架构 CANN 的加速能力,用 OpenCV Zoo 中的 PP-ResNet50、MobileNet 和 YOLOX 对 CANN 后端进行了测试,发现三个模型在 CANN 后端下分别达到了 3.29ms,1.21ms,12.80ms 的优异结果

同时,CANN 后端的推理结果也与默认 CPU 后端的基本保持一致。使用 OpenCV,用户只需下面 7 行 Python 代码,无需学习 CANN 的 API,就可以简洁地调用起昇腾 AI 处理器,实现神经网络加速推理(核心为第三、四行代码,其余为常见模型推理逻辑代码):

import cv2 as cv
net = cv.dnn.readNet("/path/to/model.onnx")
net.setPreferableBackend(cv.dnn.DNN_BACKEND_CANN)
net.setPreferableTarget(cv.dnn.DNN_TARGET_NPU)
input = cv.imread("/path/to/image.jpg")
net.setInput(cv.dnn.blobFromImage(input))
out = net.forward()
▲ 使用 CANN 后端推理的示例代码

南方科技大学计算机系的于仕琪老师表示,把 OpenCV 针对 ARM CPU 进行了 winograd conv 等优化,在苹果标杆 CPU M1 上完成 ResNet50 推理都要跑 20ms 以上,而华为昇腾仅用了 3.29ms

IT之家了解到,昇腾 CANN(Compute Architecture for Neural Networks)是华为针对 AI 场景推出的异构计算架构。昇腾 CANN 支持昇思 MindSpore,OpenCV DNN,飞桨 Paddle、PyTorch、TensorFlow 等神经网络推理和训练框架,并兼容多种底层硬件设备。

图片


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/668/409.htm]

点赞(0)
点了个评