xuxw98/ESAM

KeyError: 'ScanNet200MixFormer3D_Online is not in the mmdet3d::model registry.

Closed this issue · 6 comments

When I run the command : CUDA_VISIBLE_DEVICES=0 python tools/test.py configs/ESAM_CA/ESAM_online_scenenn_CA_test.py work_dirs/ESAM_online_scannet200_CA/epoch_128.pth --work-dir work_dirs/ESAM_online_scenenn_CA_test/ --cfg-options train_dataloader=None
I suffer the error below ,how can I deal it? thank you

Traceback (most recent call last):
File "tools/test.py", line 153, in
main()
File "tools/test.py", line 141, in main
runner = Runner.from_cfg(cfg)
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/runner/runner.py", line 462, in from_cfg
runner = cls(
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/runner/runner.py", line 429, in init
self.model = self.build_model(model)
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/runner/runner.py", line 836, in build_model
model = MODELS.build(model)
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg
return build_from_cfg(cfg, registry, default_args)
File "/data/syy/anaconda3/envs/ESAM/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 100, in build_from_cfg
raise KeyError(
KeyError: 'ScanNet200MixFormer3D_Online is not in the mmdet3d::model registry. Please check whether the value of ScanNet200MixFormer3D_Online is correct or it was registered as expected. More details can be found at https://mmengine.readthedocs.io/en/latest/advanced_tutorials/config.html#import-the-custom-module'

You can try add PYTHONPATH="$(dirname $0)/..":$PYTHONPATH before CUDA_VISIBLE_DEVICES.
If this does not work, maybe you should check whether the installation is done correctly. You can refer to readme for more details.

when I go through this step2:Prepare scannet_frames_25k data, run:
python download-scannet.py -o --preprocessed_frames
I met y pressing any key to continue you confirm that you have agreed to the ScanNet terms of use as described at:
http://kaldir.vc.in.tum.de/scannet/ScanNet_TOS.pdf


Press any key to continue, or CTRL-C to exit.
Traceback (most recent call last):
File "download_scannetv2.py", line 205, in
File "download_scannetv2.py", line 136, in main
File "download_scannetv2.py", line 35, in get_release_scans
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 6: invalid start byte
and I want to ask I should use download download_scannetv2.py or download-scannet.py to download data if I want to use Scannet200.
thank you

The downloading code for scannet is written in python2. You can try to use Python 2 interpreter to run this scripts.

You should use download_scannetv2.py. The data of ScanNetv2 and ScanNet200 is the same. The only difference is use different category mapping.

KeyError: 'ScanNet200MixFormer3D_Online is not in the mmdet3d::model registry. Please check whether the value of ScanNet200MixFormer3D_Online is correct or it was registered as expected. More details can be found at https://mmengine.readthedocs.io/en/latest/advanced_tutorials/config.html#import-the-custom-module'
I want to ask if I should install the environment of Mask3D in step7?
Except it I am sure I follow the readme to install , can you tell me the version of mmengine and ScanNet200MixFormer3D is a custom model? I can not find any other questions.thanks

The version of mmengine is 0.10.3.

Can you check ESAM/oneformer3d/mixformer3d.py and ESAM/oneformer3d/__init__.py to see whether ScanNet200MixFormer3D_Online is correctly registered and imported?

Also make sure your install mmdet3d in a new environment. Previous mmdet3d project may affect your environment variables.

The version of mmengine is 0.10.3.

Can you check ESAM/oneformer3d/mixformer3d.py and ESAM/oneformer3d/__init__.py to see whether ScanNet200MixFormer3D_Online is correctly registered and imported?

Also make sure your install mmdet3d in a new environment. Previous mmdet3d project may affect your environment variables.

Now I can run it successfully. thank you!!