在生成训练数据
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=cfg.batch_size, shuffle=True,
pin_memory=True, num_workers=cfg.num_workers, drop_last=True)
出现报错:
File "/home/zhouxin/anaconda3/envs/particlesfm/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 262, in __init__
sampler = RandomSampler(dataset, generator=generator) # type: ignore
File "/home/zhouxin/anaconda3/envs/particlesfm/lib/python3.7/site-packages/torch/utils/data/sampler.py", line 104, in __init__
"value, but got num_samples={}".format(self.num_samples))
ValueError: num_samples should be a positive integer value, but got num_samples=0
查看print("train_dataset: ", len(train_dataset.scene_info))是正确数据个数,经过检查发现是生成数据时
def __len__(self):
return len(self.sequence_set)
其中self.sequence_set是一个空array,len始终为0,修改为正确长度即可