使用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()"

看到下图说明安装好了

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

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

你可能感兴趣的:(深度学习,Python,paddle,paddlepaddle,python)