返回顶部
首页 > 资讯 > 后端开发 > Python >python中如何使用CIFAR10数据集
  • 523
分享到

python中如何使用CIFAR10数据集

2023-07-05 02:07:24 523人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇“python中如何使用CIFAR10数据集”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中如何使用CIFA

这篇“python中如何使用CIFAR10数据集”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中如何使用CIFAR10数据集”文章吧。

    关于CIFAR10数据集的使用

    主要解决了如何把数据集与transfORMs结合在一起的问题。

    CIFAR10的官方解释

    torchvision.datasets.CIFAR10(root: str, train: bool = True, transform: Optional[Callable] = None,target_transform: Optional[Callable] = None,download: bool = False)

    注释:

    • root (string)存在 cifar-10-batches-py 目录的数据集的根目录,如果下载设置为 True,则将保存到该目录。

    • train (bool, optional)如果为True,则从训练集创建数据集, 如果为False,从测试集创建数据集。

    • transform (callable, optional)它接受一个 PIL 图像并返回一个转换后的版本。 例如,transforms.RandomCrop/transforms.ToTensor

    • target_transform (callable, optional) 接收目标并对其进行转换的函数/转换。

    • download (bool, optional)如果为 true,则从 Internet 下载数据集并将其放在根目录中。 如果数据集已经下载,则不会再次下载。

    实战操作

    1.CIAFR10数据集的下载

    代码如下:

    import torchvision   #导入torchvision这个类train_set = torchvision.datasets.CIFAR10(root = "./dataset", train = True, download= True)  #从训练集创建数据集test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, download=True)    #从测试集创建数据集

    root = "./dataset",将下载的数据集保存在这个文件夹下;download= True,从 Internet 下载数据集并将其放在根目录中,这里就是在相对路径中,创建dataset文件夹,将数据集保存在dataset中。

    2.查看下载的CIAFR10数据集

    运行程序,开始下载数据集。下载成功后,可以进行一些查看。代码如下:

    接着输入:

    print(train_set[0])  #查看train_set训练集中的第一个数据print(train_set.classes)   #查看train_set训练集中有多少个类别 img, target = train_set[0]print(img)print(target)print(train_set.classes[target])img.show()  #显示图片

    输出结果:

    (<PIL.Image.Image image mode=RGB size=32x32 at 0x161E924B8D0>, 6)
    ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship',
    'truck']
    <PIL.Image.Image image mode=RGB size=32x32 at 0x161E924B710>
    6
    frog

    注释:可以看见,train_set数据集中有10个类别,train_set中第0个元素的target是6,也就是说,这个元素是属于第7个类别frog的。

    3.数据转换

    因为这些图片类型都是PIL Image,如果要供给PyTorch使用的话,需要将数据全都转化成tensor类型。

    完整代码如下:

    import torchvision   #导入torchvision这个类from torch.utils.tensorboard import SummaryWriterfrom torchvision import transformsdataset_transforms = transforms.ToTensor()# dataset_transforms = torchvision.transforms.Compose([#     torchvision.transforms.ToTensor()# ])    第3  4 行代码可以用compose直接写train_set = torchvision.datasets.CIFAR10(root = "./dataset", train = True, transform=dataset_transforms, download= True) #训练集test_set = torchvision.datasets.CIFAR10(root="./dataset", train=False, transform=dataset_transforms, download=True)   #测试集writer = SummaryWriter("logs")# print(train_set[0])  #查看train_set训练集中的第一个数据# print(train_set.classes)   #查看train_set训练集中有多少个类别# img, target = train_set[0]# print(img)# print(target)# print(train_set.classes[target])# img.show()for i in range(20):    img, target = train_set[i]    writer.add_image("cifar10_test2", img, i)writer.close()

    小结:CIFAR10数据集内存很小,只有100多m,下载方便。对我们学习数据集非常友好,练习的时候,我们可以使用SummaryWriter来将数据写入tensorboard中。

    CIFAR-10 数据集简介

    复现代码的过程中,简单了解了作者使用的数据集CIFAR-10 dataset ,简单记录一下。

    CIFAR-10数据集是8000万微小图片的标签子集,它的收集者是:Alex Krizhevsky, Vinod Nair, Geoffrey Hinton。

    数据集由6万张32*32的彩色图片组成,一共有10个类别。每个类别6000张图片。其中有5万张训练图片及1万张测试图片。

    数据集被划分为5个训练块和1个测试块,每个块1万张图片。

    测试块包含了1000张从每个类别中随机选择的图片。训练块包含随机的剩余图像,但某些训练块可能对于一个类别的包含多于其他类别,训练块包含来自各个类别的5000张图片。

    这些类是完全互斥的,及在一个类别中出现的图片不会出现在其它类中。

    数据集版本

    作者提供了3个版本的数据集:python version; Matlab version; binary version。

    可根据自己的需求选择。

    数据集布置

    以python version进行介绍,Matlab version与之相同。

    下载后获得文件 data_batch_1, data_batch_2,&hellip;, data_batch_5。测试块相同。这些文件中的每一个都是用cPickle生成的python pickled对象。

    具体使用方法:

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

    返回字典类,每个块的文件包含一个字典类,包含以下元素:

    • data: 一个100003072的numpy数组(unit8)每个行存储3232的彩色图片,3072=1024*3,分别是red, green, blue。存储方式以行为主。

    • labels:使用0-9进行索引

    数据集包含的另一个文件batches.meta同样包含python字典,用于加载label_names。如:label_names[0] == “airplane”, label_names[1] == “automobile”

    以上就是关于“python中如何使用CIFAR10数据集”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

    --结束END--

    本文标题: python中如何使用CIFAR10数据集

    本文链接: https://lsjlt.com/news/349015.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python中如何使用CIFAR10数据集
      这篇“python中如何使用CIFAR10数据集”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python中如何使用CIFA...
      99+
      2023-07-05
    • python中关于CIFAR10数据集的使用
      目录关于CIFAR10数据集的使用CIFAR10的官方解释实战操作CIFAR-10 数据集简介数据集版本数据集布置总结关于CIFAR10数据集的使用 主要解决了如何把数据集与tran...
      99+
      2023-02-01
      python CIFAR10数据集 CIFAR10数据集的使用 CIFAR10数据集
    • 【Python机器学习】实验15 将Lenet5应用于Cifar10数据集
      文章目录 CIFAR10数据集介绍1. 数据的下载2.修改模型与前面的参数设置保持一致3. 新建模型4. 从数据集中分批量读取数据5. 定义损失函数6. 定义优化器7. 开始训练8.测试模型 ...
      99+
      2023-09-04
      python 机器学习 pytorch
    • 如何使用Python来处理数据集
      本篇内容介绍了“如何使用Python来处理数据集”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Pandas对数据科学界来说是一份天赐的礼物。...
      99+
      2023-06-16
    • ADO.NET如何使用数据集
      这篇文章主要介绍了ADO.NET如何使用数据集,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过图形化界面生成类型化数据集的过程大致分为三步:实验步骤(1):创建数据库连接对...
      99+
      2023-06-17
    • 如何在Python中使用差集
      本篇文章为大家展示了如何在Python中使用差集,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow...
      99+
      2023-06-14
    • Python中如何使用集合set
      小编给大家分享一下Python中如何使用集合set,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!集合 (set)由不同的元素组成,用{ }大括号括起来,用,逗号隔开无序的集合中的元素必须是比可变类型集合会自动去重例如:s ...
      99+
      2023-06-25
    • 数据库中如何使用集合运算符
      这篇文章主要介绍了数据库中如何使用集合运算符,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一、官方课件集合种类说明 二、注意事项1、在...
      99+
      2024-04-02
    • python如何导入数据集
      在Python中,我们可以使用多种方法导入数据集。以下是一些常用的方法:1. 使用pandas库导入数据集:```pythonimp...
      99+
      2023-09-12
      python
    • 如何在TensorFlow中使用数据集API加载和处理数据
      在TensorFlow中,可以使用数据集API来加载和处理数据。下面是一个简单的例子,展示如何使用数据集API加载和处理数据: im...
      99+
      2024-03-01
      TensorFlow
    • 如何使用代理IP收集数据
      本篇文章为大家展示了如何使用代理IP收集数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因特网在不断发展,IP代理的使用场景也在不断增多,例如:有些网工需要经常访问目标网站,因为同一ip太过频繁,...
      99+
      2023-06-15
    • Python如何采集基金数据
      Python如何采集基金数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。案例实现流程思路分析:需要什么数据需要的数据在哪里代码实现:发送请求获取数据解析数据多页爬取保存数...
      99+
      2023-06-22
    • python如何使用集合求交集
      这篇文章给大家分享的是有关python如何使用集合求交集的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用集合求交集替换下面代码:a = [1,2,3,4,5]b = [2...
      99+
      2023-06-27
    • 如何用Python采集腾讯招聘数据
      这篇文章将为大家详细讲解有关如何用Python采集腾讯招聘数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。今天我们爬取腾讯招聘网站Python岗位的招聘信息。如图所示:然后还是先看一下最终...
      99+
      2023-06-15
    • python如何使用集体判断函数All()
      这篇文章主要介绍了python如何使用集体判断函数All(),具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。集体判断函数All()还是用上面的例子,如果还想知道他一周内到达工作...
      99+
      2023-06-27
    • 如何在Python中使用pandas读取数据
      今天就跟大家聊聊有关如何在Python中使用pandas读取数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、三种数据文件的读取二、csv、tsv、txt 文件读取1)CSV文件...
      99+
      2023-06-15
    • 如何在Spring中使用Python数据类型?
      Spring是一个非常流行的Java开发框架,它提供了大量的功能和工具,使得Java开发变得更加简单和高效。在实际开发中,我们经常需要使用Python数据类型来处理一些数据,比如字典、列表等等。那么,在Spring中如何使用Python数据...
      99+
      2023-08-19
      数据类型 spring windows
    • pycharm如何调用数据集
      在PyCharm中,可以使用以下方法调用数据集:1. 使用Python代码加载数据集:可以使用Python的文件操作函数(如`ope...
      99+
      2023-08-23
      pycharm
    • 数据库中如何操作大数据集
      这篇文章给大家分享的是有关数据库中如何操作大数据集的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、子查询插入数据1、语法INSERT INTO table [ column...
      99+
      2024-04-02
    • Linux系统中,如何使用PHP处理大型数据集?
      在当今的数字时代,数据量越来越大,数据处理也变得越来越重要。对于Web开发人员来说,PHP是一种广泛使用的语言,它可以用来处理大型数据集。在Linux系统中,使用PHP处理大型数据集可以非常高效,本文将介绍如何使用PHP处理大型数据集,并...
      99+
      2023-10-11
      linux 存储 大数据
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作