Traceback (most recent call last):
File "/home/yingmuzhi/SpecML2/dataset_utils.py", line 109, in <module>
next(iter(dataloader))
File "/root/anaconda3/envs/env_cp311_ymz/lib/python3.11/site-packages/torch/utils/data/dataloader.py", line 634, in __next__
data = self._next_data()
^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/env_cp311_ymz/lib/python3.11/site-packages/torch/utils/data/dataloader.py", line 677, in _next_data
index = self._next_index() # may raise StopIteration
^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/env_cp311_ymz/lib/python3.11/site-packages/torch/utils/data/dataloader.py", line 624, in _next_index
return next(self._sampler_iter) # may raise StopIteration
^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/env_cp311_ymz/lib/python3.11/site-packages/torch/utils/data/sampler.py", line 254, in __iter__
for idx in self.sampler:
File "/root/anaconda3/envs/env_cp311_ymz/lib/python3.11/site-packages/torch/utils/data/sampler.py", line 76, in __iter__
return iter(range(len(self.data_source)))
^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
记录一下这个Bug,这个Bug是由于你在自定义数据集Dataset的时候有些代码可能写错了。例如def __len__(self)
方法写错,这个方法要返回你的input-label的长度,可以如下定义:
def __len__(self):
return len(self.signals)