raise self.exc_type(msg) AssertionError: Caught AssertionError in DataLoader worker process 0. Original Traceback (most recent call last): File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop data = fetcher.fetch(index) File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "/tmp/pycharm_project_84/datasets/dtu_yao_eval.py", line 88, in getitem imgs.append(self.read_img(img_filename)) File "/tmp/pycharm_project_84/datasets/dtu_yao_eval.py", line 63, in read_img assert np_img.shape[:2] == (1200, 1600) AssertionError
时间: 2023-10-09 07:16:23 浏览: 60
这个错误出现在使用PyTorch的DataLoader时,在一个worker进程中抛出了AssertionError。在这个worker进程中,它尝试从数据集中获取一个元素,但是获取的元素不符合预期,它的维度不是(1200, 1600)。这可能意味着数据集中有一些异常的数据。你可以检查一下数据集中的数据是否都符合预期维度,并且通过try-except语句来捕获AssertionError,以便更好地处理异常情况。
相关问题
Traceback (most recent call last): File "eval.py", line 302, in <module> save_depth() File "eval.py", line 111, in save_depth for batch_idx, sample in enumerate(TestImgLoader): File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 517, in next data = self._next_data() File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1199, in _next_data return self._process_data(data) File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1225, in _process_data data.reraise() File "/root/miniconda3/lib/python3.8/site-packages/torch/_utils.py", line 429, in reraise raise self.exc_type(msg) AssertionError: Caught AssertionError in DataLoader worker process 0. Original Traceback (
这个错误也是出现在使用PyTorch的DataLoader时,在一个worker进程中抛出了AssertionError。它可能是由于数据集中有不符合预期的数据导致的。你可以检查一下数据集中的数据是否都符合预期,并且考虑使用try-except语句来捕获AssertionError,以便更好地处理异常情况。此外,你也可以考虑增加一些调试信息,例如打印出当前正在处理的数据的信息,以便更好地排查问题。
File "/root/miniconda3/lib/python3.8/site-packages/torch/_utils.py", line 428, in reraise raise self.exc_type(msg) AssertionError: Caught AssertionError in DataLoader worker process 0. Original Traceback (most recent call last): File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 198, in _worker_loop data = fetcher.fetch(index) File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/autodl-tmp/project/tools/../lib/datasets/kitti_rcnn_dataset.py", line 234, in __getitem__ return self.get_rpn_sample(index) File "/root/autodl-tmp/project/tools/../lib/datasets/kitti_rcnn_dataset.py", line 252, in get_rpn_sample pts_lidar = self.get_lidar(sample_id) File "/root/autodl-tmp/project/tools/../lib/datasets/kitti_dataset.py", line 43, in get_lidar assert os.path.exists(lidar_file) AssertionError eval: 39%|█████████████████████████████▍ | 44/112 [00:06<00:09, 6.96it/s, mode=TEST, recall=0/0, rpn_iou=0]
这是一个AssertionError异常,通常是由于断言(assert)语句失败导致的异常。在这段代码中,断言语句`assert os.path.exists(lidar_file)`检查lidar_file是否存在,如果不存在,则会抛出这个异常。你需要检查lidar_file的路径是否正确,以及文件是否存在。如果文件确实不存在,你需要找到原因并解决。如果文件存在,那么你需要检查代码中是否有其他问题。另外,根据错误信息,这个异常可能是在DataLoader的worker进程中发生的,你需要在主进程中捕获这个异常并处理。你可以在主进程中加入try-except语句来捕获这个异常,并在except语句中进行处理。