深度学习(四)——torchvision中数据集的使用
一、 科研数据集
下载链接:
本文中我们使用的是\(CIFAR\)数据集
二、CIFAR10数据集详解
具体网站:
1. 参数详解
torchvision中每个数据集的参数都是大同小异的,这里只介绍CIFAR10数据集
该数据集的数据格式为PIL格式
class torchvision.datasets.CIFAR10(root:str,train:bool=True,transform:Optional[Callable]=None,target_transform:Optional[Callable]=None,download:bool=False)
内置函数:
root(string):必须设置,输入数据集下载后存放在电脑中的路径
train(bool):True代表创建的一个训练集(train);False代表创建一个测试集(test)。
transform:对数据集中的数据进行变换
target_transform:对标签(target)数据进行变换
download(bool):True的时候会自动从网上下载这个数据集,False的时候则不会下载该数据集。
代码示例:
运行后直接下载数据集
需要注意的是,如果下载速度过慢,则可以在运行后,把弹出的网址单拎出来,放到迅雷等软件上进行下载
import torchvision
#设置训练集
#root:设置为相对路径,会在该.py文件下设置一个名为dataset的文件存放CIFAR10数据
#train: True,数据集为训练集
#download: 下载该数据集
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
#设置测试集;train=False
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)
数据标签查看:
在运行上面的代码下载好数据集后,输入
print(test_set[0),并使用一下pycharm的dubug功能,不难发现:
也就是说,数据标签有'airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'十类,分别用整数0~9来表示
数据集包含的所有标签也可以用下面的代码打印出来:
print(test_set.classes)
#[Run] [airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
- 某条数据的PIL Image、标签的获取方法:
img,target=test_set[索引]
img,target=test_set[0]
print(img)
print(target,test_set.classes[target])
#[Run]
#<PIL.Image.Image image mode=RGB size=32x32 at 0x1DDF9FCD640>
#3 cat
- 显示图片:
img.show()
三、使用transform处理多组图像数据
代码示例
首先使用\(Compose\)去定义如何处理PIL图像数据
然后代入\(torchvision.datasets.CIFAR10\)中,处理里面的图像数据
#首先用Compose处理图像数据,可以先转为tensor格式,然后再裁剪等,这里只转tensor格式
import torchvision
dataset_transform=torchvision.transforms.Compose([
torchvision.transforms.ToTensor()
])
#定义transform=dataset_transform,使得图像数据类型转换为Compose中处理过后的
train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transform,download=True)
test_set=torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=True)
- 对处理过后的图像进行可视化操作
from torch.utils.tensorboard import SummaryWriter
writer=SummaryWriter("p10")
for i in range(10): #显示test_set数据集中的前十张图片
img,target=test_set[i]
writer.add_image("test_set",img,i)
writer.close()
深度学习(四)——torchvision中数据集的使用的更多相关文章
- 【腾讯Bugly干货分享】深度学习在OCR中的应用
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5809bb47cc5e52161640c5c8 Dev Club 是一个交流移动 ...
- Attention机制在深度学习推荐算法中的应用(转载)
AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Ne ...
- 【AI in 美团】深度学习在OCR中的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索.推荐.广告.风控.智能调度 ...
- 【深度学习】CNN 中 1x1 卷积核的作用
[深度学习]CNN 中 1x1 卷积核的作用 最近研究 GoogLeNet 和 VGG 神经网络结构的时候,都看见了它们在某些层有采取 1x1 作为卷积核,起初的时候,对这个做法很是迷惑,这是因为之前 ...
- 深度学习训练过程中的学习率衰减策略及pytorch实现
学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...
- 深度学习在 CTR 中应用
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:高航 一. Wide&&Deep 模型 首先给出Wide && Deep [1] 网络结构: 本质上 ...
- 从零开始学会GAN 0:第一部分 介绍生成式深度学习(连载中)
本书的前四章旨在介绍开始构建生成式深度学习模型所需的核心技术.在第1章中,我们将首先对生成式建模领域进行广泛的研究,并从概率的角度考虑我们试图解决的问题类型.然后,我们将探讨我们的基本概率生成模型的第 ...
- 深度学习分类问题中accuracy等评价指标的理解
在处理深度学习分类问题时,会用到一些评价指标,如accuracy(准确率)等.刚开始接触时会感觉有点多有点绕,不太好理解.本文写出我的理解,同时以语音唤醒(唤醒词识别)来举例,希望能加深理解这些指标. ...
- go微服务框架go-micro深度学习(四) rpc方法调用过程详解
上一篇帖子go微服务框架go-micro深度学习(三) Registry服务的注册和发现详细解释了go-micro是如何做服务注册和发现在,服务端注册server信息,client获取server的地 ...
- 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...
随机推荐
- 百度松果菁英班--oj赛(第二次)
目录 一.小码哥剪绳子 二.咖啡品鉴师小码哥 三.均分糖果 四.持盾 五.活动安排 六.甜品供应 七.斐波那契数列的组合 八.小码哥的布阵指挥 九.活动分组 十.外卖递送 一.小码哥剪绳子 题目:马上 ...
- 【Vue】前端解决跨域问题
Vue解决跨域问题 什么是跨域:违背了同源策略,即协议名.主机名.端口号必须一致.浏览器与服务器之间存在跨域问题,而服务器与服务器之间由于通过Http通信是不存在跨域问题的. 如图所示,浏览器 ...
- abp(net core)+easyui+efcore实现仓储管理系统——组织管理升级之下(六十二)
Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- 基于ChatGPT用AI实现自然对话
1.概述 ChatGPT是当前自然语言处理领域的重要进展之一,通过预训练和微调的方式,ChatGPT可以生成高质量的文本,可应用于多种场景,如智能客服.聊天机器人.语音助手等.本文将详细介绍ChatG ...
- cefsharp学习笔记
环境:VS2015+cefsharp 57.0 全部代码如下: 1.要初始化,否则不能刷新 using System; using CefSharp; using System.Collections ...
- 金三银四好像消失了,IT行业何时复苏!
疫情时候不敢离职,以为熬过来疫情了,行情会好一些,可是疫情结束了,反而行情更差了, 这是要哪样 我心中不由一万个 草泥 路过 我心中不惊有了很多疑惑和感叹 接着上一篇 一个28岁程序员入行自述和感受 ...
- 2023-01-03:超过5名学生的课。编写一个SQL查询来报告 至少有5个学生 的所有班级,返回结果不限顺序。请问sql语句如何写? +---------+ | class | +-----
2023-01-03:超过5名学生的课.编写一个SQL查询来报告 至少有5个学生 的所有班级,返回结果不限顺序.请问sql语句如何写? ±--------+ | class | ±--------+ ...
- 2021-10-23:位1的个数。编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1‘ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中
2021-10-23:位1的个数.编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量).提示:请注意,在某些语言(如 Java)中 ...
- 500代码行代码手写docker-设置网络命名空间
(4)500代码行代码手写docker-设置网络命名空间 本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用go语言实现一个类似do ...
- RoCE多网卡时,报文可以过去,但是回不来
摘要:虽然网卡是接入RoCE网络,但其实问题本身是单纯路由相关的,所以看的时候,不用关注RoCE,只当做一个独立子网就行了 本文分享自华为云社区<<跟唐老师学习云网络> - RoCE ...