Windows10搭建GPU版Darknet—yolov4—VS2022+CUDA+CUDNN(亲测有效)

1 VS2019安装

网址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

下载完成之后双击.exe文件

步骤严格如下安装

默认语音包为中文(简体)

安装位置可以自行选择,完成以后就可以点击安装了。

安装完毕以后需要重启软件,点击确定。

然后的话我们Visual Studio 2022是社区版的需要一个微软的账号登陆,登录以后就可以永久免费使用了。当然,如果我们这里没有是给大家做个示范就先选择以后再说,这个的话就只有30天免费使用。

跳过此项后来到开发环境设置,因为我们是C++所以选择Visual C++

启动VS

到这里我们的Visual Studio 2022已经安装完成可以使用了

1.1 Visual Studio 2022使用教程

安装完成以后就可以来写一个简单的C语言代码了。

 那怎么去写呢?

这里我们双击创建新建项

 再双击空项目

 然后我们就可以根据自己想要的创建项目的名字和位置了,一般项目名称不要出现中文和空格,这里我就叫test_8_11,再点击创建。

进入页面以后,用鼠标右键点击源文件

 再添加新建项

因为我们写的是C语言代码就命名为.c文件

 点击添加,我们就创建了一个新的test.c文件

 然后我们就可以输入自己想要的代码了,这里我们输入一个简单的代码程序

#include<stdio.h>
int main()
{printf("Hello World!");return 0;
}

  ctrl+F5代码执行

到这里我们的Visual Studio 2022就可以正常使用了,有任何问题都可以在评论区留言或者直接私信我,我会一 一解答大家的问题

 1.2 CUDA到底是个啥


统一计算设备架构(Compute Unified Device Architecture, CUDA)是由NVIDIA推出的、只能用于自家GPU的通用并行计算架构,该架构能够使GPU解决复杂的计算问题。所谓并行计算,计算的原则可以概括为:一个大问题可以被划分为很多可以同时解决的小问题,并对这些小问题同时进行处理计算的过程。CUDA中计算分为两部分,串行部分在Host上执行,即CPU,而并行部分在Device上执行,即GPU。只有要解决的计算问题是需要进行大量并行计算的时候才能发挥CUDA的作用。

近年来,GPU被广泛应用于深度学习领域,并取得了相当哇塞的效果,基于GPU的并行计算已经成为训练深度学习模型的标配。然而,GPU并不是一个独立运行的计算平台,还需要与CPU协同工作,可以将其看做CPU的协处理器。因此GPU并行计算,其实是指CPU+GPU的异构计算架构。GPU与CPU通过PCIe总线连接在一起来协同工作,CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device)

1.3  cuDNN又是个啥

NVIDIA CUDA 深层神经网络库(cuDNN)是一个用来进行 GPU 加速的深层神经网络库。cuDNN可以显著加速深度学习框架。cuDNN还可以集成到更高级别的机器学习框架中,如谷歌Tensorflow、加州大学的caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。如果将CUDA看作是一个木匠的木工桌,上面配有各种需要的工具。而cuDNN就相当于是木工桌上的工具之一,如一把扳手。但是这个叫CUDA的木工桌买来的时候,并没有送扳手,这时木匠想在木工桌上拧个螺钉,就需要木匠自己来配置一把合适的扳手。同理,如果想要在CUDA上面运行深度神经网络,就需要安装合适版本的cuDNN。这样才能使GPU进行深度神经网络的工作。

2 CUDA+cuDNN安装步骤内容介绍

2.1 CUDA的安装步骤

首先安装NVIDIA的显卡驱动,在安装之前需要确认自己电脑显卡驱动的产品类型,以及支持的CUDA版本

方法一:cmd窗口运行nvidia-smi 若此处没有cuda version 版本 则没有显卡

方法二:右击屏幕空白处

支持的CUDA版本选择的是11.6。下载链接如下所示,可按自己显卡配置的需求自定义下载:

CUDA Toolkit Archive | NVIDIA Developer选择出适合自己的版本的CUDA

当下载完成后,就可以开始安装CUDA啦!安装的时候最好关上防火墙。我第一次配置环境就在安装这块墨迹了很久,卸载重新安装又很麻烦,所以这步一定要仔细!

下载后点击exe文件运行,一共会设置两次解压目录,分别为临时解压目录与安装目录。临时解压路径默认与自定义都可以,安装结束后,临时解压文件夹会自动删除;安装目录路径建议默认即可(注:临时解压目录与安装目录的安装路径不能设置一样,否则安装结束后会找不到安装目录),选择安装目录时要注意记一下安装路径,后面还会用到。

前面系统检查、许可协议按默认进行即可,安装选项选择自定义安装(第一次安装全选,第N次安装只选择CUDA),自定义选项如下图所示:

