当前位置:   article > 正文

DataLoader worker (pid(s) x, x) exited unexpectedly 最正确的解决方法和解析_dataloader worker (pid(s) 12252, 9212, 15212) exit

dataloader worker (pid(s) 12252, 9212, 15212) exited unexpectedly
  1. import torch
  2. import torch.utils.data as Data
  3. import numpy as np
  4. data = np.asarray([[1, 2], [3, 4],[5, 6], [7, 8]])
  5. label = np.asarray([[0], [1], [0], [2]])
  6. #创建子类
  7. class subDataset(Data.Dataset):
  8. #初始化,定义数据内容和标签
  9. def __init__(self, Data, Label):
  10. super(subDataset, self).__init__()
  11. self.Data = Data
  12. self.Label = Label
  13. #返回数据集大小
  14. def __len__(self):
  15. return len(self.Data)
  16. #得到数据内容和标签
  17. def __getitem__(self, index):
  18. data = torch.Tensor(self.Data[index])
  19. label = torch.Tensor(self.Label[index])
  20. return data, label
  21. if __name__ == '__main__':
  22. dataset = subDataset(data, label)
  23. print(dataset)
  24. print('dataset大小为 :', dataset.__len__())
  25. print(dataset.__getitem__(0))
  26. print(dataset[0])
  27. print()
  28. print('----------创建DataLoader迭代器-----------')
  29. dataloader = Data.DataLoader(dataset, batch_size= 2, shuffle = False, num_workers= 4)
  30. for i, item in enumerate(dataloader):
  31. print('batch_i:', i)
  32. data, label = item
  33. print('data:', data)
  34. print('label:', label)

以上代码如果在jupyter notebook中运行会报错,因为一般 jupyter notebook 是单核运行的。

解决方案:

使用正常py文后缀的文件类型运行代码,既可多线程运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/562716
推荐阅读
相关标签
  

闽ICP备14008679号