YOLOv5目标检测学习(2):运行一个yolo应用所需要配置的深度学习环境

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、CUDA、CUDNN的下载安装
    • 1.1 CUDA的安装
    • 1.2 cuDNN的配置
  • 二、anaconda的安装
    • 1.卸载python
    • 2.安装anaconda
  • 三、Pytorch、python虚拟环境安装
    • 1.创建虚拟环境
    • 2.安装pytorch
  • 四、pycharm上运行深度学习示例
  • 五、总结所有软件的版本


前言

我想完整的记录一下一个新手接触深度学习和yolo算法完成目标检测任务的全过程,包括基本软件环境的下载安装、训练集的准备和处理、训练的过程、参数的调整、性能的分析,以及模型的部署这几个方面。

一、CUDA、CUDNN的下载安装

我的电脑配置:Windows10系统,10代i5,2060显卡,16G内存,安装有python3.8版本
在这里插入图片描述

软件:
①IDE:pycharm
②深度学习的模型训练工具:CUDA、CUDNN
③深度学习管理工具:anaconda

由于pycharm我已经安装好了,所以就不介绍了。

1.1 CUDA的安装

①打开英伟达控制界面,可以查看cuda支持的版本
在这里插入图片描述
这一步主要是为了看显卡支持cuda最高哪个版本,我的最高支持12.2.146版本
②下载CUDA toolkit

链接: cuda官网
我选择下载12.2.0版本
在这里插入图片描述
选择Windows版本的local本地下载模式。
在这里插入图片描述
然后一路同意即可。
其中选择自定义安装,可以安装到其他盘去,不用安C盘。
安装好后可以查看到版本号
在这里插入图片描述

还可以查看cuda的安装路径。
在这里插入图片描述
在这里插入图片描述
下载好后文件如图:
在这里插入图片描述

1.2 cuDNN的配置

链接: cudnn
这里首先注意一个问题,我下载的cuda是2023年6月的12.2版本,所以cudnn我选择了相匹配的版本
在这里插入图片描述
然后解压。下载后发现其实cudnn不是一个exe文件,而是一个压缩包,解压后,有三个文件夹,把三个文件夹拷贝到cuda的安装目录下。
cuDNN 其实就是 CUDA 的一个补丁而已,专为深度学习运算进行优化的。然后再参加环境变量。

下一步是添加环境变量。
在这里插入图片描述
就像这样添加,要把bin、lib、include、libnvvp都添加进去。
最后打开终端进行验证。输入这两个exe程序,只要最后是pass就可以了。
在这里插入图片描述
在这里插入图片描述
注意:cuda没有samples文件夹是因为11.6版本后就取消了,想要自己去git上下。

二、anaconda的安装

1.卸载python

安装anaconda前需要先卸载掉以前下载的python,并删除环境变量。
在这里插入图片描述
用终端查看:
在这里插入图片描述
现在没有python了,而且好的一点是环境变量里的python路径是自动删除的,不用手动去删了。

2.安装anaconda

使用清华镜像源下载,我选了一个不早也不新的版本。
在这里插入图片描述
在这里插入图片描述
最后如图:
在这里插入图片描述
输入下面的五个环境变量。
在这里插入图片描述

简要说明五条路径的用途:这五个环境变量中,1是Python需要,2是conda自带脚本,3是jupyter notebook动态库, 4是使用C with python的时候.
最后可以在终端里面验证。
在这里插入图片描述

下载好anaconda后,会自动安装一个新版本的python,我这里查看是3.11.4版本
在这里插入图片描述

三、Pytorch、python虚拟环境安装

为什么需要学会这个呢?其实刚刚安装好Anaconda会自带一个基础环境。但是我们后续的项目每一个需要的安装包不同,为了避免冲突,所以我们可以为每一个项目配置一个虚拟环境,这样就不相互打扰了。

1.创建虚拟环境

用anaconda终端:
在这里插入图片描述
输入这个命令:conda env list
来查看当前有多少虚拟环境。
在这里插入图片描述
刚好我这里只有一个base环境。
在这里插入图片描述
利用 conda create 指令创建新的虚拟环境

conda create –n 虚拟环境名字(如yolov5) python=版本

我这里是:

conda create –n yolov5p1 python=3.11.4

在这里插入图片描述
输入y,继续:
在这里插入图片描述
加载一堆东西后界面如图。
在这里插入图片描述
现在就有两个环境了。

2.安装pytorch

