Pytorch 中Dataloader中num_samples问题

num_samples should be a positive integer value, but got num_samples=0

在window中,有的可以将num_samples设为0,但是我这边还是会报错:

ValueError                                Traceback (most recent call last)
<ipython-input-26-72c27d20c47d> in <module>
     16     ])), 
     17     batch_size=40,
---> 18     shuffle=True,
     19    # num_workers=0,
     20 )

e:\anaconda\envs\pytorch_envs\lib\site-packages\torch\utils\data\dataloader.py in __init__(self, dataset, batch_size, shuffle, sampler, batch_sampler, num_workers, collate_fn, pin_memory, drop_last, timeout, worker_init_fn)
    174             if sampler is None:
    175                 if shuffle:
--> 176                     sampler = RandomSampler(dataset)
    177                 else:
    178                     sampler = SequentialSampler(dataset)
#即使自己不指定batch_sampler,DataLoader还是会生成的:
e:\anaconda\envs\pytorch_envs\lib\site-packages\torch\utils\data\sampler.py in __init__(self, data_source, replacement, num_samples)
     64         if not isinstance(self.num_samples, int) or self.num_samples <= 0:
     65             raise ValueError("num_samples should be a positive integer "
---> 66                              "value, but got num_samples={}".format(self.num_samples))
     67 
     68     @property

ValueError: num_samples should be a positive integer value, but got num_samples=0

经过查询如果指定了batch_sampler,那么就不要再额外指定 batch_size的大小了;指定了sampler,shuffle就应该是默认的 “ False ”,修改即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值