从coco2017数据集中提取少量图片,来充当整个coco2017数据集,方便debug。

时间:2023.5.28

1. 背景

coco2017数据集太大,调试代码的时候,读入完整数据集太慢,外加服务器的cpu和内存特别古老,容易死机。所以,从coco2017数据集中提取少量图片,来充当整个coco2017数据集,方便debug。代码全部debug完毕后,再用完整数据集跑模型。
当然,电脑硬件设备好的话,就不会有这些问题了。

2. 目的

从coco2017数据集中提取少量图片,来充当整个coco2017数据集,方便debug。

3.代码

import json

json_file='/root/instances_train2017.json'    # train or val 集标签路径
# json_file='/root/instances_val2017.json'    # train or val 集标签路径
num = 2 # 提取2张图片

data=json.load(open(json_file,'r'))
data_2={}
data_2['info']=data['info']
data_2['licenses']=data['licenses']
data_2['images'] = [data['images'][i] for i in range(num)]
data_2['categories']=data['categories']

annotation=[]
imgID = []  # 通过imgID,找到要提取的所有对象
for i in range(num):
    imgID.append(data_2['images'][i]['id'])
for ann in data['annotations']:
    if ann['image_id'] in imgID:
        annotation.append(ann)
data_2['annotations']=annotation
json.dump(data_2,open(f'/root/only_two_coco2017/instances_train2017.json','w'),indent=4) # indent=4 更加美观显示
# json.dump(data_2,open(f'/root/only_two_coco2017/instances_val2017.json','w'),indent=4) # indent=4 更加美观显示

4.coco2017数据集文件路径结构

|coco2017
	|annotations
		|instances_train2017.json
		|instances_val2017.json
	|train2017
		|000000391895.jpg
		|************.jpg
	|val2017
		|000000397133.jpg
		|************.jpg
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值