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.")

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 解决BASE64Encoder报错的问题

    解决BASE64Encoder报错的问题今天在用servlet写一个文件下载的案例时,想解决文件的中文显示问题。然后在导包importsun.misc.BASE64Encoder时,发现IDEA报错了,无法识别这个类。最后发现在JDK9后,官方就已经不支持importsun.misc.BASE64Encoder了。网上说了很多,第一种是把JDK的版本降低到1.8以内。但是我觉得这不是解决的最好办法。我觉得应该去修改原有的代码。所以我采用了官方提供了新的jar包importjava.util.Base64。下面这个java类的本意

  • 静态代理理解_如何做代理

    静态代理理解_如何做代理静态代理现在如果要对每个..

    2022年10月16日
  • docker 创建容器,端口映射(docker exec 进入容器)

    今天用docker的swarm搭建了一个集群,在启动主节点的swarm的时候出错了,报的错误是:/usr/bin/docker-current:Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointgoofy_bose(317173685c23c029fd5f28b88

  • EXCEL出错 8000401a

    EXCEL出错 8000401a
    检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误:8000401a
     
     
     
     
    解决方法:
     

    1:在服务器上安装office的Excel软件.
    2:在”开始”->”运行”中输入dcomcnfg.exe启动”组件服务”
    3:依次双击”组件服务”->”计算机”->”我的电脑”->”DCOM配

  • vlan的基础配置_图文并茂的图片制作二年级

    vlan的基础配置_图文并茂的图片制作二年级VLAN的简单配置实例(图文并茂)一.实验环境首先我们得有简单的实验环境:GNS3,C2691路由器二.实验图示如图,先建立如图所示的简单拓扑图。注:记得给交换机设置好参数。如图三.实验步骤首先我们得配置好三台主机的ip地址。配置如图。pc1pc2pc3主机配置完成。接下来我们开始设置交换机。如图我们可以查看路由功能查看我们已经设置好的vlan和接口。先配好三个vlan…

  • 进程间通信和线程间通信的区别_有些线程包含多个进程

    进程间通信和线程间通信的区别_有些线程包含多个进程进程间通信转自https://www.cnblogs.com/LUO77/p/5816326.html线程间通信https://www.cnblogs.com/jobs1/p/10784021.html线程间通信进程和线程的区别程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映…

发表回复

您的电子邮箱地址不会被公开。

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