首页 > 其他分享 >YOLOv5多GPU训练

YOLOv5多GPU训练

时间:2023-01-09 14:25:05浏览次数:34  
标签:YOLOv5 训练 -- batch yaml 64 GPU size

一、准备
安装yolov5依赖,要求Python>=3.8以及PyTorch>=1.7

git clone https://github.com/ultralytics/yolov5 # clone repo
cd yolov5
pip install -r requirements.txt
1
2
3
二、选择预训练模型
这里我们选择YOLOv5s,训练数据集我们用COCO。

 

 


三、单GPU训练
$ python train.py --batch-size 64 --data coco.yaml --weights yolov5s.pt --device 0
1
四、多GPU数据并行训练(不推荐)
$ python train.py --batch-size 64 --data coco.yaml --weights yolov5s.pt --device 0,1
1
这种方法相对于单GPU训练方法对于速度的提升有限。

五、多GPU分布式数据并行训练(推荐)
$ python -m torch.distributed.launch --nproc_per_node 2 train.py --batch-size 64 --data coco.yaml --weights yolov5s.pt
1
–nproc_per_node: 指定多少GPU要被使用。
–batch-size:这里是总的大小,多个GPU这个值将被均分,比如以上示例有2个GPU,那每个GPU batch-size为64/2=32。

指定多GPU:
$ python -m torch.distributed.launch --nproc_per_node 2 train.py --batch-size 64 --data coco.yaml --cfg yolov5s.yaml --weights '' --device 2,3

当单个GPU batch-size<=8时,可以使用以下方式来提高准确率
$ python -m torch.distributed.launch --nproc_per_node 2 train.py --batch-size 64 --data coco.yaml --cfg yolov5s.yaml --weights '' --sync-bn

多设备训练
# On master machine 0
$ python -m torch.distributed.launch --nproc_per_node G --nnodes N --node_rank 0 --master_addr "192.168.1.1" --master_port 1234 train.py --batch-size 64 --data coco.yaml --cfg yolov5s.yaml --weights ''

# On machine R
$ python -m torch.distributed.launch --nproc_per_node G --nnodes N --node_rank R --master_addr "192.168.1.1" --master_port 1234 train.py --batch-size 64 --data coco.yaml --cfg yolov5s.yaml --weights ''

标签:YOLOv5,训练,--,batch,yaml,64,GPU,size
From: https://www.cnblogs.com/kn-zheng/p/17036899.html

相关文章

  • pytorch中查看gpu信息、选择使用gpu(转)
    转自:https://blog.csdn.net/pearl8899/article/details/109503803pytorch中查看gpu信息、选择使用gpu前提:安装好Python3.6+,torch(GPU),登录一台开发机。一、GPU基本信息......
  • 2023寒假训练Week1
    Day1今天主要在补之前各种比赛的题目AcWing4653.数位排序#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;int32_tmain(){intn,m;......
  • 云原生人才培养计划2.0 之 消息产品「全家桶训练营」重磅来袭
    2021年8月,阿里云联合Linux基金会发布云原生人才培养计划2.0,协同开源生态力量,为云原生领域提供更具专业性的定向人才培养方式,帮助云原生时代的开发者更好地享受云红利,创造......
  • 代码随想录算法训练营第11天 | 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 1
    20.有效的括号文章:代码随想录(programmercarl.com)视频:栈的拿手好戏!|LeetCode:20.有效的括号_哔哩哔哩_bilibili思路:先来分析一下这里有三种不匹配的情况,第一种......
  • 2022ACM寒假第一周训练部分题目代码
    在比赛结束后可以查看其他人的代码,这样的是可以查看,若非绿色则对方没公开。1周一1.1A链表应用#include<iostream>#include<list>usingnamespacestd;/*......
  • 训练周报二
    主要内容:动态规划一周全是dp,把kuangbin的dp基础题单ak了,现在差不多算是有点基础了,后面再陆续专门开树形dp这些内容abc前面写的慌慌张张的,节奏把握不好,读题慢还容易乱交题......
  • 2023寒假训练week0
    Day1蓝桥杯模拟赛A.带分数题意大致是用[1,9]之间的数来构造一个带分数,而且[1,9]必须每个都出现一次这不就是全排列吗?1.我们可以用c++的stl函数,也可dfs深搜2.将这个全......
  • 寒假训练第一周1.6日cf
    寒假训练第一周1.6日codeforces训练赛A题MediumNumber这道题的思路很简单,主要是一个多次输入的条件。这道题解题方式有多种,我是通过一个sort函数进行排序,然后输出第二......
  • 基于pytorch的图像训练识别
    一、准备数据集分为测试集和训练集,文件如下排放   二、开始识别数据集准备好后,即可导入到模型开始训练,运行下列代码importtimefromtorch.utils.tensorboard......
  • SYUCT第五次限时训练题解
    第五次限时训练题目大意及ac代码Maxmina题目大意accode#include<iostream>usingnamespacestd;intT,n,m;inta[55];intmain(){cin>>T;whil......