使用Paddle将 COCO格式数据集划分为训练集, 验证集和测试集(附Paddle安装教程)

1. 解决方法

可使用PaddleX框架自带的工具,对数据集进行随机划分,首先要将数据集按照如下格式整理:

MyDataset/ # 实例分割数据集根目录
|--JPEGImages/ # 原图文件所在目录
|  |--1.jpg
|  |--2.jpg
|  |--...
|  |--...
|
|--annotations.json # 标注文件所在目录

在数据集按照上面格式组织后,使用如下命令即可快速完成数据集随机划分,其中val_value表示验证集的比例,test_value表示测试集的比例(可以为0),剩余的比例用于训练集。

paddlex --split_dataset --format COCO --dataset_dir D:/MyDataset --val_value 0.2 --test_value 0.1

使上面的命令即可将数据划分为70%训练集,20%验证集和10%的测试集, 同时会在D:\MyDataset下生成train.json, val.json, test.json,分别存储训练样本列表,验证样本列表,测试样本列表

同时该工具也支持划分 VOC 格式的数据集, 使用命令如下:

paddlex --split_dataset --format VOC --dataset_dir D:\MyDataset --val_value 0.2 --test_value 0.1

参考: Paddle—目标检测 coco格式数据集划分为训练集验证集和测试集

2. 遇到的问题

2.1 Paddle 安装

先使用命令安装 paddlepaddle

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

再使用命令安装 paddlex

pip install paddlex -i https://mirror.baidu.com/pypi/simple

验证 Paddle 是否安装好:

python -c "import paddle;paddle.utils.run_check()"

看到下图说明安装好了

image-20211127203417027

2.2 运行划分数据集命令时报错: ‘ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88’

原因: numpy 版本不对, 我这里使用的 numpy 版本是 1.19.0

解决方法: 升级numpy 版本到 2.20, 使用如下命令:

 pip install numpy==1.20.0

问题解决, 不再报错

参考: Stackoverflow—ValueError: numpy.ndarray size changed

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值