torch.utils.data

class torch.utils.data.Dataset

表示 Dataset 的抽象类

所有其他数据集都应该进行子类化。所以子类应该覆写 __len____getitem__,前者提供了数据集的大小,后者支持整数索引,范围从 0len(self)



class torch.utils.data.TensorFataset(data_tensor, target_tensor)

包装数据和目标张量的数据集

通过沿着第一个维度索引两个张量来恢复每个样本。

参数:

  • data_tensor(Tensor):包含样本数据。
  • target_tensor(Tensor):包含样本标签。


class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,
                                  num_workers=0, collate_fn=<function default_collate>,
                                  pin_memory=False, drop_last=False)

数据加载器。组合数据集合采样器,并在数据集上提供单进程或多进程迭代器。

参数:

  • dataset (Dataset):加载的数据集。

  • batch_size (int,optional):每个 batch 加载多少个样本(默认:1)。

  • shuffle (bool,optional):设置为 True 时会在每个 epoch 重新打乱数据(默认:False)。

  • sample (Sample,optional):定义从数据集中提取样本的策略。如果指定,则忽略shuffle参数。

  • num_workers (int,optional):用多少个子进程加载数据。0 表示数据将在主进程中加载(默认:0)。

  • collate_fn (callable,optional)

  • pin_memory (bool,optional)

  • drop_last (bool,optional):如果数据集大小不能被 batch size 整除,则设置为 True 后可删除最后一个不完整的 batch。如果设为 False 并且数据集大小不能被 batch size 整除,则最后一个 batch 将更小。(默认:False)。



class torch.utils.data.sampler.Sampler(data_source)

所有采样器的基础类

每个采样器子类必须提供一个 __iter__ 方法,提供一种迭代数据集元素的索引的方法,以及返回迭代器长度的 __len__ 方法。



class torch.utils.data.sampler.SequentialSampler(data_source)

样本元素顺序排列,始终以相同的顺序。

参数:

data_source(Dataset):采样的数据集。



class torch.utils.data.sampler.RandomSampler(data_source)

样本元素随机,没有替换。

参数:

data_source(Dataset):采样的数据集。



class torch.utils.data.sampler.SubsetRandomSampler(indices)

样本元素从指定的索引列表中随机抽取,没有替换。

参数:

indices(list):索引的列表。



class torch.utils.data.sampler.WeightedRandomSampler(weights, 
                                                     num_samples, 
                                                     replacement=True)

样本元素来自于 [0,..,len(weights)1],给定概率(weights)。

参数:

weights(list): 权重列表。没必要加起来为1 - num_samples (int) – 抽样数量



posted @   做梦当财神  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示