Closed Qiuyanghang closed 2 months ago
你好: 可以提供详细的报错信息吗?训练时有没有报错?open3d库是否安装?
你好:
十分感谢回复!
open3d是安装了的,训练时候也报错了,没有训练起来:
trining RoadBEV-stereo!
dataset size - train:1210, test371
num params: 7444226
Downloading: "https://download.pytorch.org/models/efficientnet_b6_lukemelas-c76e70fd.pth" to C:\Users\TODA_2/.cache\torch\hub\checkpoints\efficientnet_b6_lukemelas-c76e70fd.pth
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 165M/165M [01:11<00:00, 2.44MB/s]
logging dir: ./checkpoints/20240415012936
0%| | 0/50 [00:00<?, ?it/s]
Traceback (most recent call last):
File "train.py", line 175, in
for i, sample in enumerate(train_loader):
File "C:\Anaconda\envs\roadbev\lib\site-packages\torch\utils\data\dataloader.py", line 359, in iter
return self._get_iterator()
File "C:\Anaconda\envs\roadbev\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "C:\Anaconda\envs\roadbev\lib\site-packages\torch\utils\data\dataloader.py", line 918, in init
w.start()
File "C:\Anaconda\envs\roadbev\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Anaconda\envs\roadbev\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Anaconda\envs\roadbev\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Anaconda\envs\roadbev\lib\multiprocessing\popen_spawn_win32.py", line 89, in init
File "C:\Anaconda\envs\roadbev\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle open3d.cpu.pybind.visualization.SelectionPolygonVolume objects
(roadbev) PS C:\qyh\road_reconstrcution\RoadBEV-main> Traceback (most recent call last):
File "
在Windows系统下的conda的环境信息为: python 3.7.16 pillow 9.2.0 pytorch 1.10.0 torchaudio 0.10.0 torchvision 0.11.0 open3d 0.11.2 numpy 1.21.6 opencv-python 4.9.0.80
The open3d version is 0.16.0 in my environment. Problems originated from the pre-processed GT labels, please check whether the GT generation works well.
The open3d version is 0.16.0 in my environment. Problems originated from the pre-processed GT labels, please check whether the GT generation works well.
好的,谢谢!Thank you so much!
We have provided the GT labels generated in our environment. You can use it and check if problems still exist.
I have also encountered the same error mentioned above.
My environment is : Python 3.8.17 pytorch 1.10.0 torchaudio 0.10.0 torchvision 0.11.0
My error message in test.py:
Testing RoadBEV-mono!
test set: 371
num params: 26646334
loading model C:\Users\16076\Desktop\2-coding\1-picture_process\RoadBEV-main\RoabBEV-mono.ckpt
Traceback (most recent call last):
File ".\test.py", line 92, in
self._popen = self._Popen(self)
File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 327, in _Popen
return Popen(process_obj)
File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\popen_spawn_win32.py", line 93, in init
reduction.dump(process_obj, to_child)
File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle 'open3d.cpu.pybind.visualization.SelectionPolygonVolume' object
My error message in train.py:
(blend) PS C:\Users\16076\Desktop\2-coding\1-picture_process\RoadBEV-main> python .\train.py --lr 8e-4
trining RoadBEV-mono!
dataset size - train:1210, test371
num params: 26646334
logging dir: ./checkpoints/20240418115722
0%| | 0/50 [00:02<?, ?it/s]Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 359, in iter self = reduction.pickle.load(from_parent) EOFError: Ran out of input return self._get_iterator() File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator return _MultiProcessingDataLoaderIter(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 918, in init w.start() File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\process.py", line 121, in start self._popen = self._Popen(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 327, in _Popen return Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\popen_spawn_win32.py", line 93, in init reduction.dump(process_obj, to_child) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) TypeError: cannot pickle 'open3d.cpu.pybind.visualization.SelectionPolygonVolume' object
My question:May I ask if different versions of Python may be the reason for the Open3D error?
I have also encountered the same error mentioned above.
My environment is : Python 3.8.17 pytorch 1.10.0 torchaudio 0.10.0 torchvision 0.11.0
My error message in test.py: Testing RoadBEV-mono! test set: 371 num params: 26646334 loading model C:\Users\16076\Desktop\2-coding\1-picture_process\RoadBEV-main\RoabBEV-mono.ckpt Traceback (most recent call last): File ".\test.py", line 92, in [metric_all, metric_depthwise] = test_sample(test_loader) File "C:\Users\16076\Desktop\2-coding\1-picture_process\RoadBEV-main\utils\experiment.py", line 30, in wrapper ret = func(*f_args, f_kwargs) File ".\test.py", line 26, in test_sample for i, sample in enumerate(test_loader): File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 359, in iter return self._get_iterator() File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator return _MultiProcessingDataLoaderIter(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 918, in init w.start() File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\process.py", line 121, in start self._popen = self._Popen(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 327, in _Popen return Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\popen_spawn_win32.py", line 93, in init** reduction.dump(process_obj, to_child) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) TypeError: cannot pickle 'open3d.cpu.pybind.visualization.SelectionPolygonVolume' object
My error message in train.py: (blend) PS C:\Users\16076\Desktop\2-coding\1-picture_process\RoadBEV-main> python .\train.py --lr 8e-4 trining RoadBEV-mono! dataset size - train:1210, test371 num params: 26646334 logging dir: ./checkpoints/20240418115722 0%| | 0/50 [00:02<?, ?it/s]Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 359, in iter self = reduction.pickle.load(from_parent) EOFError: Ran out of input return self._get_iterator() File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 305, in _get_iterator return _MultiProcessingDataLoaderIter(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\site-packages\torch\utils\data\dataloader.py", line 918, in init w.start() File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\process.py", line 121, in start self._popen = self._Popen(self) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 224, in _Popen return _default_context.get_context().Process._Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\context.py", line 327, in _Popen return Popen(process_obj) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\popen_spawn_win32.py", line 93, in init reduction.dump(process_obj, to_child) File "C:\ProgramData\Anaconda3\envs\blend\lib\multiprocessing\reduction.py", line 60, in dump ForkingPickler(file, protocol).dump(obj) TypeError: cannot pickle 'open3d.cpu.pybind.visualization.SelectionPolygonVolume' object
My question:May I ask if different versions of Python may be the reason for the Open3D error?
Hi, we have not encountered this problem in our environment. What is your open3d version? Can you give me a sample .pkl GT file generated in your environment? Please also check whether you have properly downloaded the dataset and set its path in dataset.py. You can also use the GT files we provided. Thanks!
(RoadBEV) D:\RoadBEV-main>python train.py --lr 8e-4
trining RoadBEV-mono!
dataset size - train:1210, test371
num params: 26646334
logging dir: ./checkpoints/20240419150246
0%| | 0/50 [00:03<?, ?it/s]
Traceback (most recent call last):
Traceback (most recent call last):
File "
同样的报错。另,能列出详细的目录和文件结构吗?谢谢
在Tong Zhao的帮助下,已解决。非常感谢团队的贡献!
@jiajigiser @Qiuyanghang Hello, we have completely fixed this problem. The problem is not from versions, but that some objects of classes cannot be serialized. You can repull the repo now. The ckpt weights are also updated. We also found some mistakes in the paper, and we will update it in next days.
@jiajigiser @Qiuyanghang Hello, we have completely fixed this problem. The problem is not from versions, but that some objects of classes cannot be serialized. You can repull the repo now. The ckpt weights are also updated. We also found some mistakes in the paper, and we will update it in next days.
Thanks! I will continue to follow your updates
@jiajigiser @Qiuyanghang Hello, we have completely fixed this problem. The problem is not from versions, but that some objects of classes cannot be serialized. You can repull the repo now. The ckpt weights are also updated. We also found some mistakes in the paper, and we will update it in next days.
Hello, I tried to change the num__workers=0 at: test_loader = DataLoader(test_set, 1, shuffle=False, num_workers=0, drop_last=False, pin_memory=True)【in test.py】. After modifying the parameters, there were no previous errors with Open3D.
@jiajigiser @Qiuyanghang Hello, we have completely fixed this problem. The problem is not from versions, but that some objects of classes cannot be serialized. You can repull the repo now. The ckpt weights are also updated. We also found some mistakes in the paper, and we will update it in next days.
Hello, I tried to change the num__workers=0 at: test_loader = DataLoader(test_set, 1, shuffle=False, num_workers=0, drop_last=False, pin_memory=True)【in test.py】. After modifying the parameters, there were no previous errors with Open3D.
You get it. Actually it is not the problem of open3d. But some objects in Multiprocessing cannot be serialized. Single data loader also resolve this.
当我调用test.py测试是否能跑通模型时,报错TypeError: can't pickle open3d.cpu.pybind.visualization.SelectionPolygonVolume objects,请问怎么解决?十分感谢回复。