常用数据打乱方法总结


当我们拿到一个数据集后,我们需要先从标注文件中读取数据,然后对其进行打乱(shuffle),我们那celeba数据集为例进行说明

1.标注文件说明

202599
image_id x_1 y_1 width height
000001.jpg    95  71 226 313
000002.jpg    72  94 221 306
000003.jpg   216  59  91 126
000004.jpg   622 257 564 781
000005.jpg   236 109 120 166
000006.jpg   146  67 182 252

可以看到第一行为图片数量,总共202599张图片,第二行是标注说明,依次分别为:

  • image_id:图片名称,用来组装图片路径
  • x_1:人脸左上角x坐标
  • y_1:人脸左上角y坐标
  • width :人脸宽度
  • height:人脸高度

2.读取标注文件

def load_anno_file(path):
    with open(path, "r") as f:
        annotations = f.readlines()
    return annotations[2:]

1.排序打乱

anno_bbox_list = load_anno_file(anno_bbox_file)
# 数据总数
data_len = len(anno_bbox_list)
# 打乱数据,创建从0 到 data_len 的数组
index = np.arange(data_len)
# 将数组打乱
np.random.shuffle(index)

# 循环调用
for i in tqdm(data_len):
	anno_bbox = anno_bbox_list[index[i]]
	...

2.切片打乱

ase_num = 150000
negative_keep = np.random.choice(len(negative_lists), size=base_num * 3, replace=False)
negative_lists = np.asarray(negative_lists)[negative_keep]

3.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值