首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CIFAR10数据集实战-数据读取部分(上)

CIFAR10数据集实战-数据读取部分(上)

作者头像
用户6719124
发布于 2019-12-19 02:17:10
发布于 2019-12-19 02:17:10
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

本节课主要介绍CIFAR10数据集

登录http://www.cs.toronto.edu/~kriz/cifar.html网站,可以自行下载数据集。

打开页面后

前讲的MNIST数据集为0~9的数字识别,而这里的为10类物品识别。由上可见物品包含有飞机、汽车、鸟、猫等。照片大小为32*32的彩色图片。每一个类别大概有6000张照片,其中随机筛选出5000作为学习,余下的1000用于测试。

首先在pycharm软件中新建文件夹,并创建main.py文件。

首先引入一部分相关的工具包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import torch
from torchvision import datasets
# 引入pytorch、datasets工具包

定义main函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def main():
    
    
    
if __name__ == '__main__':
    main()

下面开始在里面写入代码

首先开始加载数据集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def main():

    cifar_train = datasets.CIFAR10('cifar', train=True, transform=transforms.Compose([
        transforms.Resize((32, 32)),

继续

在前面引入工具包处加入代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from torchvision import transforms
# 引入数据变换工具包

继续定义数据集代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def main():

    cifar_train = datasets.CIFAR10('cifar', train=True, transform=transforms.Compose([
        transforms.Resize((32, 32)),
        # .Compose相当于一个数据转换的集合
        # 进行数据转换,首先将图片统一为32*32
        transforms.ToTensor()
        # 将数据转化到Tensor中

    ]))
    # 直接在datasets中导入CIFAR10数据集,放在"cifar"文件夹中

这里暂时不写Normalize函数

写到这里别忘了让pytorch自己下载数据集

在代码后面加入download=True即可实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
]), download=True)

Cifar_train 的代码部分已经写好

写到这里要注意这里只是建立了一次加载一张的代码

若想一次性加载一批,则要利用其多线程的特性

继续在引入工具包部分加入相关工具包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from torch.utils.data import DataLoader
# 多线程数据读取

继续书写数据读取部分代码

按照其提示,写入相关参数

cifar_train = DataLoader(cifar_train, batch_size=batchsz, ) # 按照其要求,这里的参数需要有batch_size, # 在该部分代码前面定义batch_size

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python pytorch AI机器学习实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
字符串面试题(一)— 字符串逆序
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/54783416
大黄大黄大黄
2018/09/14
7880
翻转字符串
给定你的就是字符数组char[] c = new char[] {'h', 'o', 'w', ' ', 'a', 'r', 'e', ' ', 'y', 'o', 'u'};
砖业洋__
2023/05/06
1940
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53675660
大黄大黄大黄
2018/09/14
2.4K0
字符串面试题(三)— 把一个字符串的大写字母放到字符串的后面
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53675627
大黄大黄大黄
2018/09/14
1.1K0
牛客网题型总结(2)(排序算法1)(冒泡排序与快速排序)
排序算法能够用来帮助我们完成一些排序的题,甚至有些题目就是让我们编写出实现某个排序算法的程序
代码小豪
2024/06/08
1070
力扣(LeetCode)刷题,简单题(第25期)
力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。
不脱发的程序猿
2021/01/20
2760
快速排序
如果说希尔排序是简单插入排序的升级,堆排序是简单选择排序的升级,那么快速排序就是冒泡排序的升级了。相对于冒泡排序,快速排序增大了记录比较和移动的距离,将关键字较大的记录移动到后面,较小的移动到前面,从而减少总的比较和移动次数。 快速排序的基本思想:通过每一趟排序都将待排序的记录按照选定的关键字分成两部分,其中一部分记录的关键字均比另一部分的小,然后通过迭代然后在将每部分单独再分成两部分,如此循环,直到被分成的无法再分为止。 快速排序中每一趟排序的算法是: 1)设置两个变量i、j,排序开始的时候:i=0,j=
用户1215536
2018/02/05
5400
大话字符串逆序
面试官:“先来一点基础的吧,用Java写一个方法,入参是一个字符串,返回逆序后的字符串。”
万猫学社
2022/04/22
2300
搞定常被问的数组和排序算法,附面试题
数组是 Java 编程中最重要的数据结构之一,也是最基本的数据结构,Java 中的常用集合 ArrayList、HashMap 等内部的实现都使用到了数组结构。数组是只能用来存储一种类型的集合,可以通过下标访问数值中的所有元素。
架构师修炼
2020/07/17
8330
字符串逆序 - 多种方法实现
对字符串进行逆序,以字符串abcdef为例 1. 借助额外数组 #include <stdio.h> #include <string.h> int main() { char str[] = "abcdef"; //求字符串的大小,包括'\0'在内 int sz = strlen(str) + 1; //动态内存分配,申请一个大小为sz的字符数组 char* p = (char*)malloc(sizeof(char) * sz); int i = 0;
怠惰的未禾
2023/04/27
4040
字符串逆序 - 多种方法实现
算法题目(四)
题目:我们把只包含因子2、3 和5 的数称作丑数(Ugly Number)。求从小到大的顺序的第1500个丑数。
Helloted
2022/06/06
3530
算法题目(四)
【PTA】7-2 字符串逆序 (15分)
输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
Regan Yue
2021/09/16
8030
C语言每日一题(2)字符串左旋
首先基于最简单的思路,将需要左旋变动的值取出,然后将剩下的字符进行平移,最后再将刚拿出来的值接到后面去。
对编程一片赤诚的小吴
2024/01/23
1780
【leetcode刷题】T86-有效的括号字符串
给定只包含( ,) 和 *三种字符的字符串,写一个函数来检验是否为有效字符串。有效字符串规则如下:
木又AI帮
2019/07/17
5520
C语言每日一题(1)字符串逆序
实现一个字符串逆序的方式有很多,可以倒序输出,也可以利用数组下标进行交换,当然,也可以利用指针。
对编程一片赤诚的小吴
2024/01/23
3650
linux c/c++ 面试题目整理(二)
主要层次结构采用5层结构:应用层/传输层/网络层/数据链路层/物理层,其中部分层次中常见协议如下:
cpp加油站
2021/04/16
4450
linux c/c++ 面试题目整理(二)
八大排序-上次看到这么好的排序博客还是在上次
本文将用说人话+动图的形式带你搞懂常见排序算法,简要分析复杂度、稳定性等指标,并给出参考代码。最后安利sort()函数的使用。
唔仄lo咚锵
2021/12/30
6750
八大排序-上次看到这么好的排序博客还是在上次
集合和数组的相互转换
很多时候API的方法只支持集合或数组,比如适配器类中的数据只支持集合,这时候我们就要把数组转换集合。
全栈程序员站长
2022/07/04
3010
字符串面试题(四)— 判断一个字符串是否为另外一个字符串旋转之后的字符串
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/54783504
大黄大黄大黄
2018/09/14
7910
几种有关排序的常见面试问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/54694992
大黄大黄大黄
2018/09/14
8570
几种有关排序的常见面试问题
推荐阅读
相关推荐
字符串面试题(一)— 字符串逆序
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验