接下来就可以选择安装目录位置了,为了避免出错,这里的安装路径建议默认路径,不用去更改,这里再注意下记住安装位置。

到这里CUDA就安装完成了,随后可以通过“Win+R”打开命令行输入“cmd”后,在默认安装文件夹下输入“nvcc -V”查看是否安装成功:

2.2 cuDNN的安装步骤

cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算,因此在安装完CUDA后还要下载与之匹配版本的cuDNN。

下载地址:cuDNN Archive | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-archive#a-collapse51b

选择 与自己cuda版本对应的cudnn

或者也可以右键点击需要下载的版本,选择“复制链接”,然后打开迅雷等下载工具,添加任务时粘贴进刚才复制的网址,即可完成下载。下载完成后,对压缩包进行解压并打开,可以看到有几个文件夹,将每个文件夹里面所有的内容复制并放到CUDA安装目录相应文件夹下即可。

具体操作如下,解压

打开解压文件,查看里面的文件夹:

打开前面CUDA的安装目录,并与cuDNN目录进行比对:

将cuDNN对应文件夹的内容复制到CUDA对应文件夹中:

2.3 设置环境变量与验证

完成后需要设置环境变量,计算机上点“右键”,打开“属性”->“高级系统设置”->“环境变量”,可以看到系统中多了CUDA_PATH和CUDA_PATH_V11_1两个环境变量:

然后编辑系统变量下的 “Path”变量。此处需要添加两个变量:

1.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin

2. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\CUPTI\lib64

编辑完成后点击“确定”,cuDNN就安装完事儿啦,最后通过“Win+R”打开命令行输入“cmd”后,输入“nvcc --version”验证一下是否安装成功:

或者采用CUDA内置的deviceQuery.exe 和 bandwithTest.exe 来判断是否安装成功。

通过“Win+R”打开命令行输入“cmd”后,cd到安装目录下的demo_suite,然后分别执行bandwidthTest.exe与de viceQuery.exe,成功的话会得到下图:

 到这里,结果显示PASS关于VS2022+CUDA11.1+cuDNN8.0.5的安装就完成啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决 IPA 打包过程中的 “Invalid Bundle Structure“ 错误

哈喽&#xff0c;大家好呀&#xff0c;淼淼又来和大家见面啦&#xff0c;咱们行业内的应该都知道&#xff0c;在开发 iOS 应用时&#xff0c;将应用打包成 IPA 文件是常见的步骤之一。最近很多小伙伴们说在打包过程中&#xff0c;有时会遇到 "Invalid Bundle Structure&qu…

464. 我能赢吗

464. 我能赢吗 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_464我能赢吗_记忆化dp 错误经验吸取 原题链接&#xff1a; 464. 我能赢吗 https://leetcode.cn/problems/can-i-win/description/ 完成情况&#xff1a; 解题思路&#x…

【Go】Go Swagger 生成和转 openapi 3.0.3

本文档主要描述在 gin 框架下用 gin-swagger 生成 swagger.json 的内容&#xff0c;中间猜的坑。以及&#xff0c;如何把 swagger 2.0 转成 openapi 3.0.3 下面操作均在项目根目录下执行 生成 swagger 2.0 import swagger go get -u github.com/swaggo/gin-swagger go get …

简述java中常见的运行时异常以及如何捕获和处理异常

一、在Java中&#xff0c;常见的运行时异常&#xff08;RuntimeException&#xff09;包括以下几种&#xff1a; NullPointerException&#xff1a;当应用程序试图访问空对象时&#xff0c;会抛出此异常。简单地说&#xff0c;就是调用了未经初始化的对象或者是不存在的对象。…

vue中this.$emit(“update:xx“,value)和xx.sync的用法

只做记录与讲解特别需要注意的地方 父组件 <hello-world :message.sync"originStr" /> 子组件 <button click"this.$emit("update:message", "Hello World");">兄弟点我</button>注意 父组件的message必须与子组件…

兴趣的转变

40多了&#xff0c;对事物的兴趣也变化了不少。之前的看过一些政兵文科的内容&#xff0c;现在也很少看了&#xff0c;前一段还关注一些华为手机&#xff0c;新能源汽车之类的新闻&#xff0c;看多了也觉得无趣了。 在想关注一个对自己比较有意义的内容&#xff0c;可以让自个沉…

炫酷个人主页(源码免费)

炫酷个人主页 效果图部分代码领取源码下期更新预报 效果图 部分代码 <!DOCTYPE html> <!--哪怕是深爱之人 对我们的痛苦一无所知&#xff01;* ░░░░░░░░░░░░░░░░░░░░░░░░▄░░* ░░░░░░░░░▐█░░░░░░░░░░░▄▀▒▌░* ░…

