【无标题】

  1. 把轨迹放在一个文件夹下,像这样:
|---- tennis_0810
	|---- 20230810_100930
		|---- left 		 	 
		|---- right
	|---- 20230810_100947
		|---- left
 		|---- right
	|---- 20230810_101002
		|---- left
		|---- right
  1. 先用 rename.py 重命名 jpg 和 xml 文件,只要把 p 改为轨迹文件夹的父目录(绝对路径,如E:\\data\\tennis_0810\\记得最后加 \),把 time 改为轨迹文件夹名(如 20230810_164502)。
    【无标题】_第1张图片

  2. 轨迹文件夹同级目录下创建 jpg 文件夹和 xml 文件夹:
    【无标题】_第2张图片

  3. 运行 extract_jpg_xml.py 之前,把 p 改为父目录 p = "E:\\data\\tennis_0810",然后运行这个文件,运行完之后,jpg 和 xml 就被分开在了两个文件夹了。
    【无标题】_第3张图片

  4. 运行 delete.py ,删!除!没!用!的! xml !!! 记得修改文件路径。

  5. 运行 is_match.py,做匹配。root 是 jpg 文件夹路径,cor_root 是 xml文件夹路径。
    【无标题】_第4张图片

  6. 用 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),直接进了路径以后,全选本地文件,拖进去就行。【无标题】_第5张图片

  7. 然后等待上传结束。
    【无标题】_第6张图片

  8. 打开 vscode,准备训练捏

  9. 打开这个文件夹 /home/lyy/code/yolo_for_tennis,进虚拟环境 yolo_py37

  10. dataset_before 文件夹,先运行 split_train_val.py 文件,再运行 xml_to_yolo.py 文件,不用改直接运行就行。
    在这里插入图片描述

  11. 然后 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 &这坨别删

我这里没用以前的权重文件,相当于把所有数据都放在一块重新训练了。
【无标题】_第7张图片

log 文件可以查看训练情况, 下面这坨 Epoch 出现就表示成功开始训练 了:
【无标题】_第8张图片

  1. 训练好的权重文件一般会在 train/runs 下最新的一个 expxx/weights 文件夹中(best.pt)
    【无标题】_第9张图片
    【无标题】_第10张图片

  2. 然后运行 gen_wts.py 文件,生成加速后的模型:

python gen_wts.py -w /home/lyy/code/yolo_for_badminton/runs/train/exp20/weights/best.pt -o badminton_0807.wts

-w 权重路径,改成你刚训练好的那个
-o 生成的 wts 文件名

  1. 然后你就能在当前文件夹下找到生成的 wts 文件了,下载,然后发给师兄就行了。

你可能感兴趣的:(python)