使用 python 批量移动文件夹下的文件

本文介绍了如何使用 Python 批量移动文件夹下的文件,特别是在处理大量数据集时,如 yolov5 和 Retinanet 标注格式的转换。通过示例代码展示了如何利用 os 和 shutil 模块实现文件的批量移动操作,解决从大量文件中筛选特定文件并移动到目标文件夹的问题。
摘要由CSDN通过智能技术生成

使用 python 批量移动文件夹下的文件

前言与需求分析

  之前用 yolov5 做了一个飞行器的检测,本来 yolo 应该是一个分类器,但是我把它当作一个单个种类的检测器,本来以外我做错了,但是后来我用我的数据跑起来还是效果不错的(单纯指的是识别,精度效果还有待商榷),CSDN 了一番发现国内关于使用 yolo 检测单一种类众说纷纭,所以去 stackflow 去查了一下,就是单纯检测一类做训练是可以的,甚至有专门的攻略,真就 CSDN 是 2 咯?

  一开始做毕设的设想是 Yolov4,Yolov3做个对比,水一下就划过去了.但是在 B 乎上发现某大神说他用 yolov4 做 DOTA 数据的检测用不了,后来发现他的数据裁剪的大小是 640 x 640 的,而 yolov4 要求 608 x 608 的,而且 Yolov4,Yolov3 不大好配置,而且标签的格式不大一样,恰好昨天和一位群友交流的时候,他用 Retinanet 做了DOTA 的识别,再一查,好家伙,这标注的格式和知乎大神给的数据格式差不多,所以就突发奇想,能不能把我原来 yolov5 的同名 txt 从另一个 Labeltxt 中给拿出来并且处理一下然后批量复制到另一个文件夹中去.

这张图是 yolov5 的标注格式,如果要训练单一种类的话要从 0 开始,并且标签的格式是 class 四个归一化坐标 而 yolov4,Retinanet 分别用的是 image_path,坐标,种类名,种类标签,image_path,坐标,种类名

这是 Retinanet 的数据格式的介绍,而下面数具体的数据的格式的例子.

  由于 DOTA 数据集有原始的标注格式,所以我就想直接把那个复制过来,然后放进来,但是在 yolov5 中,我的仅有飞机的种类是训练数据集有 1823 个 txt 数据,而验证集合有 498 txt 数据,而原始的 DOTA 数据集合中有 10000+ 个 txt 数据,所以我不可能从 DOTA 数据集那里面一个一个对应找到仅包含飞机的 txt 文件.
  所以我的需求就是这样的,

/home/neverland/桌面/yolov5/coco/data/train/labels

这个文件夹中有 1823 个 txt 文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值