(数据集所在电脑上)数据处理:
1、checkfirstline.py:扫描数据集中的label文件首列数字以查看数据集采集了哪些标签类
2、labelsdelete.py:在第三行list处输入所需要保留的标签,删去数据集中无用标签。
3、changelabel.py:case0:将有效标签由0开始重新升序排列
case1:将labels文件处理完成
case2:为避免正视与俯视文件重名过多,在其中一类文件前加入前缀以区分
注意:changelabel脚本需在要处理数据目录下才能正常运行。
生成list:
step 1 :download 数据资料,将训练labels和images放在一个路径下(新建文件夹);
step 2 : 将labels和images下新建train和val两个文件夹,
将数据根据比例分到train和val两个文件夹下(默认 8:2);
step 3 :根据路径修改make_list.py中的路径(分别为label中的train、val;images中的train、val)
1)第2行:trainPath = 'C:/Users/37719/Desktop/yolov7/yolov7/experiments/labels/val/' # 引号内修改为绝对路径;
2) 第6行:f = open('val_list.txt', 'a') # 引号内根据在val还是train下修改
3) 第7行:f.write('./labels/val/' + file + "\n") #./后内容根据路径修改(若将images和labels放一起生成,则该行labels需删除)
step 4 :运行make_list.py,读取并保存配置文档
step 5 :将配置文档放到labels和images同一路径下
(服务器上)配置yolo代码:
1、data目录下的被train.py所用的yaml文件(默认为Weights.yaml)中 # number of classes的nc数量和# class names类别名需更改且相匹配。
配置文件下出现如下代码时,“..”代表了回退两层文件夹的意思,原训练代码仅需回退一层,故需删去一个.
train: ../experiments/train_list.txt # 118287 images
val: ../experiments/val_list.txt # 5000 images
2、models目录下被train.py所用的yaml文件(默认为yolov5n.yaml)中# number of classes需与上一步中nc数量一致。
3、experiments目录下每次只可训练一个train list文件和一个val list文件
4、主目录下 train.py中主函数处前三行
parser.add_argument('--weights', type=str, default=ROOT / 'yolov5n.pt', help='initial weights path')
parser.add_argument('--cfg', type=str, default='models/yolov5n.yaml', help='model.yaml path')
parser.add_argument('--data', type=str, default=ROOT / 'data/Weights.yaml', help='dataset.yaml path')
weights处的default路径文件yolov5n.pt需从yolov5master文件夹中复制
cfg处的default路径文件为第二步中yaml文件
data处的default路径文件为第一步中yaml文件
(服务器上)训练:
1、在训练机中粘贴好的文件夹主目录下使用terminal
2、输入并运行conda env list查看所需激活环境(默认为pyg_py3.7)
3、输入并运行conda activate xxxxx(第二步找到的环境)进行激活
4、输入并运行python train.py开始训练(此过程一般持续6-7小时)
1万+

被折叠的 条评论
为什么被折叠?



