drprojects / DeepViewAgg

[CVPR'22 Best Paper Finalist] Official PyTorch implementation of the method presented in "Learning Multi-View Aggregation In the Wild for Large-Scale 3D Semantic Segmentation"
Other
222 stars 24 forks source link

Error when running last cell in kitti360_inference.ipynb notebook... #33

Closed adikrishnanucd closed 1 year ago

adikrishnanucd commented 1 year ago

@drprojects I was able to import all the necessary modules in the kitti360_inference.ipynb file. However, when I am trying to run the last cell, I get the following error when it calls the hydra_read function:


ValueError                                Traceback (most recent call last)
<ipython-input-4-fc785dddeef7> in <module>
     19 
     20 # Parse the arguments with Hydra and OmegaConf
---> 21 cfg = hydra_read(overrides, config_name='eval.yaml')
     22 OmegaConf.set_struct(cfg, False)
     23 

~/Research/sem_seg/minkowski_kitti/DeepViewAgg/torch_points3d/utils/config.py in hydra_read(overrides, config_path, config_name)
    163     with warnings.catch_warnings():
    164         warnings.simplefilter("ignore")
--> 165         with initialize(config_path=config_path):
    166             cfg = compose(config_name=config_name, overrides=overrides)
    167         OmegaConf.resolve(cfg)

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/initialize.py in __init__(self, config_path, job_name, caller_stack_depth)
     87             calling_module=calling_module,
     88             config_path=config_path,
---> 89             job_name=job_name,
     90         )
     91 

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/hydra.py in create_main_hydra_file_or_module(cls, calling_file, calling_module, config_path, job_name)
     50         )
     51 
---> 52         return Hydra.create_main_hydra2(job_name, config_search_path)
     53 
     54     @classmethod

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/hydra.py in create_main_hydra2(cls, task_name, config_search_path)
     59     ) -> "Hydra":
     60         config_loader: ConfigLoader = ConfigLoaderImpl(
---> 61             config_search_path=config_search_path
     62         )
     63 

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/config_loader_impl.py in __init__(self, config_search_path)
     53     ) -> None:
     54         self.config_search_path = config_search_path
---> 55         self.repository = ConfigRepository(config_search_path=config_search_path)
     56 
     57     @staticmethod

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/config_repository.py in __init__(self, config_search_path)
     63 
     64     def __init__(self, config_search_path: ConfigSearchPath) -> None:
---> 65         self.initialize_sources(config_search_path)
     66 
     67     def initialize_sources(self, config_search_path: ConfigSearchPath) -> None:

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/config_repository.py in initialize_sources(self, config_search_path)
     71             assert search_path.provider is not None
     72             scheme = self._get_scheme(search_path.path)
---> 73             source_type = SourcesRegistry.instance().resolve(scheme)
     74             source = source_type(search_path.provider, search_path.path)
     75             self.sources.append(source)

~/anaconda3/envs/deep_view_aggregation/lib/python3.7/site-packages/hydra/_internal/sources_registry.py in resolve(self, scheme)
     28             supported = ", ".join(sorted(self.types.keys()))
     29             raise ValueError(
---> 30                 f"No config source registered for schema {scheme}, supported types : [{supported}]"
     31             )
     32         return self.types[scheme]

ValueError: No config source registered for schema pkg, supported types : [file, structured]

Do you know how I can fix this error?

Thank you in advance, and sorry for the trouble.

drprojects commented 1 year ago

Hi,

I never encountered this issue and can't reproduce it on my end.

This sounds similar to this hydra-python comptibility issue... Have you looked into it ? Can you please share the output of the following commands:

python --version
pip list | grep hydra
pip list | grep omegaconf

Just to be sure: have you made any modification (even minor) to the code ?

adikrishnanucd commented 1 year ago

Hello @drprojects

These are the results of the three commands:

Python 3.7.9
hydra-core                    1.1.0
omegaconf                     2.3.0

I have made modifications to the variables in the third cell to point to the right paths. Otherwise I haven't made any other edits.

I believe the issue came because my omegaconf was updated to a higher version than what was required by hydra-core==1.1.0. I downgraded omegaconf and it seems to not give me this error anymore. Thank you for the help @drprojects .

drprojects commented 1 year ago

Thanks for sharing your solution :wink:

adikrishnanucd commented 1 year ago

@drprojects I am currently getting this warning that results in the cell being exited.

WARNING: the KITTI-360 terms and conditions require that you register and manually download KITTI-360 data from: http://www.cvlibs.net/datasets/kitti-360/download.php
Files must be organized in the following structure:

    /home/akrishna/Research/sem_seg/minkowski_kitti/kitti/kitti360mm/
        └── raw/
            ├── data_3d_semantics/
            |   └── 2013_05_28_drive_{seq:0>4}_sync/
            |       └── static/
            |           └── {start_frame:0>10}_{end_frame:0>10}.ply
            ├── data_2d_raw/
            |   └── 2013_05_28_drive_{seq:0>4}_sync/
            |       ├── image_{00|01}/
            |       |   └── data_rect/
            |       |       └── {frame:0>10}.png
            |       └── image_{02|03}/
            |           └── data_rgb/
            |               └── {frame:0>10}.png
            ├── data_poses/
            |   └── 2013_05_28_drive_{seq:0>4}_sync/
            |       ├── poses.txt
            |       └── cam0_to_world.txt   
            └── calibration/
                ├── calib_cam_to_pose.txt
                ├── calib_cam_to_velo.txt
                ├── calib_sick_to_velo.txt
                ├── perspective.txt
                └── image_{02|03}.yaml

I have all the files in the corresponding directories. Is there something I need to change to get this code to work? I found that this warning happens when the Trainer is created in the last cell of the kitti360_inference.ipynb notebook.