Cocos Creator 中编码规范 (6)

Cocos中命名规范 创建文件夹&#xff0c;全小写。创建脚本&#xff0c;首字母大写的驼峰形式。创建变量&#xff0c;首字母小写的驼峰形式 官方的编码规范

Jenkins android 自动打包安卓 centos8.5 运维系列五

1 新建项目android #cat android.sh #!/bin/bash rm -rf /data/.jenkins/workspace/android/app/build/outputs/apk/debug/* rm -rf /data/.jenkins/workspace/android/app/build/outputs/apk/release/* cd /data/.jenkins/workspace/android/app source /etc/profile g…

QListView 事件过滤器中没有鼠标事件

如果您在尝试为QListView添加事件过滤器来捕获鼠标事件时遇到问题&#xff0c;这可能是因为QListView&#xff08;或者更准确地说&#xff0c;它的视图部件&#xff09;自身正在处理这些鼠标事件&#xff0c;从而阻止了事件传递到事件过滤器。在Qt的模型/视图架构中&#xff0c…

Android Activity.FLAG.ACTIVITY_NEW_TASK是什么

一、对话内容 Android启动模式&#xff0c;startActivity中的intent新增flag Activity.FLAG.ACTIVITY_NEW_TASK是否会对目标Activity的启动模式造成影响。 因为非Activity类型的context需要添加这个标志&#xff0c;如果目标activity是SingleTask/SingleTop/SingleInstance启动…

一文读懂:架构图类型、设计方法(内附大量案例)

架构图是一种用于描述和展示软件系统或应用程序的结构和组成的图形表示。它通常包括系统的各个组件、模块、接口、数据流等元素&#xff0c;并显示它们之间的关系和交互。 一、架构图的类型 架构图有多种类型&#xff0c;常见的几种类型包括&#xff1a; 高层架构图&#xff0…

政安晨【零基础玩转各类开源AI项目】:基于Ubuntu系统本地部署使用GPT-SoVITS进行语音克隆与TTS语音生成

目录 介绍 什么是TTS 安装Miniconda 框架功能 测试通过的环境 开始 1. 安装好miniconda 2. 进入下载的GPT-SoVITS目录 3. 创建虚拟环境并执行脚本 4. 执行过程中可能会出错 5. 下载预训练模型 6. 训练过程中可能会报错 7. 使用过程中可能出错 8.以下是使用全过程…

JavaEE技术之MySql主从复制及mycat[了解,不讲]

文章目录 1. 主从复制1.1. 主从同步的原理1.2. 检查数据库远程访问权限1.3. 主从配置1.3.1. master配置1.3.2. slave配置1.3.3. 主库创建同步用户1.3.4. 从库配置主从关系1.3.5. 重置主从关系 1.4. 测试主从复制 2. Mycat2.1. Mycat简介2.2. MyCat读写分离原理2.3. 不废话&…

代码随想录day63 | 单调栈P3 | ● 84.

84.柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,6,2,3] 输出&#xff1a;10 解释&a…

docker部署minio和业务服务因变更minio密码导致访问不到图片的问题

问题起因 业务application和minio都是docker部署。按部署规则minio的环境变量中设置了MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。这样就可以用这套用户名密码登录minio了。而我的application中是通过api访问minio获取资源URL&#xff0c;提供给前端的。所以在application的环境变…

苹果电脑MAC清理系统空间工具CleanMyMacX4.15.3中文版下载

苹果电脑以其出色的性能、优雅的设计和高效的操作系统而受到许多用户的喜爱。然而&#xff0c;随着时间的推移和使用量的增加&#xff0c;你可能会发现你的Mac开始变得缓慢和响应迟缓。这通常是因为硬盘空间被大量占用&#xff0c;影响了系统的整体性能。幸运的是&#xff0c;有…

Docker 部署 MySQL 数据库

文章目录 MySQL 镜橡创建缩主机目录my.cnf 配置文件docker-compose.yml给 Test 账号添加权限 Docker 与 docker-compose 安装这里不做介绍。 MySQL 镜橡 根据需求选择版本 # 5.7 版本 docker pull mysql:5.7 # 8.2 版本 docker pull mysql:8.2创建缩主机目录 cd home # 创建…

RustGUI学习(iced)之小部件(十一):如何使用滚动条scrollable部件来进行滚动显示?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第十一篇,主要讲述滚动条scrollable部件的使用,…

Python面试题【数据结构和算法部分131-160】

Python面试题【数据结构和算法部分131-160】 Python面试题【数据结构和算法部分131-160】 Python面试题【数据结构和算法部分131-160】 问题&#xff1a;在Python中如何实现一个优先队列&#xff1f; 答案&#xff1a; import heapqclass PriorityQueue:def __init__(self):se…