utils.data包括Dataset和DataLoader。

torch.utils.data.Dataset为抽象类。自定义数据集余姚继承这个类,并实现两个函数:

__getitem__  ,  __len__ ,前者通过给定的索引获取数据和标签,后者提供数据集大小。

__getitem__ 一次只能获取一个数据,所以用DataLoader来实现batchsize的读取。

import numpy as np
import torch
from torch.utils import data
from torch.utils.data import DataLoaderclass TestDataset(data.Dataset):def __init__(self):self.Data = np.asarray([[1,2],[3,4],[2,1],[3,4],[4,5]])self.Label = np.asarray([0,1,0,1,2])def __getitem__(self, index):txt = torch.from_numpy(self.Data[index])label = torch.tensor(self.Label[index])return txt,labeldef __len__(self):return len(self.Data)
Test = TestDataset()
print(Test[2])
print(Test.__len__())

以上数据以tuple返回,每次只返回一个样本。实际上,Dataset只负责数据的抽取,调用一次

__getitem__只返回一个样本。

下面是使用DataLoader的批处理

dataset = TestDataset()
test_loader = DataLoader(dataset,batch_size=2,shuffle=False)
for i,traindata in enumerate(test_loader):print('i:',i)Data,Label = traindataprint('data:',Data)print('Label:',Label)

结果

(tensor([2, 1], dtype=torch.int32), tensor(0, dtype=torch.int32))
5
i: 0
data: tensor([[1, 2],[3, 4]], dtype=torch.int32)
Label: tensor([0, 1], dtype=torch.int32)
i: 1
data: tensor([[2, 1],[3, 4]], dtype=torch.int32)
Label: tensor([0, 1], dtype=torch.int32)
i: 2
data: tensor([[4, 5]], dtype=torch.int32)
Label: tensor([2], dtype=torch.int32)

data.Dataset只能处理同一个目录下的数据。想要处理不同目录下的数据可以使用torchvision。

utils.data的使用相关推荐

  1. 2021.08.24学习内容torch.utils.data.DataLoader以及CUDA与GPU的关系

    pytorch数据加载: ①totchvision 的包,含有支持加载类似Imagenet,CIFAR10,MNIST 等公共数据集的数据加载模块 torchvision.datasets impor ...

  2. PyTorch 1.0 中文文档:torch.utils.data

    译者:BXuan694 class torch.utils.data.Dataset 表示数据集的抽象类. 所有用到的数据集都必须是其子类.这些子类都必须重写以下方法:__len__:定义了数据集的规 ...

  3. pytorch torch.utils.data.TensorDataset

    应用 import torch import torch.utils.data as Datax = torch.linspace(1, 10, 10) y = torch.linspace(10, ...

  4. pytorch torch.utils.data.Dataset

    应用 from torch.utils.data import DataLoader, Dataset import torchclass TensorDataset(Dataset):# Tenso ...

  5. pytorch utils.data.DataLoader

    1.应用 import torch import torch.utils.data as Data x = torch.linspace(1, 10, 10) y = torch.linspace(1 ...

  6. pytorch源码解析2——数据处理torch.utils.data

    迭代器 理解 Python 的迭代器是解读 PyTorch 中 torch.utils.data 模块的关键. 在 Dataset, Sampler 和 DataLoader 这三个类中都会用到 py ...

  7. torch.utils.data.DataLoader 详解

    class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, ...

  8. PyTorch—torch.utils.data.DataLoader 数据加载类

    文章目录 DataLoader(object)类: _DataLoaderIter(object)类 __next__函数 pin_memory_batch() _get_batch函数 _proce ...

  9. torch.utils.data.WeightedRandomSampler样本不均衡情况下带权重随机采样

    关于WeightedRandomSampler的用法csdn上有一些很棒的博客.本文参考博客Pytorch样本比例不均衡时采用WeightedRandomSampler进行采样的代码对Weighted ...

  10. torch.utils.data.WeightedRandomSampler采样

    采样策略可分为以下情况: case0:Over sampling &Under sampling ,即对类别多的进行降采样,对类别少的进行重采样 case1: Over sampling 对类 ...

最新文章

  1. winfrom gridview 导出到Excel文件的代码
  2. 众辰变频器参数设定_电工知识:变频器使用方法设定功能参数的方法
  3. Asp.net中使用WEB编辑控件FCKEditor
  4. 黑色幽默:“新知青”电影《走着瞧》首映
  5. Entity Framework 6 执行Linq to Entities异常“p__linq__1 : String truncation: max=0, len=2, value=‘测试‘“
  6. Linux Performance Observability Tools
  7. navigationBar模块未绑定
  8. oracle还原数据库方法,oracle数据库备份与还原(命令与方法)
  9. windows7 android 驱动,Windows7安卓刷机驱动安装教程图文详解
  10. 苹果画画软件_想在iPad 上画画,推荐用这些软件
  11. ldd -r xxx.so命令 undefined symbol即错误定位c++filt
  12. 短信工具类——mo信通
  13. Android studio 快速“Gradle的依赖缓存可能损坏”问题
  14. 安卓调用百度地图服务
  15. lighttpd 使用
  16. 学习笔记——基于FPGA的SD卡学习(1)
  17. USB Type-C引脚解析 CC、DFP、UFP、DRP用途解析【转】
  18. docker安装mysql并配置文件_docker 安装mysql5.7 加my.cnf
  19. 微信小程序设置锚点定位,wx.pageScrollTo
  20. 刘汝佳 例题7-1 除法(暴力解法)

热门文章

  1. 2010 我的求职经历(1)
  2. windows渗透利器——PentestBox的内功和攻击力
  3. matlab里面nargin,Matlab中的nargin命令
  4. 关于winfrom控件自动排序(想怎么排就怎么排)
  5. stomp与veil用法
  6. 如何在Mac上安装IntelliJ IDEA
  7. android执行lua脚本的方法,android执行lua脚本的方法
  8. java--实现简单斗地主
  9. 在Centos8上安装漏洞扫描软件Nessus
  10. r语言alasso的系数怎么看_R语言用msgps包做adaptive lasso,系数怎么提取啊?