pytorch dataloader参数,pytorch dataloader读取数据

  pytorch dataloader参数,pytorch dataloader读取数据

  collate_fn参数的作用是随意改变数据的类型。这些数据由数据加载器加载,如img和target。下面文章主要介绍Pytorch的技能数据加载器中关于collate_fn参数的相关信息。有需要的可以参考一下。

  以MNIST为例

  从torchvision导入数据集

  mnist=数据集。MNIST(root=。/data/,train=True,download=True)

  打印(mnist[0])

  结果

  (PIL。Image . Image Image mode=L size=28x 28 at0x 196 E3 f1 d 898,5)

  MINIST数据集的数据集是一个由图片和标签组成的元组。

  data loader=torch . utils . data . data loader(dataset=mnist,batch_size=2,shuffle=True,collate_fn=lambda x:x)

  对于dataloader:中的每个

  打印(每张)

  破裂

  结果

  [(PIL。Image . Image mode=L size=28x 28 at0x 2 CB 3b 105630,0),(PIL。Image . Image Image mode=L size=28x 28 at0x2cb 3b 105668,2)]

  Collate_fn是lamda x:x,这意味着不会处理传入的数据。

  下面自定义collate_fn看看什么效果

  定义整理(数据):

  img=[]

  label=[]

  对于数据:中的每个

  img.append(每个[0])

  label.append(每个[1])

  返回图像,标签

  data loader=torch . utils . data . data loader(dataset=mnist,batch_size=2,shuffle=True,collate _ fn=lambda x : collate(x))

  对于dataloader:中的每个

  打印(每张)

  破裂

  结果

  ([PIL。Image . Image mode=L size=28x 28 at0x 241433 a36d 8,PIL。Image . Image mode=L size=28x 28 at0x 241433 a 3710],[9,3])

  注意:如果collate_fn参数没有设置,将使用默认的处理函数。

  但是您必须确保传入的数据是张量格式的,否则您将报告一个错误。

  附:DataLoader完整的参数表如下:

  类torch.utils.data.DataLoader(

  数据集,

  batch_size=1

  洗牌=假,

  采样器=无,

  batch _ sampler=无,

  工作人数=0,

  collate _ fn=函数default_collate

  pin_memory=False,

  drop_last=False,

  超时=0,

  worker_init_fn=None)

  DataLoader提供数据集上单进程或多进程的迭代器。

  几个关键参数意味着:

  -shuffle:设置为True时,每代将对数据集进行加扰。

  -collate_fn:这本书怎么取样?我们可以定义自己的函数来精确地实现想要的功能。

  -drop_last:告诉如何处理除batch_size以外的数据集长度的数据。True表示丢弃,否则表示保留。

  总结

  关于Pytorch的Dataloader中的collate_fn参数的使用技巧这篇文章到此为止。关于Dataloader中collate_fn参数的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览以下相关文章。希望你以后能支持热门的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: