图像分类 – 在序列模型中使用字典数据集

原文标题Image Classification – Use Dictionary Dataset in Sequential Model

我正在构建一个基本的图像分类项目。然而,我的数据集是一个标签字典作为键和相应的图像作为值。{'label_name1': ['imagepath1', 'imagepath2',....], 'label_name2': ['imagepath1', 'image2path',....],....}

我如何预处理这种数据集,然后在顺序分类模型中使用它。

原文链接:https://stackoverflow.com//questions/71498027/image-classification-use-dictionary-dataset-in-sequential-model

回复

我来回复
  • Ronan Howard的头像
    Ronan Howard 评论

    您可以将字典分成带有一些 for 循环的 2 个并行列表。

    data = {
        'label_name1': ['path1', 'path2'],
        'label_name2': ['path3', 'path4']
    }
    train_images, train_labels = [], []
    
    for label in data:
        for image in data[label]:
            train_images.append(image)
            train_labels.append(label)
    
    print(train_images) # ['path1', 'path2', 'path3', 'path4']
    print(train_labels) # ['label_name1', 'label_name1', 'label_name2', 'label_name2']
    
    

    奖励:然后,您可以通过将列表压缩在一起来并行打乱图像和标签。

    from random import shuffle
    temp = list(zip(train_images, train_labels))
    shuffle(temp)
    train_images, train_labels = [list(i) for i in zip(*temp)]
    
    print(train_images) # ['path3', 'path2', 'path1', 'path4']
    print(train_labels) # ['label_name2', 'label_name1', 'label_name1', 'label_name2']
    
    2年前 0条评论