YOLOv7学习笔记(一)——概述+环境+训练

news2025/4/3 8:36:28

一、环境安装测试

1、创建环境
    conda create -n yolo python=3.7
    conda activate yolo

2、安装pytorch
    conda install pytorch torchvision cudatoolkit=11.3 -c pytorch
    11.3为cuda版本号

3、克隆yolov5
    git clone https://github.com/WongKinYiu/yolov7  # clone
    cd yolov7
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt  
    //为了避免安装失误采用镜像安装https://pypi.tuna.tsinghua.edu.cn/simple

4、安装功能包
    sudo apt update
    sudo apt install -y zip htop screen libgl1-mesa-glx
    pip install seaborn thop
    pip install --upgrade protobuf
    pip install wandb

5、权重文件
    在官网下载yolov7.pt权重文件,放在文件夹weights下

二、测试

python detect.py --weights weights/yolov7.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg

成功!


三、训练

训练和yolov5步骤一样见其他笔记:YOLOV5学习笔记(七)——训练自己数据集
原文链接:https://blog.csdn.net/HUASHUDEYANJING/article/details/126045094

这里主要介绍一下训练参数

  • --weights: 预权重路径
  • -- cfg: 模型yaml文件路径
  • --data: 数据集yaml文件路径
  • --hpy: 训练中超参数配置路径,默认data/hpy.scratch.p5.yaml,比如学习率、动量参数、权重衰减、预热epoch等
  • --epoch: 训练轮次
  • --batch_size:batch大小
  • --img-size: 网络输入图像大小
  • --rect: rectangular training(就是不失真的resize图像训练)
  • --resume: 重新开始最近的训练。
  • --nosave: 设置为True后只保存最后一个epoch权重
  • --notest: 设置为True后只测试最后一个epoch
  • --noautoanchor: 设置为True,表示不自动聚类anchor
  • --evolve:设置为True,超参数优化,可以选择自己的更有的超参数(但资源消耗也很厉害),一般情况下用不到
  • --bucket: 谷歌云盘bucket,一般也用不到
  • --cach-images: 设置为True,提前缓存图像可用于加速训练
  • --image-weights:加权图像选择进行训练。指对于那些训练不理想的图像,再下一次训练的时会增加一些权重,使其更关注这些困难样本
  • --device: 设备选择,如果是GPU就输入GPU索引【如0,1,2..】,CPU训练就填cpu
  • --multi-scale: 默认为False,是否采用多尺度训练
  • --single-cls: 数据集是单类别还是多类别,默认False
  • --adam: adam优化器,默认False(即采用随机梯度下降SGD)
  • --sync-bn: 是否使用跨卡同步BN,在DDP模式使用,默认False
  • --local_rank: DDP参数(不要改动)
  • --workers:
  • --label-smoothing:标签平滑,防止过拟合
  • --upload_dataset:更新数据集,和wandb 库有关。也基本不用
  • --bbox_interval:设置bbox log,也是和wandb有关,一般用不到
  • --save_period:在每个保存周期的epoch后用于记录模型日志,默认为-1
  • 线程数,根据自己的电脑设置
  • --project: 训练模型保存的位置,默认为run/train
  • --name: 保存项目名字,一般是run/train/exp
  • --exist-ok:模型目录是否存在,不存在就创建
  • --linear-lr: 对于学习率的调整,默认为False,开启后用余弦函数调整学习率
  • --label-smoothing:标签平滑,防止过拟合
  • --upload_dataset:更新数据集,和wandb 库有关。也基本不用
  • --bbox_interval:设置bbox log,也是和wandb有关,一般用不到
  • --save_period:在每个保存周期的epoch后用于记录模型日志,默认为-1
python train.py --workers 2 --device 0 --batch-size 16 --data data/uav.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights weights/yolov7.pt --epochs 100

 

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

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

相关文章

真的要转到云IDE了吗?VS Code的开源IDE

云IDE产品介绍 云IDE使用教程 免费使用地址:点击【云IDE】,即可开始创建工作空间啦~ 前言 CSDN最新产品【云IDE】来啦!【云IDE】将为各位技术er一键秒级构建云开发环境,提升开发效率! 1. 什么是IDE? 做…

PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持

内容导读:近日,PyTorch 团队在官方博客宣布 Pytorch 1.13 发布。本文将详细围绕新版本的 4 大亮点展开介绍。 据官方介绍,PyTorch 1.13 中包括了 BetterTransformer 的稳定版,且不再支持 CUDA 10.2 及 11.3,并完成了向…

大数据项目之电商数仓、业务数据介绍、业务数据模拟、生成业务数据、业务数据建模

文章目录6. 业务数据介绍6.5 业务数据模拟6.5.1 连接MySQL6.5.2 建表语句6.5.3 生成业务数据6.5.3.1 在hadoop102的/opt/module/目录下创建db_log文件夹6.5.3.2 把gmall2020-mock-db-2021-11-14.jar和application.properties上传到hadoop102的/opt/module/db_log路径上6.5.3.3 …

[CSS]常见布局技巧

前言 系列文章目录: [目录]HTML CSS JS 根据视频和PPT整理视频及对应资料:HTML CSS 老师笔记: https://gitee.com/xiaoqiang001/html_css_material.git视频:黑马程序员pink老师前端入门教程,零基础必看的h5(html5)css3…

