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 ”,修改即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章