PyTorch dataloader中洗牌=True的示例分析

  介绍

小编给大家分享一下PyTorch dataloader中洗牌=True的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

对shuffle=True的理解:

之前不了解洗牌的实际效果,假设有数据a, b, c, d,不知道batch_size=2后打乱,具体是如下哪一种情况:

1。先按顺序取批对批内打乱,即先取a, b, a, b进行打乱;

2。先打乱,再取批。

证明是第二种

shuffle  (bool,可选):,set 用“真”“,用have 从而data  reshuffled    at  every  epoch (默认值:,“False”)。   if 洗牌:   ,,,sampler =, RandomSampler(数据集),#此时得到的是索引

<强>补充:简单测试一下pytorch dataloader里的洗牌=True是如何工作的

看代码吧~

import 系统   import 火炬   import 随机   import  argparse   import  numpy  as  np   import  pandas  as  pd   import  torch.nn  as 神经网络   得到torch.nn  import  functional  as  F   得到torch.optim  import  lr_scheduler   得到torchvision  import 数据集转换   得到torch.utils.data  import  TensorDataset, DataLoader,数据集   ,   class  DealDataset(数据):   ,,,def  __init__(自我):   ,,,,,,,xy =, np.loadtxt(开放(& # 39;。/iris.csv& # 39;, & # 39; rb # 39;),,分隔符=& # 39;,& # 39;,,dtype=np.float32)   ,,,,,,,# data =, pd.read_csv (“iris.csv"头=没有)   ,,,,,,,# xy =data.values   ,,,,,,,self.x_data =, torch.from_numpy (xy (:,, 0: 1])   ,,,,,,,self.y_data =, torch.from_numpy (xy (:,, [1]])   ,,,,,,,self.len =, xy.shape [0]   ,,,,   ,,,def  __getitem__(自我,,指数):   ,,,,,,,return  self.x_data(指数),self.y_data(指数)   ,   ,,,def  __len__(自我):   ,,,,,,,return  self.len   ,,   时间=dealDataset  DealDataset (),   时间=train_loader2  DataLoader(数据集=dealDataset,   ,,,,,,,,,,,,,,,,,,,,,,,,,batch_size=2,   ,,,,,,,,,,,,,,,,,,,,,,,,,洗牌=True)   #打印(dealDataset.x_data)   for 我,data 拷贝;列举(train_loader2):   ,,,输入,labels =,数据   ,   ,,,#输入,labels =,变量(输入),变量(标签)   ,,,印刷(输入)   ,,,#打印(“时代:“,,时代,,,的第“,,,我,,,个inputs",, inputs.data.size (),“labels",, labels.data.size ())

简易数据集

 PyTorch dataloader中洗牌=True的示例分析“> <img src=

洗牌之后的结果,每次都是随机打乱,然后分成大小为n的若干个mini-batch。

 PyTorch dataloader中洗牌=True的示例分析

PyTorch的优点

1. PyTorch是相当简洁且高效快速的框架;2。设计追求最少的封装;3。设计符合人类思维,它让用户尽可能地专注于实现自己的想法;4。与谷歌的Tensorflow类似,公平的支持足以确保PyTorch获得持续的开发更新;5。PyTorch作者亲自维护的论坛供用户交流和求教问题6。入门简单

以上是“PyTorch dataloader中洗牌=True的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

PyTorch dataloader中洗牌=True的示例分析