本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

opencv深度神经网络模块dnn已经支持cuda

opencv_cuda_logos.jpg

图片来源:https://www.pyimagesearch.com/2016/07/11/compiling-opencv-with-cuda-support/

目前(2019.11.11)opencv深度神经网络模块(dnn)已经添加了cuda的支持,一看到这个消息的时候芒果马上去opencv官网以及github,翻了一遍blog、release还有issue等,都没发现,最后这一消息在opencv的文档里得到了证实,原来只是添加到了代码仓库里,还未正式发布。已经发布的opencv4.1.2正式版dnn模块的有关推理计算的枚举定义是如下这个样子:

文档链接https://docs.opencv.org/4.1.2/d6/d0f/group__dnn.html

enum      cv::dnn::Backend {
  cv::dnn::DNN_BACKEND_DEFAULT,
  cv::dnn::DNN_BACKEND_HALIDE,
  cv::dnn::DNN_BACKEND_INFERENCE_ENGINE,
  cv::dnn::DNN_BACKEND_OPENCV,
  cv::dnn::DNN_BACKEND_VKCOM
}

enum      cv::dnn::Target {
  cv::dnn::DNN_TARGET_CPU,
  cv::dnn::DNN_TARGET_OPENCL,
  cv::dnn::DNN_TARGET_OPENCL_FP16,
  cv::dnn::DNN_TARGET_MYRIAD,
  cv::dnn::DNN_TARGET_VULKAN,

可以看到截止最发布的正式版(4.1.2)是不支持cuda的,但在最新的opencv4.1.2-dev文档里发现新增了对cuda的支持,最新的文档有关定义如下:

文档链接:https://docs.opencv.org/master/d6/d0f/group__dnn.html

enum      cv::dnn::Backend {
  cv::dnn::DNN_BACKEND_DEFAULT,
  cv::dnn::DNN_BACKEND_HALIDE,
  cv::dnn::DNN_BACKEND_INFERENCE_ENGINE,
  cv::dnn::DNN_BACKEND_OPENCV,
  cv::dnn::DNN_BACKEND_VKCOM,
  cv::dnn::DNN_BACKEND_CUDA
}

enum      cv::dnn::Target {
  cv::dnn::DNN_TARGET_CPU,
  cv::dnn::DNN_TARGET_OPENCL,
  cv::dnn::DNN_TARGET_OPENCL_FP16,
  cv::dnn::DNN_TARGET_MYRIAD,
  cv::dnn::DNN_TARGET_VULKAN,
  cv::dnn::DNN_TARGET_FPGA,
  cv::dnn::DNN_TARGET_CUDA,
  cv::dnn::DNN_TARGET_CUDA_FP16
}

可以看到opencv仓库代码里已经添加了对cuda的支持,预计在下一个版本会正式发布。之前还一直觉得由于opencv是intel主导的原因不对cuda支持,现在一补上这一块,opencv在深度学习领域应用开发又大有可为了,真是期待呀。


本文由芒果浩明发布,转载请注明来源。
本文链接:https://mangoroom.cn/opencv/opencv-dnn-module-have-supported-cuda.html


 继续浏览关于 opencvdnncuda 的文章

 本文最后更新于:2019/11/11 11:00:49,可能因经年累月而与现状有所差异

 引用转载请注明:芒果的Blog > opencv,计算机视觉 > opencv深度神经网络模块dnn已经支持cuda