pytorch笔记:Dataloader
Dataloader是 torch 给我们用来包装数据的工具。所以我们要将自己的 (ndarray或其他) 数据形式装换成 Tensor, 然后再放进Dataloader这个包装器中。 使用Dataloader有什么好处呢? 就是它可以帮我们有效地迭代数据。
1 准备部分
1.1 导入库
import torch
import torch.utils.data as Data
1.2 数据集部分
x=torch.linspace(1,10,10)
y=torch.linspace(-10,-1,10)
print(x,'\n',y)
'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
tensor([-10., -9., -8., -7., -6., -5., -4., -3., -2., -1.])
'''
BATCH_SIZE=5
2 方法1 TensorDataset+DataLoader
torch_dataset=Data.TensorDataset(x,y)
#先转化成pytorch可以识别的Dataset格式loader=Data.DataLoader(dataset=torch_dataset,batch_size=BATCH_SIZE,shuffle=True)
#把dataset导入dataloader,并设置batch_size和shufflefor epoch in range(3):for step,(batch_x,batch_y) in enumerate(loader):print('epoch: ',epoch)print('step: ',step,'\n x: ',batch_x,'\n y: ',batch_y)print('*'*30)'''
epoch: 0
step: 0 x: tensor([9., 2., 6., 5., 3.]) y: tensor([-2., -9., -5., -6., -8.])
******************************
epoch: 0
step: 1 x: tensor([10., 1., 7., 4., 8.]) y: tensor([ -1., -10., -4., -7., -3.])
******************************
epoch: 1
step: 0 x: tensor([ 3., 5., 2., 10., 4.]) y: tensor([-8., -6., -9., -1., -7.])
******************************
epoch: 1
step: 1 x: tensor([7., 6., 8., 1., 9.]) y: tensor([ -4., -5., -3., -10., -2.])
******************************
epoch: 2
step: 0 x: tensor([10., 3., 1., 8., 9.]) y: tensor([ -1., -8., -10., -3., -2.])
******************************
epoch: 2
step: 1 x: tensor([5., 7., 2., 6., 4.]) y: tensor([-6., -4., -9., -5., -7.])
******************************
'''
3 方法2 自定义类+DataLoader
class MyDataSet(Data.Dataset):def __init__(self,x,y):super(MyDataSet,self).__init__()self.x=xself.y=ydef __len__(self):return self.x.shape[0]#有几组数据def __getitem__(self,idx):return(self.x[idx],self.y[idx])#根据索引找到数据loader2=Data.DataLoader(MyDataSet(x,y),batch_size=BATCH_SIZE,shuffle=True)for epoch in range(3):for step,(batch_x,batch_y) in enumerate(loader2):print('epoch: ',epoch)print('step: ',step,'\n x: ',batch_x,'\n y: ',batch_y)print('*'*30)'''
epoch: 0
step: 0 x: tensor([9., 7., 2., 6., 3.]) y: tensor([-2., -4., -9., -5., -8.])
******************************
<class 'torch.Tensor'>
epoch: 0
step: 1 x: tensor([ 5., 4., 8., 10., 1.]) y: tensor([ -6., -7., -3., -1., -10.])
******************************
<class 'torch.Tensor'>
epoch: 1
step: 0 x: tensor([ 6., 3., 5., 10., 9.]) y: tensor([-5., -8., -6., -1., -2.])
******************************
<class 'torch.Tensor'>
epoch: 1
step: 1 x: tensor([4., 7., 1., 8., 2.]) y: tensor([ -7., -4., -10., -3., -9.])
******************************
<class 'torch.Tensor'>
epoch: 2
step: 0 x: tensor([ 6., 1., 10., 3., 4.]) y: tensor([ -5., -10., -1., -8., -7.])
******************************
<class 'torch.Tensor'>
epoch: 2
step: 1 x: tensor([2., 9., 7., 5., 8.]) y: tensor([-9., -2., -4., -6., -3.])
******************************
'''
pytorch笔记:Dataloader相关推荐
- pytorch 笔记:DataLoader 扩展:构造图片DataLoader
数据来源:OneDrive for Business 涉及内容:pytorch笔记:Dataloader_UQI-LIUWJ的博客-CSDN博客 torchvision 笔记:ToTensor()_U ...
- torch的拼接函数_从零开始深度学习Pytorch笔记(13)—— torch.optim
前文传送门: 从零开始深度学习Pytorch笔记(1)--安装Pytorch 从零开始深度学习Pytorch笔记(2)--张量的创建(上) 从零开始深度学习Pytorch笔记(3)--张量的创建(下) ...
- Pytorch笔记:风格迁移
Pytorch笔记:风格迁移 训练模型:风格迁移网络+VGG16网络 生成网络:风格迁移网络 代码如下(根据陈云<深度学习框架:Pytorch入门与实践>的代码改动) main.py im ...
- (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)
开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...
- 【 数据集加载 DatasetDataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10)】
数据集加载 Dataset&DataLoader 模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 (7/10) 模块介绍 在本节中没有关于数学原理的相关介绍,使用的数据集和类型 ...
- 【分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人(8/10)】
分类器 Softmax-Classifier softmax数学原理与源码详解 深度学习 Pytorch笔记 B站刘二大人 (8/10) 在进行本章的数学推导前,有必要先粗浅的介绍一下,笔者在广泛查找 ...
- 【卷积神经网络CNN 实战案例 GoogleNet 实现手写数字识别 源码详解 深度学习 Pytorch笔记 B站刘二大人 (9.5/10)】
卷积神经网络CNN 实战案例 GoogleNet 实现手写数字识别 源码详解 深度学习 Pytorch笔记 B站刘二大人 (9.5/10) 在上一章已经完成了卷积神经网络的结构分析,并通过各个模块理解 ...
- PYTORCH 笔记 DILATE 代码解读
dilate 完整代码路径:vincent-leguen/DILATE: Code for our NeurIPS 2019 paper "Shape and Time Distortion ...
- 深度学习PyTorch笔记(12):线性神经网络——softmax回归
深度学习PyTorch笔记(12):线性神经网络--softmax回归 6 线性神经网络--softmax回归 6.1 softmax回归 6.1.1 概念 6.1.2 softmax运算 6.2 图 ...
- Pytorch之DataLoader Dataset、datasets、models、transforms的认识和学习
文章目录 利用PyTorch框架来开发深度学习算法时几个基础的模块 Dataset & DataLoader 基础概念 自定义数据集 1 读取自定义数据集 1 自定义数据集 2 自定义数据集3 ...
最新文章
- pyinstaller 安装使用方法
- 数据结构源码笔记(C语言):链接队列
- idea console中文乱码_Python3的字符编码乱码问题解决思路
- Git 修改分支的名称(亲测)
- Asp.Net就业课之三验证控件
- Centos7 CMake升级
- nutshell_Nutshell中的Java 8语言功能-第1部分
- java中finalizer终结方法学习心得
- 人智化转型 华为云微认证带你实力进阶
- python字符串_(Python基础教程之七)Python字符串操作
- 数论 (大数,小费马定理,欧拉定理,威尔逊定理,快速数论变换(NNT)模版)...
- 使用SQL语句的子查询批量复制表数据
- 使用WebDeployment Project改善VS2005发布网站
- [Delphi]用程序更改 IE 的代理服务器(Proxy)设置及本地连接
- 慎用JSON.stringify
- 【高等教育6年+工作5年】的个人阶段性自述
- 远程访问双层嵌套Openstack云下的Windows虚机(by quqi99)
- try(){}的简单理解
- 如何安装OpenCVE
- 2014 IT互联网公司校招应届生待遇大全