AIR-THU / DAIR-V2X

Apache License 2.0
424 stars 65 forks source link

ImportError: cannot import name 'DAIRV2XDataset' from partially initialized module 'base_dataset' (most likely due to a circular import) #83

Closed ZhiguoZhao closed 7 months ago

ZhiguoZhao commented 7 months ago

In the /DAIR-V2X/v2x/dataset directory, when I run: python dair_v2x_for_detection.py, I observe that...

Traceback (most recent call last):
  File "dair_v2x_for_detection.py", line 6, in <module>
    from base_dataset import DAIRV2XDataset, get_annos, build_path_to_info, build_frame_to_info
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/base_dataset.py", line 10, in <module>
    from dataset.dataset_utils import load_json
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/__init__.py", line 1, in <module>
    from dair_v2x_for_detection import *
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/dair_v2x_for_detection.py", line 6, in <module>
    from base_dataset import DAIRV2XDataset, get_annos, build_path_to_info, build_frame_to_info
ImportError: cannot import name 'DAIRV2XDataset' from partially initialized module 'base_dataset' (most likely due to a circular import) (/home/zzg/vscode/DAIR-V2X/v2x/dataset/base_dataset.py)

There is a circular import in the code:dair_v2x_for_detection.py -> base_dataset.py -> dataset.__init__.py -> dair_v2x_for_detection.py.

haibao-yu commented 7 months ago

In the /DAIR-V2X/v2x/dataset directory, when I run: python dair_v2x_for_detection.py, I observe that...

Traceback (most recent call last):
  File "dair_v2x_for_detection.py", line 6, in <module>
    from base_dataset import DAIRV2XDataset, get_annos, build_path_to_info, build_frame_to_info
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/base_dataset.py", line 10, in <module>
    from dataset.dataset_utils import load_json
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/__init__.py", line 1, in <module>
    from dair_v2x_for_detection import *
  File "/home/zzg/vscode/DAIR-V2X/v2x/dataset/dair_v2x_for_detection.py", line 6, in <module>
    from base_dataset import DAIRV2XDataset, get_annos, build_path_to_info, build_frame_to_info
ImportError: cannot import name 'DAIRV2XDataset' from partially initialized module 'base_dataset' (most likely due to a circular import) (/home/zzg/vscode/DAIR-V2X/v2x/dataset/base_dataset.py)

There is a circular import in the code:dair_v2x_for_detection.py -> base_dataset.py -> dataset.__init__.py -> dair_v2x_for_detection.py.

You should not directly run python dair_v2x_for_detection.py. You should follow get_started to use the framework.