把CIFAR-10数据集分类保存成图片

一:cifar10数据集简介

CIFAR-10数据集是一个广泛用于计算机视觉领域的数据集,主要用于图像分类任务。该数据集由Hinton的学生Alex Krizhevsky和Ilya Sutskever整理得到。它包含10个不同类别的RGB彩色图片,每个图片的尺寸为32 × 32像素。这10个类别分别是飞机(airplane)、汽车(automobile)、鸟类(bird)、猫(cat)、鹿(deer)、狗(dog)、蛙类(frog)、马(horse)、船(ship)和卡车(truck)。每个类别有6000张图像,数据集中总共有60000张图片,其中50000张图片作为训练集,另外10000张图片作为测试集。

CIFAR-10数据集中的图像涵盖了广泛的对象类别,每个图像都有一个标签,表示它所属的类别。这个数据集通常用于计算机视觉领域的算法开发、模型训练和性能评估。由于图像尺寸较小且类别数较少,CIFAR-10数据集通常用于快速验证和原型开发,以及用于学习和理解各种计算机视觉算法的基本原理。它也被用作深度学习模型的基准数据集,用于评估模型在图像分类任务上的性能和泛化能力。

在代码示例中,CIFAR-10数据集常被用作各种深度学习模型(如ResNet50)的训练和测试数据,以展示模型的训练和评估过程。通过训练模型来识别CIFAR-10数据集中的图像,我们可以得到模型在测试数据上的识别结果,从而评估模型的性能。

下载地址:http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz

二:分类保存成图片

import os
from imageio import imsave

def unpickle(file):
    import pickle
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict


# 训练集
filename = './cifar10/cifar-10-batches-py'  # 图片的路径
meta = unpickle(filename + '/batches.meta')
label_name = meta[b'label_names']
print(label_name) #打印标签

for i in range(len(label_name)):  #建立文件夹train
    file = label_name[i].decode()
    path = './cifar10/train/' + file
    isExist = os.path.exists(path)
    if not isExist:
        os.makedirs(path)

for i in range(1, 6):
    content = unpickle(filename + '/data_batch_' + str(i))  # 解压后的每个data_batch_
    for j in range(10000):
        img = content[b'data'][j]
        img = img.reshape(3, 32, 32)
        img = img.transpose(1, 2, 0)
        img_name = './cifar10/train/' + label_name[content[b'labels'][j]].decode() + '/batch_' + str(i) + '_num_' + str(j) + '.jpeg'
        imsave(img_name, img)


# 训练集改名
path = './cifar10/train/'
filelist = os.listdir(path)
for item in filelist:
    pathnew=os.path.join(path,item)
    imagelist = os.listdir(pathnew)
    j = 1
    for i in imagelist:
        src = os.path.join(os.path.abspath(pathnew), i)
        dst = os.path.join(os.path.abspath(pathnew), '' + item + '.' + str(j) + '.jpeg')
        j = j+1
        os.rename(src, dst)


# 测试集
meta1 = unpickle(filename + '/test_batch')  # 解压test_batch
label_name1 = meta[b'label_names']

for i in range(len(label_name1)):
    file = label_name1[i].decode()
    path = './cifar10/test/' + file
    isExist = os.path.exists(path)
    if not isExist:
        os.makedirs(path)

for j in range(10000):
    img = meta1[b'data'][j]
    img = img.reshape(3, 32, 32)
    img = img.transpose(1, 2, 0)
    img_name = './cifar10/test/' + label_name[
        meta1[b'labels'][j]].decode() + '/batch_' + str(j) + '_num_' + str(j) + '.jpeg'
    imsave(img_name, img)


# 测试集改名
path = './cifar10/test/'
filelist = os.listdir(path)
for item in filelist:
    pathnew=os.path.join(path,item)
    imagelist = os.listdir(pathnew)
    j = 1
    for i in imagelist:
        src = os.path.join(os.path.abspath(pathnew), i)
        dst = os.path.join(os.path.abspath(pathnew), '' + item + '.' + str(j) + '.jpeg')
        j = j+1
        os.rename(src, dst)


相关推荐

  1. CIFAR-10数据分类保存图片

    2024-03-31 10:18:05       32 阅读
  2. 如何图片保存16位png格式?

    2024-03-31 10:18:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 10:18:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 10:18:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 10:18:05       82 阅读
  4. Python语言-面向对象

    2024-03-31 10:18:05       91 阅读

热门阅读

  1. 如何系统地学习Python(四)标准库(二)

    2024-03-31 10:18:05       37 阅读
  2. 如何提高账号安全——密码的秘密

    2024-03-31 10:18:05       31 阅读
  3. 汽车电子行业知识:汽车电子领域包含哪些技术

    2024-03-31 10:18:05       32 阅读
  4. Centos 7 安装 Node.js v16.13.1

    2024-03-31 10:18:05       43 阅读
  5. 深入了解Vue中slot的应用

    2024-03-31 10:18:05       33 阅读
  6. kvm虚拟机迁移--来自gpt

    2024-03-31 10:18:05       30 阅读
  7. 工作总结5

    2024-03-31 10:18:05       33 阅读
  8. 一梦三四年,回首UG在大学的往事(开篇)

    2024-03-31 10:18:05       32 阅读
  9. Python读取PDF文字 去掉页眉页脚

    2024-03-31 10:18:05       42 阅读
  10. vue 透传 Attributes(二)

    2024-03-31 10:18:05       36 阅读
  11. 使用 R 读取Excel文件的特定列

    2024-03-31 10:18:05       36 阅读
  12. SVG XML 格式定义图形入门介绍

    2024-03-31 10:18:05       46 阅读