Pytorch加载器在一些迭代后抛出错误

qzlgjiam  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(440)

代码运行了几次迭代,并引发了以下错误。My Dataset

class Dataset(Dataset):

    'Characterizes a dataset for PyTorch'
    def __init__(self, input_feature_paths, target_feature_folder) -> None:
        self.input_feature_paths = input_feature_paths
        self.target_feature_folder = target_feature_folder
    
    def __len__(self):
        #return sum(1 for _ in self.input_feature_paths)
        return len(self.input_feature_paths)

    def __getitem__(self, index) -> None:
        input_feature_path = self.input_feature_paths[index]
        input_feature = load(input_feature_path, map_location='cpu')
        target_feature_path = self.target_feature_folder / input_feature_path.parts[-1]
        target_feature = load(target_feature_path, map_location='cpu')
        return input_feature.to(dtype=torch.float64), target_feature.to(dtype=torch.float64)

我设置dtype torch float64是因为它在tensorboard摘要编写器上编写时会抛出同样的错误。
错误堆栈

Traceback (most recent call last):
  File "student_audio_feature_extractor.py", line 178, in <module>
    train(dt, input_frame)
  File "student_audio_feature_extractor.py", line 164, in train
    model, train_loss = train_step(model, train_loader, optimizer, criterion)
  File "student_audio_feature_extractor.py", line 80, in train_step
    for input_feature, target_feature in train_loader:
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 628, in __next__
    data = self._next_data()
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1313, in _next_data
    return self._process_data(data)
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1359, in _process_data
    data.reraise()
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/_utils.py", line 543, in reraise
    raise exception
RuntimeError: Caught RuntimeError in DataLoader worker process 4.
Original Traceback (most recent call last):
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 302, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 61, in fetch
    return self.collate_fn(data)
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/collate.py", line 265, in default_collate
    return collate(batch, collate_fn_map=default_collate_fn_map)
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/collate.py", line 143, in collate
    return [collate(samples, collate_fn_map=collate_fn_map) for samples in transposed]  # Backwards compatibility.
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/collate.py", line 143, in <listcomp>
    return [collate(samples, collate_fn_map=collate_fn_map) for samples in transposed]  # Backwards compatibility.
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/collate.py", line 120, in collate
    return collate_fn_map[elem_type](batch, collate_fn_map=collate_fn_map)
  File "/home/visge/miniconda3/envs/zk_torch/lib/python3.8/site-packages/torch/utils/data/_utils/collate.py", line 162, in collate_tensor_fn
    out = elem.new(storage).resize_(len(batch), *list(elem.size()))
RuntimeError: Trying to resize storage that is not resizable
k5ifujac

k5ifujac1#

我有一个形状的Tensor,这就是为什么它会抛出这个错误,我改变了它,它现在工作了。

相关问题