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

发布于 2025-01-15 00:20:30 字数 206 浏览 1 评论 0原文

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

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

I am building a basic Image Classification Project. However, my data set is a dictionary of labels as keys and respective images as values.
{'label_name1': ['imagepath1', 'imagepath2',....], 'label_name2': ['imagepath1', 'image2path',....],....}

How can I preprocess this kind of data set and later on use it in a Sequential Classification Model.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

入画浅相思 2025-01-22 00:20:30

您可以使用一些 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']

You can separate the dictionary into 2 parallel lists with some for loops.

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']

Bonus:
You can then shuffle the images and labels in parallel by zipping the lists together.

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']
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文