cifar10数据集下载及图片格式解析

cifar10数据集下载及图片格式解析CIFAR-10是由Hinton的学生AlexKrizhevsky和IlyaSutskever整理的一个用于识别普适物体的小型数据集。一共包含10个类别的RGB彩色图片:飞机(a叩lane)、汽车(automobile)、鸟类(bird)、猫(cat)、鹿(deer)、狗(dog)、蛙类(frog)、马(horse)、船(ship)和卡车(truck)。图片的尺寸为32×32×3,数据集中一共有50…

大家好,又见面了,我是你们的朋友全栈君。

        CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。一共包含 10 个类别的 RGB 彩色图 片:飞机( a叩lane )、汽车( automobile )、鸟类( bird )、猫( cat )、鹿( deer )、狗( dog )、蛙类( frog )、马( horse )、船( ship )和卡车( truck )。

        图片的尺寸为 32×32×3 ,数据集中一共有 50000 张训练圄片和 10000 张测试图片。CIFAR-10 的图片样例如图所示。

cifar10数据集下载及图片格式解析

cifar10数据集是一个常用的小型物体数据集,很多模型拿该数据集进行跑流程的简单测试。下面是通过pytorch官方代码自动下载cifar10数据集,并且python解析保存为img格式。

注意解析为img时候,root_dir中原始cifar-10-batches-py文件路径-不识别,需要修改一下。

保存的img路径提前建好文件夹。

cifar10数据集下载及图片格式解析

 


import torchvision
from torch.utils.data import DataLoader

import numpy as np
import imageio  # 引入imageio包

train_data = torchvision.datasets.CIFAR10(root="dataset", train=True, transform=torchvision.transforms.ToTensor(), download=True)
test_data = torchvision.datasets.CIFAR10(root="dataset", train=False, transform=torchvision.transforms.ToTensor(), download=True)


# 解压 返回解压后的字典
def unpickle(file):
    import pickle as pk
    fo = open(file, 'rb')
    dict = pk.load(fo, encoding='iso-8859-1')
    fo.close()
    return dict



#begin unpickle
root_dir="./dataset/"
# 生成训练集图片
for j in range(1, 6):
    dataName = root_dir+"/data_batch_" + str(j)  # 读取当前目录下的data_batch1~5文件。
    Xtr = unpickle(dataName)
    print(dataName + " is loading...")

    for i in range(0, 10000):
        img = np.reshape(Xtr['data'][i], (3, 32, 32))  # Xtr['data']为图片二进制数据
        img = img.transpose(1, 2, 0)  # 读取image
        picName = root_dir+'/train/' + str(Xtr['labels'][i]) + '_' + str(i + (j - 1) * 10000) + '.jpg'
        imageio.imsave(picName, img)  # 使用的imageio的imsave类
    print(dataName + " loaded.")

print("test_batch is loading...")

# 生成测试集图片
testXtr = unpickle(root_dir+"/test_batch")
for i in range(0, 10000):
    img = np.reshape(testXtr['data'][i], (3, 32, 32))
    img = img.transpose(1, 2, 0)
    picName = root_dir+'/test/' + str(testXtr['labels'][i]) + '_' + str(i) + '.jpg'
    imageio.imsave(picName, img)
print("test_batch loaded.")

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152092.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工行u盾华为手机不识别(华为mate20无法连接工行u盾)

    众所周知,随着支付宝、微信支付的使用便利,国内互联网金融业得到迅速发展。对于传统金融服务业特别是零售银行而言,提供差异化和更高标准的服务成为其留住顾客的重要一环——正因为此,更多的银行开始利用电子银行来完成非现金业务,向轻资产转型。据悉,如今电子银行替代率达到90%的银行比比皆是,有些银行的电子银行替代率甚至达到99%。在这样的情况下,包括国家四大行之一的工商银行的数据中心内部的网络流量相比以往大…

    2022年4月13日
    71
  • python进阶(1)Lambda表达式「建议收藏」

    python进阶(1)Lambda表达式「建议收藏」Lambda表达式lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数语法函数名=lambda参数:返回值注意点1.函数的参数可以有多个,多个参数之间用逗号隔

    2022年7月30日
    7
  • Mac Python第三方库安装「建议收藏」

    Mac Python第三方库安装「建议收藏」安装方式有两种:(1)PyCharm自带的package管理工具(2)终端pip3安装;例如要安装:requests库一、使用PyCharm自带的package管理工具进行安装:Preferences->Project->ProjectInterpreter,点击左下角的“+”直接搜索requests,安装(2)终端输入:$…

    2022年10月10日
    2
  • 关键部分CCriticalSection使用

    关键部分CCriticalSection使用类CCriticalSection的对象表示一个“临界区”,它是一个用于同步的对象,同一时刻仅仅同意一个线程存取资源或代码区。临界区在控制一次仅仅有一个线程改动数据或其他的控制资源时很实用。比如,在链表中添加一个结点就仅仅同意一次一个线程进行。通过使用CCriticalSection对象来控制链表,就能够达到这个目的。它就像是一把钥匙,哪个线程获得了它就获得了执行线程的权力,而把其他线程统统堵…

    2022年7月20日
    16
  • 伊甸园_绿田园农业

    伊甸园_绿田园农业近日,经国务院批复,《全国高标准农田建设规划(2021-2030年)》(以下简称《规划》)正式印发实施。《规划》指出,到2035年,通过持续改造提升,全国高标准农田保有量和质量进一步提高,绿色农田、数字农田建设模式进一步普及,支撑粮食生产和重要农产品供给能力进一步提升,形成更高层次、更有效率、更可持续的国家粮食安全保障基础。《规划》要求利用数字技术,推动农田建设、生产、管护相融合,提高全要素生产效率。重点推进物联网、大数据、移动互联网、智能控制、卫星定位等信息技术在农田建设中的应用,配套耕地质量综合监测点

    2022年10月21日
    2
  • 设被排序的节点序列共有N个节点_YFP载体N端序列

    设被排序的节点序列共有N个节点_YFP载体N端序列7-1 求奇数分之一序列前N项和 (20分)本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。输入格式: 输入在一行中给出一个正整数N。输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。 输入样例: 23 输出样例: sum = 2.549541#include<io…

    2022年8月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号