yolov4的Pytorch(cpu版)安装步骤详解,有手就能学会

2023-11-05 08:30

本文主要是介绍yolov4的Pytorch(cpu版)安装步骤详解,有手就能学会,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我的环境

win10+anaconda(创建的python=3.6版本)+yolov4+Pytorch(cpu版)

1. 准备文件

  1. pytorch-YOLOv4代码下载 https://github.com/Tianxiaomo/pytorch-YOLOv4
    上面这个是别人一直在更新的,本文中用可能会出错,因为我是之前下载的版本,你们可以下载这个,按照文中步骤应该就没问题。(9月13日上传)
    链接:https://pan.baidu.com/s/1AmCL25n6yKpABF1j7w1CFg
    提取码:w448
  2. 权重(weights)模型下载
    谷歌云盘 https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT
    GitHub下载https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights
    把上面的代码下载之后解压,解压之后的目录下创建一个weight的文件夹,在weight的文件夹里放上面的权重文件。整理之后如下图:在这里插入图片描述
    这样子文件都准备完成了

2. 创建环境

  1. anaconda创建python=3.6的虚拟环境
    进入cmd,命令 conda create -n yolov4(这个是起的名字)python=3.6
conda create -n yolov4 python=3.6

激活这个环境

activate yolov3-pytorch

还需要安装依赖,可以去官网根据自己的需要选择,https://pytorch.org/

我的命令如下

conda install pytorch torchvision cpuonly -c pytorch

我的只需要安装这一个就行的,所有的依赖包如下,我也不懂每一个都有什么意义。

(ceshi) C:\Users\Administrator\Desktop\YOLOv4\pytorch-YOLOv4-master\pytorch-YOLOv4-master>pip list
Package      Version
------------ -------------------
certifi      2020.4.5.1
mkl-fft      1.0.15
mkl-random   1.1.0
mkl-service  2.3.0
numpy        1.18.1
olefile      0.46
Pillow       7.1.2
pip          20.0.2
setuptools   46.1.3.post20200330
six          1.14.0
torch        1.5.0
torchvision  0.6.0
wheel        0.34.2
wincertstore 0.2

到这里,文件准备好了,环境搭建好了,接下来就是测试。

3. 测试

打开cmd,激活搭建的环境,在进入到你解压的文件目录下,然后用如下命令,确保每一个文件都在对应的文件夹下(yolov4.cfg在cfg文件夹下,yolov4.weights在weight文件夹下,dog.jpg在data文件夹下)

python demo.py cfg/yolov4.cfg weight/yolov4.weights data/dog.jpg

运行之后部分代码如下:

  149 conv    255  1 x 1 / 1    38 x  38 x 512   ->    38 x  38 x 255150 detection151 route  147152 conv    512  3 x 3 / 2    38 x  38 x 256   ->    19 x  19 x 512153 route  152 116154 conv    512  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 512155 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024156 conv    512  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 512157 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024158 conv    512  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 512159 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024160 conv    255  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 255161 detection
Loading weights from weight/yolov4.weights... Done!
data/dog.jpg: Predicted in 5.850648 seconds.
truck: 0.970982
dog: 0.999997
bicycle: 1.000000
save plot results to predictions.jpg

文件夹下面就多了一个图片文件,咱们可以重新命名predictions_yolov4.jpg,否则你测试另外一个图片,这个就会被覆盖。之后可以在测试另外一个图片,命令如下:

python demo.py cfg/yolov4.cfg weight/yolov4.weights data/giraffe.jpg

这样两个图片的测试就完成了。yolov4
第二个
在这里插入图片描
如果你有yolov3.weights,https://pjreddie.com/media/files/yolov3.weights
把这个权重也放在weight文件夹下面,你可以在测试yolov3的效果。代码需要修改一下,就是把yolov4变成yolov3就行了,命令如下:

python demo.py cfg/yolov3.cfg weight/yolov3.weights data/dog.jpg

图片是下面的,这个没有yolov4的效果好,应该与我的程序没有修改有关系!!在这里插入图片描述
在这里插入图片描述

4. camera.py和models.py

如果想用comera.py,需要增加一个依赖包opencv-python,命令如下:

pip install opencv-python

然后直接运行camera.py就可以,就是调用电脑的摄像头,框选图像并标注,命令是:

python camera.py

图像是:
在这里插入图片描述

这个电脑摄像头和精度堪忧啊。

好了,就写这么多了,感觉我这都是傻瓜式的,一步一步来的,有手就能学废,你学废了吗。。。。。学废的扣6,没学废的扣眼珠子。
至于models.py,我还没怎么看,关键是我也不太懂啊,就先不写了。

参考:https://blog.csdn.net/AliceZyxw/article/details/105307498

https://blog.csdn.net/weixin_45829462/article/details/104705937

这篇关于yolov4的Pytorch(cpu版)安装步骤详解,有手就能学会的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348623

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