facebookresearch / 3detr

Code & Models for 3DETR - an End-to-end transformer model for 3D object detection
Apache License 2.0
629 stars 79 forks source link

Describe the bug _pickle.PicklingError: Can't pickle <class 'numpy.core._exceptions.UFuncTypeError'>: it's not the same object as numpy.core._exceptions.UFuncTypeError #23

Closed liudaxia96 closed 2 years ago

imisra commented 2 years ago

@liudaxia96 - could you provide a description of the bug and steps to reproduce it?

liudaxia96 commented 2 years ago

Training started at epoch 0 until 720. One training epoch = 18 iters. One eval epoch = 7 iters. Could not import cythonized box intersection. Consider compiling box_intersection.pyx for faster training. Traceback (most recent call last): File "/usr/local/python38/lib/python3.8/multiprocessing/queues.py", line 239, in _feed obj = _ForkingPickler.dumps(obj) File "/usr/local/python38/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps cls(buf, protocol).dump(obj) _pickle.PicklingError: Can't pickle <class 'numpy.core._exceptions.UFuncTypeError'>: it's not the same object as numpy.core._exceptions.UFuncTypeError Traceback (most recent call last): File "/usr/local/python38/lib/python3.8/multiprocessing/queues.py", line 239, in _feed obj = _ForkingPickler.dumps(obj) File "/usr/local/python38/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps cls(buf, protocol).dump(obj) _pickle.PicklingError: Can't pickle <class 'numpy.core._exceptions.UFuncTypeError'>: it's not the same object as numpy.core._exceptions.UFuncTypeError ^CTraceback (most recent call last): File "/home/lab30201/sdb/lwb/3detr-main/main.py", line 430, in launch_distributed(args) File "/home/lab30201/sdb/lwb/3detr-main/main.py", line 418, in launch_distributed main(local_rank=0, args=args) File "/home/lab30201/sdb/lwb/3detr-main/main.py", line 403, in main do_train( File "/home/lab30201/sdb/lwb/3detr-main/main.py", line 179, in do_train aps = train_one_epoch( File "/home/lab30201/sdb/lwb/3detr-main/engine.py", line 74, in train_one_epoch for batch_idx, batch_data_label in enumerate(dataset_loader): File "/usr/local/python38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 435, in next data = self._next_data() File "/usr/local/python38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1068, in _next_data idx, data = self._get_data() File "/usr/local/python38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1034, in _get_data success, data = self._try_get_data() File "/usr/local/python38/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 872, in _try_get_data data = self._data_queue.get(timeout=timeout) File "/usr/local/python38/lib/python3.8/multiprocessing/queues.py", line 107, in get if not self._poll(timeout): File "/usr/local/python38/lib/python3.8/multiprocessing/connection.py", line 257, in poll return self._poll(timeout) File "/usr/local/python38/lib/python3.8/multiprocessing/connection.py", line 424, in _poll r = wait([self], timeout) File "/usr/local/python38/lib/python3.8/multiprocessing/connection.py", line 930, in wait ready = selector.select(timeout) File "/usr/local/python38/lib/python3.8/selectors.py", line 415, in select fd_event_list = self._selector.poll(timeout)

imisra commented 2 years ago

Can you try this with Python 3.6? It seems to be a pickling error in Python 3.8

liudaxia96 commented 2 years ago

@liudaxia96 - 你能提供一个错误的描述和重现它的步骤吗?

liudaxia96 commented 2 years ago

Can you try this with Python 3.6? It seems to be a pickling error in Python 3.8

Have you tried Python 3.8?