解决:pycocotools unable to run: module ‘numpy‘ has no attribute ‘float‘. `np.float

1.原因:数据集中的标签与图像名称不匹配,有缺失。

2. 数据集:coco128

3. 场景:在使用yolo2coco.py脚本中,将coco128数据集由txt文件转为json文件。

4. 目的:在yolov5或yolov7中为了得到coco指标。

5. coco128数据集格式:

coco128

        images

                train2017

                        01.jpg

                        02.jpg

        labels

                train2017

                        01.txt

                        02.txt

6. 解决:运行代码,根据输出结果,找出images文件与labels文件中不匹配的文件进行删除。

import os

def split_str(lists):
    d = list()
    for s in lists:
        d.append(s.split('.')[0])
    return d

path_img = './coco128/images/train2017'
datanames_img = os.listdir(path_img) # 存放在列表中 '000000000009.jpg'
list_img = split_str(datanames_img)

path_labels = './coco128/labels/train2017'
datanames_labels = os.listdir(path_labels)
list_labels = split_str(datanames_labels)
print('图片中存在,但标签中不存在')
for i in list_img:
    if i not in list_labels:
        print(i)
print('========')
print('图片中不存在,标签中存在')
for i in list_labels:
    if i not in list_img:
        print(i)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值