Dlib 通过NVIDIA的 CUDA 使用GPU

2023-10-27

使用工具列表

经过各种尝试,只有使用cudnn7这个版本,才能使人脸识别的net函数运行正常。如果有朋友能把其它版本跑正常,可以在下方评论区留言。

win10

dlib-19.22.zip

VS2019

cudnn-10.2-windows10-x64-v7.6.5.32.zip

cuda_10.2.89_441.22_win10.exe

CMake 3.22.1 GUI

1.查看运行环境

cuda + cudnn,如果你想让dlib中的深度学习算法跑得更快并且显卡支持GPU加速,那么可以使用cuda大大提高计算性能。

前提条件是你有NVIDIA显卡。

打开英伟达控制面板(NVIDIA Control Panel)

 点击帮助->系统信息->组件

查询到我的是NVIDIA CUDA 11.1.96 driver

 确定我们可以安装CUDA11.1这个版本。

查看算力配置sm

CUDA GPU | NVIDIA Developer

D:\OpenCV\dlib-19.22\dlib\cmake_utils\test_for_cuda\CMakeLists.txt

list(APPEND CUDA_NVCC_FLAGS "-arch=sm_50

2.安装CUDA Toolkit最新版本  CUDA Toolkit 11.5 Update 1 Downloads | NVIDIA Developer

历史版本 https://developer.nvidia.com/cuda-toolkit-archive

根据你的显卡CUDA来选择对应的显卡。

最新CUDA的11.5。

安装完成后用打开powershell,执行nvcc -V ,成功的话会返回cuda版本号。

 3.安装CUDNN cuDNN Archive | NVIDIA Developer  其它连接要登录NVIDIA才能下载。但是这个连接多下载几次又可以了。

可选1.

将cudnn-11.5-windows-x64-v8.3.0.98.zip下的bin;include;lib解压到CUDA Toolkit 的安装目录下C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5下,如下所示。

查看是否安装成功

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\extras\demo_suite

运行bandwidthTest.exe

 可选2.

或者把CUDNN解压的 E:\tools\NVIDIA\cuda头文件的路径加入到

系统变量CMAKE_PREFIX_PATH中

4.使用cmake-gui

注意修改CMAKE_INSTALL_PREFIX的路径不能用原始的C:/Program Files (x86)/dlib_project盘目录。

修改一个位置D:/OpenCV/dlib-nividia/install防止win10不允许在c:盘无权限创建文件夹,VS2019报MSB3073错误  。在win7则没有。

  错误

需要下载最新的dlib-19.22没问题,测试过19.19容易报下面的错误

Index of /files

Checking if you have the right version of cuDNN installed.

*** Found cuDNN, but it looks like the wrong version so dlib will not use it. ***

*** Dlib requires cuDNN V5.0 OR GREATER. Since cuDNN is not found DLIB WILL NOT USE CUDA. ***

*** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNN's folder. ***

Disabling CUDA support for dlib. DLIB WILL NOT USE CUDA

VS2019项目配置

VC++目录

DLIB_PNG_SUPPORT
DLIB_JPEG_SUPPORT
DLIB_JPEG_STATIC
DLIB_USE_CUDA

cuda的lib文件

cublas.lib

cublasLt.lib

cuda.lib

cudadevrt.lib

cudart.lib

cudart_static.lib

cudnn.lib

cufft.lib

cufftw.lib

curand.lib

cusolver.lib

cusolverMg.lib

cusparse.lib

nppc.lib

nppial.lib

nppicc.lib

nppicom.lib

nppidei.lib

nppif.lib

nppig.lib

nppim.lib

nppist.lib

nppisu.lib

nppitc.lib

npps.lib

nvblas.lib

nvgraph.lib

nvjpeg.lib

nvml.lib

nvrtc.lib

OpenCL.lib

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

Dlib 通过NVIDIA的 CUDA 使用GPU 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • 定时任务完美清理tomcat日志

    一 在tomcat的bin路径下新建 sh脚本文件clean sh 内容如下 增加 catalina out 按日生成 过期清理 1 复制catalina out 按日期命名 2 清空catalina out 3 找到30天以前的各种log
  • 利用Floodlight进行DDOS攻击防御实验笔记

    Floodlight Floodlight是Apache授权并基于JAVA开发的企业级OpenFlow控制器 当前最新版本是1 2 Floodlight OpenFlow Controller ProjectFloodlight http
  • 抽象类(abstract class)和接口(Interface)的区别

    在Java语言中 abstract class和interface是支持抽象类定义的两种机制 正是由于这两种机制的存在 才赋予了Java强大的面向对象能力 abstract class和interface之间在对于抽象类定义的支持方面具有很
  • 知识星球-伙伴匹配系统07

    伙伴匹配系统07 缓存的实现 Redis Redis数据结构 Java里的实现方式 缓存预热 怎么使用缓存预热 定时任务的实现 数据查询慢怎么办 用缓存 提前把数据取出来保存好 通常保存到读写更快的介质 比如内存 就可以更快的读写 缓存的实
  • 智安网络丨人工智能在网络攻防领域的应用及问题分析

    算法 数据与算力是人工智能发展的三大核心要素 近些年来 在算法增强 数据爆增及算力提升等多种有利因素的驱动下 人工智能飞速发展并在各行各业得到广泛应用 在网络空间安全领域也不例外 网络攻防对抗不断演化升级 人工智能因其具备自学习和自适应能力
  • Python学习第九天——time、datetime

    1 time 以当前时间为准 让大家快速认识三种形式的时间 print time time 时间戳 1487130156 419527 print time strftime Y m d X 格式化的时间字符串 2017 02 15 11
  • 2023华为od机试统一考试B卷Java实现【座位调整】

    前言 本题使用Java解答 如果需要python答案 请参考以下链接 点我 思路 如果某位置是空的 用0表示 要检查这个位置的左右是否也是空的 如果是 则这个位置可以坐人 如果这个位置坐人了 那么下一个位置肯定不能坐人 所以我们要向前跳过一
  • Vue底层理解

    1 key的作用 首先v for 在列表渲染时 我们可以用v for基于一个数组来渲染一个列表 v for指令需要使用item in arr形式的特殊语法来进行渲染列表 arr是源数据 ul li item message li ul 当V
  • 周期方波信号频谱图

    在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子 在书上和网上查阅了一些资料 发现大都是讨论的都是下图左边的周期信号的频谱 课程老师的PPT中也只列出了另一种周期信号频谱图的结论 没有在进行傅里叶变换 自己便根据定义推导了一遍 贴在这
  • 天池零基础入门NLP - 新闻文本分类Top1方案的bert4torch复现

    天池有些长期比赛可以练习玩玩 还可以继续提交 于是试了下简单的新闻文本分类任务 Top1的解决方案思路是 预训练 fgm 交叉验证模型融合 代码是基于bert4keras的 本人基于bert4torch复现了 fgm 交叉验证模型融合 部分
  • 查询计算机网络凭据,查看电脑账密利器 - 电脑凭据管理器图文使用教程

    原标题 查看电脑账密利器 电脑凭据管理器图文使用教程 在使用浏览器时我们习惯通过记住密码来保存登录账号 方便下次登录使用 但是这些密码要怎么查看呢 如果我忘记了某个账号 我该如通过浏览器记住的密码找回呢 其实在Win系统上有个功能是大家平时
  • 点估计及矩估计的一些理解

    点估计指的是用样本统计量来估计总体参数 因为样本统计量为数轴上某一点值 估计的结果也以一个点的数值表示 所以称为点估计 在这个定义中 总体参数也即是总体分布的参数 一般我们在讨论总体分布的时候 只有在简单随机样本 样本独立同分布 情况下才有
  • 智能合约基本知识

    合约就是个类 就是一段普普通通的程序 区块链网络上有原生货币和代币 对代币的操作 需要用代币合约的地址实例化一个对象 然后通过这个对象的相应的方法去操作 授权和转移 1 emit 是触发一个事件 就相当于是在函数执行的过程中给你发了一个执行
  • vue解决vant组件样式失效问题

    vue项目中引入vant组件 若发现vant组件样式失效 通常有以下几种解决方法 方法一 引入全局样式 在引入vant组件的地方或者全局引入vant组件所有的样式 引入方法为 在vue引入vant的页面中 添加以下代码 import van
  • Java数组String []的用法详解

    Java数组是在Java编程中经常使用的一个类 下面是对Java数组的使用说明 1 Java数组的语法 String 数组下标 Java数组的下标是从0开始的 2 示例代码 public class StringArray public s
  • 深度分析Linux下双网卡绑定七种模式 多网卡的7种bond模式原理

    多网卡的7种bond模式原理 Linux网卡绑定mode共有七种 0 6 bond0 bond1 bond2 bond3 bond4 bond5 bond6 常用的有三种 mode 0 平衡负载模式 有自动备援 但需要 Switch 支援及
  • Android的Button属性使用

    目录 1 文字大小 颜色 2 自定义背景形状 一 Shape的属性 rectangle oval line ring 二 shape的子属性 corners gradient padding size solid stroke 3 自定义按
  • R语言(5) 折线图、散点图

    低级绘图函数 lines abline points 函数lines 其作用是在已有图上加线 命令为lines x y 其功能相当于plot x y type l lines比abline更灵活 函数abline 可以在图上加直线 其使用方
  • 【ESP32-IDF】04-3 存储-FATFS

    主系统flash挂载fatfs文件系统 文章目录 主系统flash挂载fatfs文件系统 1 概述 2 步骤 2 1 修改分区表 2 2 在主系统flash中挂载文件系统 2 3 使用操作文件的函数进行操作 2 4 卸载文件系统 3 总的程
  • Dlib 通过NVIDIA的 CUDA 使用GPU

    使用工具列表 经过各种尝试 只有使用cudnn7这个版本 才能使人脸识别的net函数运行正常 如果有朋友能把其它版本跑正常 可以在下方评论区留言 win10 dlib 19 22 zip VS2019 cudnn 10 2 windows1