yolov4/yolov4-tiny保姆级训练教学

news2024/11/13 9:14:46

目录

一、pytorch环境搭建

1.创建新环境

2.激活环境

3.按照版本下载

二、labelimg的安装

三、数据处理部分

         1、rename数据文件

2、数据加强

 四、yolov4训练过程

五、租用GPU


一、pytorch环境搭建

在安装anaconda的前提下

在编译器pycharm的终端

1.创建新环境

conda create -n pytorch1.6_cuda10.2 python=3.7

//创从大python3.7pytorch1.6的编译环境

2.激活环境

conda activate pytorch1.6_cuda10.2   

3.按照版本下载

conda install pytorch==1.6.0 torchvision==0.7.0 cpuonly -c pytorch

//只安装cpu版本的pytorch1.6

(这个地方我不确定你是不是能装gpu 先用cpu试试看训练效果)

txt中的文件包含现在需要的环境

设置一个requirements.txt

pip install -r requirements.txt -i  ttps://pypi.doubanio.com/simple/

剩下的一些函数或者函数名调用过程中出现问题

直接用pycharm 设置部分的可用包直接pip

或者pip install scipy -i Simple Index

改红色地方的东西为 函数名比如yaml

二、labelimg的安装

1.win+R输入cmd打开终端

conda activate pytorch1.6_cuda10.2 (激活环境)

2、直接pip install labelimg

三、数据处理部分

1、rename数据文件

保证你的文件要是jpg形式或者png   若出现前后不一致 在python文件中无法调用

数据处理部分

改正文件路径

在之前文件是jpg    修改if后面的‘.jpg’     

JPG文件 的时候  j=2进行修改 续在之前文件的后面

①打标记的时候用有序序列的图像 可以不标注图片 但是一定要用labelimg所有图片都过一便,否则会在voc_label处出现 images和annotation处无法对应。

②数据加强可以通过opencv简单处理  或者有旋转即可

按照 images和annatation分别放置文件夹 按照yolo操作步骤重新操作

2、数据加强

● 将数据增强模块嵌入model中
● 在Dataset数据集中进行数据增强

或者可以自定义函数来增强数据

如:调整图像饱和度

#visualize(image, saturated)
image = tf.expand_dims(images[3]*255, 0)
saturated = tf.image.adjust_saturation(image, 3)
plt.figure(figsize=(8, 8))
for i in range(9):
    augmented_image = aug_img(saturated)
    ax = plt.subplot(3, 3, i + 1)
    plt.imshow(augmented_image[0].numpy().astype("uint8"))

    plt.axis("off")

对图像进行裁剪等

image = tf.expand_dims(images[3]*255, 0)
cropped = tf.image.central_crop(image, central_fraction=0.5)

plt.figure(figsize=(8, 8))
for i in range(9):
    augmented_image = aug_img(cropped)
    ax = plt.subplot(3, 3, i + 1)
    plt.imshow(augmented_image[0].numpy().astype("uint8"))

    plt.axis("off")

 四、yolov4训练过程

1.data数据当中

改文件中类的名称和数据

例如:

6类水果

Apple

Mango

Banana

nongfushanquan

toothbrush

wanglaoji

 

2.运行文件中的kmeans文件

 

出现上述问题 说明标签的大小统一 无法进行k聚类算法 调整k值为2或者3(正常为6)

运行结束后打开 kmeans.txt文件

复制结果

 

3.打开cfg文件中的yolo—tiny

快捷键ctrl+f 搜索yolo

anchors = 84,112, 273,273,84,112, 273,273,84,112, 273,273

classes=6

