|---- tennis_0810
|---- 20230810_100930
|---- left
|---- right
|---- 20230810_100947
|---- left
|---- right
|---- 20230810_101002
|---- left
|---- right
先用 rename.py
重命名 jpg 和 xml 文件,只要把 p 改为轨迹文件夹的父目录(绝对路径,如E:\\data\\tennis_0810\\
,记得最后加 \),把 time 改为轨迹文件夹名(如 20230810_164502
)。
运行 extract_jpg_xml.py
之前,把 p 改为父目录 p = "E:\\data\\tennis_0810"
,然后运行这个文件,运行完之后,jpg 和 xml 就被分开在了两个文件夹了。
运行 delete.py ,删!除!没!用!的! xml !!! 记得修改文件路径。
用 MobaXterm 软件(没有就用 vscode 吧,但是 vscode 很卡很慢),把 xml 文件全部拖到 /home/lyy/code/yolo_for_tennis/dataset_before/Annotations
这个路径下(别找错,有好几个dataset);把 jpg 文件全部拖到 /home/lyy/code/yolo_for_tennis/dataset_before/images
这个路径下(别找错,有好几个dataset),直接进了路径以后,全选本地文件,拖进去就行。
打开 vscode,准备训练捏
打开这个文件夹 /home/lyy/code/yolo_for_tennis
,进虚拟环境 yolo_py37
进 dataset_before
文件夹,先运行 split_train_val.py 文件,再运行 xml_to_yolo.py
文件,不用改直接运行就行。
然后 cd ..
,开始训练。
nohup python train.py --weights /home/lyy/code/yolo_for_tennis/weights/yolov5s.pt --data /home/lyy/code/yolo_for_tennis/data/tennis.yaml --device 3 >tennis_08010.txt 2>&1 &
weights: 权重文件路径,在这个权重的基础上继续训练模型,我这里用的是默认的,相当于是重新训练,效果不好的话,酒吧这个路径改成最新训练出来的权重文件的路径,在已经训练出来的权重文件上继续训练。
data:这个不用改
device:0, 1, 2, 3 (表示用哪块gpu,用最空的那块)
>
后面加的是log文件名,2>&1 &
这坨别删
我这里没用以前的权重文件,相当于把所有数据都放在一块重新训练了。
log 文件可以查看训练情况, 下面这坨 Epoch 出现就表示成功开始训练 了:
python gen_wts.py -w /home/lyy/code/yolo_for_badminton/runs/train/exp20/weights/best.pt -o badminton_0807.wts
-w 权重路径,改成你刚训练好的那个
-o 生成的 wts 文件名