榛子树搜索算法(Hazelnut tree search algorithm,HTS)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

c++基础(十四)——继承

一、继承的基本语法 继承是面向对象三大特性之一,有些类与类之间存在特殊的关系,当定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码。 基本语法&…

HotStuff:基于高效 BFT-SMR 共识的区块链

参考资料: Yin M, Malkhi D, Reiter M K, et al. HotStuff: BFT consensus in the lens of blockchain[J]. arXiv preprint arXiv:1803.05069, 2018.Michael J. Fischer, Nancy A. Lynch, and Mike Paterson. Impossibility of distributed consensus with one fau…

为什么网络安全缺口很大,而招聘却很少?

2020年我国网络空间安全人才数量缺口超过了140万,就业人数却只有10多万,缺口高达了93%。这里就有人会问了: 1、网络安全行业为什么这么缺人? 2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢&#xff1…

Spring-security流程讲解01:basic模式

1&#xff1a;有basic模式认证&#xff1a; 1.0Maven依赖&#xff1a; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.1.RELEASE</version> </parent…

UGUI DrawCall的优化 工作记录

优化前&#xff1a; UGUI DrawCall调用256次 优化原则&#xff1a; 不追求极致&#xff0c;差不多就行了主要优化 静态不动的节点&#xff0c;避免改变脚本 优化思路&#xff1a; 3. 对现有的图集进行微调 4. 处理图文混排 打断合批的问题&#xff0c;微调节点的父子关系和节…

图解LeetCode——754. 到达终点数字(难度:中等)

一、题目 在一根无限长的数轴上&#xff0c;你站在 0 的位置。终点在 target 的位置。 你可以做一些数量的移动 numMoves : 每次你可以选择向左或向右移动。第 i 次移动&#xff08;从 i 1 开始&#xff0c;到 i numMoves &#xff09;&#xff0c;在选择的方向上走 i 步。…

vue11Vuex解说+子父传参详细使用

目录 1. vue组件间通讯 1.1 父子组件 1.2 消息总线 1.3 vuex 2. vuex使用 2.1 简介 2.2 安装 2.3 创建store模块 2.4 创建vuex的store实例并注册上面引入的各大模块 2.5 在main.js中导入vuex 3. 将折叠和展开效果使用vuex实现 3.1 在state.js中声明全局参数 3.2 设…

10 月更新 | Visual Studio Code Python

我们很高兴地宣布&#xff0c;2022 年 10 月发布的适用于 Visual Studio Code Python 和 Jupyter 扩展现已推出&#xff01; 此版本包括以下改进&#xff1a; 使用新的创建环境命令简化项目设置 现在可以为 Pylance 提供包含、排除和忽略路径设置 预发布的 autopep8 扩展 P…

【Linux】yum和vim的使用

文章目录一、Linux软件包管理器-yum1. 概念2. 安装软件3. 卸载软件4. 查看软件包5. 更新软件包二、Linux编辑器-vim1. 基本概念2. 基本操作3. 正常模式命令集4. 末行模式命令集三、总结一、Linux软件包管理器-yum 1. 概念 什么是软件包&#xff1f; 在Linux下安装软件, 一个常…

es实操笔记

Elasticsearch提供了一个非常全面和强大的REST API&#xff0c;可以使用它与集群进行交互。咱们来玩一下。 环境搭建 搭建好es和kinaba&#xff0c;可以访问通过ip:9200查看es的信息&#xff0c;ip:5601打开kinaba。 集群相关 健康检查 curl localhost:9200/_cat/health?v…

Linux 网络之netlink 简介

文章目录前言一、Netlink用户态应用的使用1.1 Netlink socket1.2 Netlink宏操作二、Netlink对应数据结构2.1 struct sockaddr_nl2.2 struct nlmsghdr2.3 struct msghdr三、用户层实例参考资料前言 The Netlink socket family 是一个 Linux 内核接口&#xff0c;用于内核和用户…

网课查题接口

网课查题接口 本平台优点&#xff1a;免费查题接口搭建 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a;题库后台http://daili.jueguangzhe.cn/ 题库后台&am…

[前端基础] CSS3 篇

CSS3 使用了层叠样式表技术&#xff0c;可以对网页布局、字体、颜色、背景灯效果做出控制。CSS3 作为 CSS 的进阶版&#xff0c;拆分和增加了盒子模型、列表模块、语言模块 、背景边框 、文字特效 、多栏布局等等。CSS3 的改变有很多&#xff0c;增加了文字特效&#xff0c;丰富…

C#基础知识

文章目录简介隐式显式转换ifswitch循环随机数方法do whilestatic递归数组foreachvar推断类型,父类二维数组&#xff0c;交错数组当方法参数类型确定&#xff0c;个数不确定时数据类型类型分类快捷方式函数参数&#xff1a;引用、输出参数装箱&#xff0c;拆箱string储存地址枚举…

Netty入门——组件(Channel)二

目录一、channel的主要作用二、EventLoop处理io任务代码示例2.1、服务端代码示例2.2、客户端代码示例2.3、服务端和客户端查看控制台输出结果三、CloseFuture关闭问题代码示例3.1、服务端代码示例3.2、客户端代码示例3.3、服务端和客户端查看控制台输出结果3.4、CloseFuture关闭…