PyTorch学习笔记:data.RandomSampler——数据随机采样

PyTorch学习笔记:data.RandomSampler——数据随机采样

torch.utils.data.RandomSampler(data_source, replacement=False, num_samples=None, generator=None)

功能:随即对样本进行采样

输入:

  • data_source:被采样的数据集合
  • replacement:采样策略,如果为True,则代表使用替换采样策略,即可重复对一个样本进行采样;如果为False,则表示不用替换采样策略,即一个样本最多只能被采一次
  • num_samples:所采样本的数量,默认采全部样本;当replacement规定为True时,可指定采样数量,即修改num_samples的大小;如果replacement设置为False,则该参数不可做修改
  • generator:采样过程中的生成器

代码案例

一般用法

from torch.utils.data import RandomSampler

sampler = RandomSampler(range(20))
print([i for i in sampler])

输出

这里相当于对原数据做了打乱操作

[7, 17, 8, 1, 13, 9, 6, 4, 12, 18, 19, 14, 10, 3, 2, 16, 5, 15, 0, 11]

replacement设为TrueFalse的区别

from torch.utils.data import RandomSampler

sampler_t = RandomSampler(range(20), replacement=True)
sampler_f = RandomSampler(range(20), replacement=False)
sampler_t_8 = RandomSampler(range(20), replacement=True, num_samples=8)
print('sampler_t:', [i for i in sampler_t])
print('sampler_f:', [i for i in sampler_f])
print('sampler_t_8:', [i for i in sampler_t_8])

输出

# replacement设为True时,会对同一样本多次采样
sampler_t: [7, 3, 13, 17, 4, 5, 8, 18, 15, 8, 1, 3, 17, 4, 13, 13, 16, 14, 15, 11]
# 否则一个样本只采样一次
sampler_f: [3, 5, 19, 10, 6, 7, 13, 16, 15, 9, 14, 0, 4, 18, 12, 2, 11, 17, 1, 8]
# replacement设为True时,可以规定采样数量,如这里只采8个
sampler_t_8: [1, 9, 4, 5, 11, 18, 18, 4]

官方文档

torch.utils.data.RandomSampler:https://pytorch.org/docs/stable/data.html?highlight=randomsampler#torch.utils.data.RandomSampler

初步完稿于:2022年2月22日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉萌新、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值