在Linux服务器上用yolov7训练自己的数据集

前言

yolov7截至笔者写博客之前,已经出来了一段时间,网上也已经有很多博客来讲述其论文创新之处和yolov7的网络结构,这里就不赘述了,这篇博客主要写如何用yolov7训练自己的数据集。

环境搭建

首先从yolov7官网[https://github.com/WongKinYiu/yolov7]下载全部工程代码,然后在服务器上创建一个conda虚拟环境,我这里用的是python3.7的版本

	```
	conda create -n yolo7 python=3.7
	```

然后激活虚拟环境,再进入到yolov7-main文件夹下,运行以下命令

	```
	pip install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
	```

这里用到了清华大学的源来安装python的相应的依赖库,速度会快很多
安装过程如果没有出错,这个环境就可以直接用了,如果安装过程中某个包安装报错,重新用pip安装一下这个包就行了

最后可以运行模型训练的命令,如果没有报错,则说明环境完全搭建好了

	```
	python train.py --workers 8 --device 0 --batch-size 32 --data data/coco.yaml --img 640 640 --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml
	```

修改配置文件

在环境搭建好的基础上,用自己的数据集训练,主要是将自己的数据集标注好之后,转成coco的数据格式(网上教程很多,这里也不赘述了)。在准备好数据基础上,只需要对几个配置文件进行修改就可以正常训练起来了,我这里使用的是和官方一样的coco数据集,如果是自己的数据集,就要注意以下几个地方的修改:
(1)cfg/training/yolov7.yaml中,类别的数量需要进行修改

	```
	# parameters
	nc: 80  # number of classes  ##类别的数量需要进行修改
	depth_multiple: 1.0  # model depth multiple
	width_multiple: 1.0  # layer channel multiple
	```

(2)data/coco.yaml 中,需要修改读取的数据的相关信息

	```	
# download command/URL (optional)
#download: bash ./scripts/get_coco.sh

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: /data/benchmark/COCO2017/coco/train2017.txt  # 118287 images ## 需要修改
val: /data/benchmark/COCO2017/coco/val2017.txt  # 5000 images  ## 需要修改
test: /data/benchmark/COCO2017/coco/test-dev2017.txt  #    ## 需要修改

# number of classes
nc: 80    #需要修改

# class names 
names: [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
     'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
     'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
     'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
     'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
     'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
     'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone',
     'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear',
     'hair drier', 'toothbrush' ]   ##需要修改
	```

最后

修改完以上相关的内容,就可以直接运行模型训练的命令,将模型训练起来了

笔者在单卡V100 batchsize 设置为32训练yolov7总共300个epoch,花费时间大约为2周左右,最后在训练集上的三个loss的变化情况如下:
训练上loss变换情况
box_loss大概在0.026左右,cls_loss降为0.0065, obj_loss大概在0.024

训练集的衡量指标趋势图大致如下:
训练集的精度变换

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在云服务器上使用yolov7训练自己的数据集,您可以按照以下步骤进行操作: 1. 首先,从yolov7的官方GitHub页面下载全部的工程代码。可以使用命令行或者直接在浏览器中下载。 2. 在云服务器上创建一个conda虚拟环境。您可以使用以下命令在服务器上创建一个名为yolo7的虚拟环境,并指定python版本为3.7。 ``` conda create -n yolo7 python=3.7 ``` 3. 激活并进入该虚拟环境。使用以下命令激活虚拟环境: ``` conda activate yolo7 ``` 4. 进入您下载的yolov7工程代码所在的目录,并安装必要的依赖项。您可以使用以下命令进入目录: ``` cd <yolov7目录> ``` 然后,使用以下命令安装所需的依赖项: ``` pip install -r requirements.txt ``` 5. 准备您自己的数据集。将您的训练集、验证集以及类别标签文件放入yolov7工程代码的data文件夹中。确保数据集的格式符合yolov7的要求。 6. 下载预训练的权重文件yolov7.pt,并将其放入yolov7工程代码的weights文件夹中。 7. 进行配置文件的修改。根据您的数据集训练需求,您需要根据yolov7的文档来修改对应的配置文件。 8. 开始训练。使用以下命令开始训练您的数据集: ``` python train.py --data data/<your_data_file> --cfg cfg/<your_config_file> --weights weights/yolov7.pt ``` 其中,`<your_data_file>`是您数据集的配置文件名,`<your_config_file>`是您修改后的配置文件名。 9. 等待训练完成。训练过程可能需要一些时间,具体时间取决于您的数据集大小和服务器性能。 10. 训练完成后,您可以使用训练好的模型进行目标检测或其他相关任务。 以上是在云服务器上使用yolov7训练自己的数据集的一般步骤。根据实际情况,您可能需要根据yolov7的文档或其他资源进行一些调整和优化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [在Linux服务器上用yolov7训练自己的数据集](https://blog.csdn.net/weixin_42280271/article/details/127752851)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [YOLOV7训练自己数据集(最新超详细版)](https://blog.csdn.net/m0_60985598/article/details/131347778)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥宅程序员aka不会游泳的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值