warning: setUpNet DNN module was not built with CUDA backend; switching to CPU错误解决

2023-05-16

问题描述

利用opencv-python的dnn模块调用yolo3模型进行目标检测的时候,根据网上的教程,加入GPU加速,也就是加入如下的两行代码:

 net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
 net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);

但是在运行之后,出现了这样的提示:

warning: setUpNet DNN module was not built with CUDA backend; switching to CPU

原因分析:

这说明GPU没被用上,原因是OPENCV在安装的时候,没有安装支持CUDA的版本,所以需要重新编译安装OPENCV。


解决方案:

安装OPENCV的教程可以参考这一个:https://blog.csdn.net/qq_37975595/article/details/109179388链接。注意,选择opencv4.4.0以上的版本!!我用的是4.4.0。本来我安装的是4.3.0,解决了一天的bug也没安装上!!!最后换了4.4.0,一下就装上了!

注意注意,cmake 这一步就是编译选项,我当时采用的是这个:

 cmake -DCMAKE_BUILD_TYPE=RELEASE \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules .. \
    -DWITH_CUDA=1 \
    -DCUDA_ARCH_BIN=7.5 \
    -DENABLE_FAST_MATH=1 \
    -DCUDA_FAST_MATH=1 \
    -DWITH_CUBLAS=1 \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    ..

其中-DWITH_CUDA=1这句话就是选择了有CUDA版本的opencv。

-DCUDA_ARCH_BIN=7.5这个一定一定要选择跟你电脑显卡相匹配的数字,不然GPU还是不能用,还得重新编译安装。如果不匹配,会出现这样的报错:

 error: (-216:No CUDA support) OpenCV was not built to work with the selected device. Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration. in function 'initCUDABackend'

此问题的解决参考了该博主的博客:https://blog.csdn.net/qq_34717531/article/details/108735629

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

warning: setUpNet DNN module was not built with CUDA backend; switching to CPU错误解决 的相关文章

  • 支持多个Python模块版本(具有相同版本的Python)

    我环顾四周 但找不到我的问题的明确答案 我非常合理地需要支持同一 Python 模块的 N 个版本 如果它们存储在同一个包 目录中 则它们必须具有唯一的名称 如下例所示 some package my module 1 0 py some
  • 为什么“导入模块”然后“从包导入模块”再次加载模块?

    我的 PYTHONPATH 中有一个包 看起来像这样 package init py module py print Loading module 如果我从以下位置运行 Pythonpackage 目录 或在此目录中写入另一个模块 并输入
  • 跨包模块设置日志记录的有效方法

    我有一个包 其中包含多个组件 这些组件将从使用日志记录和输出有用信息中受益匪浅 我不想做的是为每个文件 设置 正确的日志记录 并在以下位置进行 import logging logging basicConfig level DEBUG m
  • 在错误位置寻找模块的代码

    我使用 build dojotoolkit org 我的第一次尝试 创建了一个包含 3 层的多层构建 dojo js dojox js dijit js 每个 js 文件都上传到自己的文件夹中 dojo dojox dijit 当我运行代码
  • 如何制作Python模块或函数并在编写其他程序时使用它?

    在很多情况下 我必须在多个程序中一遍又一遍地编写大行代码 所以我想知道是否可以只编写一个程序 保存它 然后在不同的程序 例如函数或模块 中调用它 一个基本的例子 我编写一个程序来检查一个数字是否是回文 然后我想编写一个程序来检查一个数字是否
  • 如何在magento中添加自定义模块

    您好 我想为页脚创建一个自定义模块 用于显示新闻标题 还没有使用自定义模块 我该怎么做 谁能告诉我创建自定义模块的简单步骤 Thanks 您会发现的最佳资源是 模块创建器扩展 http www magentocommerce com ext
  • TypeScript 模块

    我想知道是否有可能以某种方式将两个或多个文件中的两个或多个类添加到 TypeScript 中的同一模块中 像这样的事情 src gui uielement ts module mylib module gui export interfac
  • Python导入类型检测

    python 模块可以检测是否已导入import module or from module import 就像是 if something something print Directly imported with import nam
  • 我想要动态加载到入口点的 Webpack 捆绑模块

    下面的代码似乎使用动态导入 https webpack js org guides code splitting dynamic imports function executeApplication void const loadData
  • Ruby:在类方法中使用模块方法

    我们如何在类方法中使用模块方法而不扩展模块 module TestModule def module method module end end class TestClass include TestModule def self tes
  • GWT:在另一个模块内调用RPC服务

    我有一个模块B 它继承了模块A 当我从A内部调用RPC服务时 它们工作正常 但是当我在B中调用A的服务时 RPC调用总是失败 我错过了什么吗 预先感谢您的任何帮助 我在这里找到了我的问题的答案 http blog cloudglow com
  • Rails:如何为 ruby​​ 模块编写测试?

    我想知道如何为混合到几个类中的模块编写单元测试 但不太知道如何去做 我是否通过在包含它们的类的测试文件之一中编写测试来测试实例方法 似乎不正确 或者您可以以某种方式将所包含方法的测试保留在特定于模块的单独文件中吗 同样的问题也适用于类方法
  • 错误:无法安全地评估递归定义模块的定义

    我很想了解为什么会发生此错误以及解决该错误的最佳方法是什么 我有几个文件types ml and types mli它定义了一个变体类型value可以是许多不同的内置 OCaml 类型 float int list map set 等 由于
  • 对内核模块代码进行单元测试是否可行?

    如果是这样我应该使用什么技术 我正在考虑使用 hippomock 因为它们可以用来模拟 C 方法 还有更好的方法吗 如果是这样 任何人都可以提供建议 或者您认为内核的单元测试是否太过分了 从 Linux 内核版本 5 5 开始KUnit可用
  • Node.js:如何从模块内获取需要函数的文件名?

    我试图从需要模块功能的地方获取原始文件名 我知道你可以使用 filename获取当前文件 但我想获取原始文件 例如 我有一个简单的模块 模块 js module exports function return print function
  • 在 Angular 中使用多个模块有什么好处?

    我是 Angular Js 的熟悉者 最近我发现在一些项目中 在主模块中创建并组装了多个 Angular 模块 代码看起来像 angular module main main sub1 main sub2 main sub2 angular
  • 当每个人都对 OSGi 进行标准化时,为什么 Sun 还要发明另一个模块系统?

    Sun 在 JDK 模块化方面投入了大量精力 其形式为Jigsaw http openjdk java net projects jigsaw 并暗示它也应该成为其他 Java 开发人员选择的模块格式 使用此功能的唯一著名参与者是 NetB
  • 使用多个模块时优化 Flex

    我有一个 Flex 应用程序 加载时间非常重要 消费者网站 我希望能够在屏幕上显示一些内容 然后允许根据需要加载其他模块 我面临的问题是所有模块的总和比我将所有组件包含在单个 swf 文件中要大得多 原因很明显 例如 访问 Web 服务所需
  • 如何在 Mac 上安装 Beautiful Soup 模块?

    我读了这篇文章但没有找到解决方案 http docs python org install index html http docs python org install index html 正常 的方法是 访问美丽汤网站 http ww
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记

随机推荐