IT之家 1 月 18 日消息,英特爾開源計算機視覺庫 OpenCV 4.7 于去年 12 月正式發(fā)布。新版本帶來了全新的 ONNX 層,大大提高了 DNN 代碼的卷積性能,還為 DNN 模塊提供了華為昇騰 CANN 后端支持。
根據 OpenCV 中國團隊的最新測試,基于昇騰異構計算架構 CANN 的加速能力,用 OpenCV Zoo 中的 PP-ResNet50、MobileNet 和 YOLOX 對 CANN 后端進行了測試,發(fā)現三個模型在 CANN 后端下分別達到了 3.29ms,1.21ms,12.80ms 的優(yōu)異結果。
同時,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()
南方科技大學計算機系的于仕琪老師表示,即使 OpenCV 針對 ARM CPU 進行了 winograd conv 等優(yōu)化,在蘋果標桿 CPU M1 上完成 ResNet50 推理都要跑 20ms 以上,而華為昇騰僅用了 3.29ms。
IT之家了解到,昇騰 CANN(Compute Architecture for Neural Networks)是華為針對 AI 場景推出的異構計算架構。昇騰 CANN 支持昇思 MindSpore,OpenCV DNN,飛槳 Paddle、PyTorch、TensorFlow 等神經網絡推理和訓練框架,并兼容多種底層硬件設備。
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。