链接: pytorch
这个是pytorch官网,可以直接找到系统推荐的pytorch版本。
在这里插入图片描述
这里我遇到一个问题,就是这里pytorch支持的是cuda的11.8和12.1版本,但是我之前下载的cuda是12.2版本的,不知道后面会有什么影响。
然后复制下面的指令,放到anaconda终端里运行:
经过漫长的安装,最后如图:
在这里插入图片描述
会有各种各样的库。
输入python
输入 import torch
输入 torch.cuda.is_available(),这个命令是检查我们pytorch的GPU能否用。
如果显示True,就说明我们这个PyTorch安装成功了
在这里插入图片描述

四、pycharm上运行深度学习示例

这里奇怪的是,别人的教程里配置pycharm和pytorch还有好几步,但是这里我直接就可以运行代码:

import torch
print(torch.cuda.is_available())

打开pycharm,创建一个例程,运行结果如图:
在这里插入图片描述

至此,所有的深度学习环境就配置好了。

五、总结所有软件的版本

CUDA:12.2.0
cuDNN:8.9.2
anaconda:23.7.2
python:3.11.4

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

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

相关文章

Easticsearch性能优化之索引优化

Easticsearch性能优化之索引优化 一、合理的索引设计二、合理的分片和副本三、合理的索引设置 对于性能优化,Elasticsearch(以下简称ES)的索引优化是提高性能的关键因素之一。合理的设计索引,合理的分片和副本以及合理的缓存设置等…

稀碎从零算法笔记Day11-LeetCode:有效的字母异位词

题型:字符串、哈希表、排序 链接:242. 有效的字母异位词 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 …

第五十一天| 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

第四十八天| 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II-CSDN博客 第五十天| 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV-CSDN博客 Leetcode 309.最佳买卖股票时机含冷冻期 题目链接:309 最佳买卖股票时机含冷冻期 题干:给定一个…

想用Python做自动化测试?Python反射机制的应用!

通常,我们操作对象的属性或者方法时,是通过点“.”操作符进行的。例如下面的代码: class Person: type "mammal"def __init__(self, name): self.name namedef say_hi(self): print(Hello, my name is, self.n…

006-浏览器输入域名到返回

浏览器输入域名到返回 1、URL 输入2、DNS 域名解析3、建立 TCP 连接三次握手概念三次握手理解 4、发送 HTTP/HTTPS 请求5、服务器处理,并返回响应6、浏览器解析并渲染页面7、请求结束,端口 TCP 连接四次挥手概念四次挥手理解 1、URL 输入 2、DNS 域名解析…

[HackMyVM]靶场 Wild

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 …

20240307-2-前端开发校招面试问题整理HTML

前端开发校招面试问题整理【2】——HTML 1、HTML 元素&#xff08;element&#xff09; Q&#xff1a;简单介绍下常用的 HTML 元素&#xff1f; 块状标签&#xff1a;元素独占一行&#xff0c;可指定宽、高。 常用的块状元素有&#xff1a; <div>、<p>、<h1&…

横琴正式封关运行,惟客数据都做了什么?

​作为中国实施高水平制度型开放的重大探索&#xff0c;位于珠海横琴岛的横琴粤澳深度合作区于2024年3月1日零时正式实施分线管理封关运行&#xff0c;共设1个“一线”口岸、7个“二线”海关作业现场&#xff0c;覆盖旅检、货运、通关、稽&#xff08;核&#xff09;查等多线条…

火柴排队(逆序对 + 离散化)

505. 火柴排队 原题链接 思路 如下是画图分析的一些过程 在这里贪心的思路是排序&#xff0c;然后两个数组都是从小到大那样对应的话最终的答案可达到最小 而我们只能交换相邻的火柴&#xff0c;故在这里先假设一个简化版本&#xff0c;即A有序&#xff0c;而只需要对B进行…

【数据结构五】队列和Queue详解

目录 队列 1.模拟实现一个队列 2.Queue的基本使用 3.循环队列详解 4.双端队列详解 5.分别用栈实现队列&#xff0c;队列实现栈 队列 队列 &#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO(Fi…

ruoyi-vue框架密码加密传输

先看一下改造后的样子&#xff0c;输入的密码不会再以明文展示。 下面我主要把前后端改造的代码贴出来。 1.后端代码 RsaUtils类 在com.ruoyi.common.utils包下新建RsaUtils类&#xff0c;RsaUtils添加了Component注解 generateKeyPair()构建密钥对添加了Bean注解 在项目启动…

java 获取项目内的资源/配置文件

【getResourceAsStream】是java中用于获取项目内资源的常用方法&#xff0c;能够返回一个数据流&#xff0c;从而允许我们读取指定路径下的资源文件。这个方法可以用来读取各种类型的资源文件&#xff0c;包括但不限于文本文件、图像文件、配置文件等。 要使用getResourceAsStr…