在生成训练数据

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,修改为正确长度即可

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