上一层的filter   (类别数+5*3   先验框
filters=33

yolo有两处 均需要改

4.运行makeTxt.py

区分训练集和验证集

5.voc_label.py

其中修改classes为数据内容

并改正list_file.write当中的文件路径

运行voc_label.py文件

6.可以开始训练程序

 

对当前的数据集和训练要求来改正其中的default内容

注意在路径部分 可以用///来更改路径 或者在路径前面+r    //

train.py  
parser.add_argument('--cfg', type=str, default='cfg/csdarknet53s-BIFPN-spp-CA-GTSDB.cfg', help='model.yaml path')

parser.add_argument('--data', type=str, default='data/GTSDB.yaml', help='data.yaml path')

五、租用GPU

如果自己没有训练条件的话,可以租用网上的gpu 教程如下

  1. 百度搜索gpushare
  2. 创建pytorch环境

​​​​​​​

3.点击文件 站点管理器登录

4.将压缩文件传输至hy-tmp文件夹中

先把requirements文件放进去 后面备用

5.

打开jupyterlab 终端

创建环境

conda create -n py python=3.7

conda activate py

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.2 -c pytorch

cd /hy-tmp #1s  ##打开文件夹

pip install -r requirements.txt    安装所需要的文件

记得里面要加  pyyaml 和 scipy

解压:unzip  1.zip

打开文件夹:cd tea #1s

运行代码   python train.py 

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

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

相关文章

15.3 event loop 事件循环

event loop 事件循环 start 最近这段时间一直在研究 javascript 中的事件循环,看了不少相关视频和文章。学习完知识后,虽然对 javascript 的代码执行顺序,能够正确判断。但是当我想将理论知识用自己口头语言表达出来的时候,发现…

函数 ~~~

函数 目录:函数函数概述函数类型函数定于与声明函数参数引用函数可变函数函数可变参数 使用函数默认参数函数返回值函数嵌套调用函数递归内联函数内联函数与普通函数区别函数重载函数概述 C语言中的函数在其他编程语言中也称为过程或子例程。 我们可以创建函数来执…

小游戏引擎选型注意事项

写在前面 前面写了几期有关于小游戏的文章,主要从小游戏开发、小游戏运营、小游戏变现等多个角度进行了较为粗略的介绍,很多同学表示对小游戏引擎部分很感兴趣,希望能够有一些更为深入的分析介绍。今天就对目前主流的小游戏引擎进行探讨。 …

短短一年,市值抹去三分之一 跌落高坛的苹果

美东时间1月3日(周二),苹果(AAPL)收报125.07美元,跌幅3.74%,市值降至1.99万亿美元,2万亿美元市值俱乐部中的最后一家就此陨落。此前微软和石油巨头…

电影《绝望主夫》观后感

上周的时候,看了开心麻花的电影《绝望主夫》,讲的是一对夫妇整个世界对换的故事,即丈夫整个继承了妻子世界,妻子继承了丈夫世界观,这确实给人了一种新的视角,一个对调视角。 记得以前刷视频的时候&#xff…

算法之回溯算法

目录 前言 如何理解回溯算法 两种回溯算法的经典应用 1.0-1背包 2.正则表达式 总结 参考资料 前言 很多经典的数学问题都可以用回溯算法解决,比如数独、八皇后、0-1 背包、图的着色、旅行商问题、全排列等等。用来指导像深度优先收索这种经典的算法。 如何理…

2021 CCF “计算之美”学术大会参会总结

最近在回顾读研以来参加过的大大小小的学术会议记录,在此整理记录之。 前言 2021年6月12日,2021年CCF“计算之美”——新基建时代产、教、研、地融合学术大会在海上丝绸之路起点宁波成功举办。近200人参与本次大会,40余位嘉宾带来精彩分享&…

pwr | 谁说样本量计算是个老大难问题!?(三)(配对样本与非等比样本篇)

1写在前面 之前我们介绍的基于发生率或者均值进行样本量计算的方法,但都是在组间进行计算。🤔 有的时候我们需要获取组内变化,进行样本量计算。🤫 常见的就是配对样本,比如相同受试者进行多个时间点的观察,…

Navicat远程连接禅道一键安装在Linux的MySQL数据库

禅道一键安装的数据库,默认只能在服务器本机访问。远程访问须进行配置,本文说明具体的配置方法,并且已经过验证。 1、首先检查对应的端口是否开放,默认端口为3306. 2、连接到禅道自带的网页版数据库 3、执行SQL创建一个新角色 …

外贸人需要知道的销售技巧有哪些?

外贸销售技巧米贸搜整理如下,希望对你有所帮助:第一步:准备好。没有准备意味着为失败做准备,没有计划意味着为破产做打算。这是为什么呢?因为你不知道你这次要谈什么,所以你首先要做的是准备好整个谈话的结果。第一,我…

PDF能转换成PPT吗?该怎样转换?

PDF能转换成PPT吗?当然是可以的啦!我们在工作时候经常需要将PDF文件转换成各种格式的文件,这样可以更方便我们处理各种文件,PPT文件可以用来汇报、展示工作内容等,是我们经常使用的文件类型之一,所以有时候…

Linux文件描述符fd详解重定向原理

文章目录什么是文件描述符fd&#xff1f;文件描述符的分配规则重定向的原理什么是文件描述符fd&#xff1f; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.…

AppScan 是一款web安全扫描工具

AppScan介绍&#xff1a; AppScan是IBM的一款web安全扫描工具&#xff0c;主要适用于Windows系统。该软件内置强大的扫描引擎&#xff0c;可以测试和评估Web服务和应用程序的风险检查&#xff0c;根据网站入口自动对网页链接进行安全扫描&#xff0c;扫描之后会提供扫描报告和修…

2022 中国白帽人才能力与发展状况调研报告

声明 本文是学习2022中国白帽人才能力与发展状况调研报告. 下载地址 http://github5.com/view/55039而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 中国白帽人才能力与发展状况调研报告 2022.11 补天漏洞响应平台 奇安信行业安全研究中心 概述 …

元数据管理Datahub架构讲解

目录1. 概述2. 各模块介绍2.1 Metadata Store​2.2 Metadata Models2.3 Ingestion Framework2.4 GraphQL API2.5 User Interface3. Ingestion Framework的架构3.1 Metadata Change Event(MCE)3.2 Pull-based Integration3.3 Push-based Integration​3.4 Applier(mce-consumer)…

CAN学习资料汇总

先简单做个汇总&#xff0c;细节稍后再逐一写出来 CAN&#xff0c;CANOpen与OSI七层协议的关系 CAN CAN是控制器局域网络(Controller Area Network, CAN)的简称&#xff0c;是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的&#xff0c;并最终成为国际标准&#xff08;…

暴涨1000w播放!B站爆款恰饭,弹幕刷屏“上链接”

12月27日&#xff0c;在2022 AD TALK bilibili营销伙伴大会上李旎谈到B站第一批主流用户大多数已经进入28-30岁的阶段&#xff0c;近亿的用户开始对内容的需求有了新的变化。除此之外&#xff0c;B站近几年的用户增长速度亮眼&#xff0c;2022年第三季财报显示平台日活用户已经…

动态内存管理(15)

目录 1、动态内存函数的介绍 1、malloc 2、free 3、calloc 4、realloc 2、常见的动态内存错误 3、C/C程序的内存开辟 4、柔性数组 1、定义 2、柔性数组的特点&#xff1a; 3、使用 1、动态内存函数的介绍 1、malloc malloc 向堆区申请一块连续可用的空间&#xff…

【高阶数据结构】AVL树(动图详解)

&#x1f308;欢迎来到数据结构专栏~~AVL树详解 (꒪ꇴ꒪(꒪ꇴ꒪ )&#x1f423;,我是Scort目前状态&#xff1a;大三非科班啃C中&#x1f30d;博客主页&#xff1a;张小姐的猫~江湖背景快上车&#x1f698;&#xff0c;握好方向盘跟我有一起打天下嘞&#xff01;送给自己的一句…

5G NR 标准 第12章 波束管理

第12章 波束管理 第 11 章一般性地讨论了多天线传输&#xff0c;然后重点介绍了多天线预编码。 讨论多天线预编码的一般假设是可以对不同的天线元件进行详细控制&#xff0c;包括相位调整和幅度缩放。 实际上&#xff0c;这需要在数模转换之前在数字域中执行发射机侧的多天线…