JosephKJ / OWOD

(CVPR 2021 Oral) Open World Object Detection
https://josephkj.in
Apache License 2.0
1.04k stars 155 forks source link

Non-existent config key: OWOD #90

Closed claudiomla closed 2 years ago

claudiomla commented 2 years ago

python tools/train_net.py --num-gpus 1 --eval-only --config-file ./configs/OWOD/t1/t1_test.yaml SOLVER.IMS_PER_BATCH 1 SOLVER.BASE_LR 0.005 OUTPUT_DIR "./output/t1_final" Command Line Args: Namespace(config_file='./configs/OWOD/t1/t1_test.yaml', dist_url='tcp://127.0.0.1:50152', eval_only=True, machine_rank=0, num_gpus=1, num_machines=1, opts=['SOLVER.IMS_PER_BATCH', '1', 'SOLVER.BASE_LR', '0.005', 'OUTPUT_DIR', './output/t1_final'], resume=False) ./configs/OWOD/t1/t1_test.yaml ./configs/OWOD/t1/t1_test.yaml Traceback (most recent call last): File "tools/train_net.py", line 170, in args=(args,), File "/media/dell/External/Package_Linux/anaconda3/envs/owod/lib/python3.7/site-packages/detectron2/engine/launch.py", line 82, in launch main_func(*args) File "tools/train_net.py", line 133, in main cfg = setup(args) File "tools/train_net.py", line 125, in setup cfg.merge_from_file(args.config_file) File "/media/dell/External/Package_Linux/anaconda3/envs/owod/lib/python3.7/site-packages/detectron2/config/config.py", line 70, in merge_from_file self.merge_from_other_cfg(loaded_cfg) File "/media/dell/External/Package_Linux/anaconda3/envs/owod/lib/python3.7/site-packages/fvcore/common/config.py", line 132, in merge_from_other_cfg return super().merge_from_other_cfg(cfg_other) File "/media/dell/External/Package_Linux/anaconda3/envs/owod/lib/python3.7/site-packages/yacs/config.py", line 217, in merge_from_other_cfg _merge_a_into_b(cfg_other, self, self, []) File "/media/dell/External/Package_Linux/anaconda3/envs/owod/lib/python3.7/site-packages/yacs/config.py", line 495, in _merge_a_into_b raise KeyError("Non-existent config key: {}".format(full_key)) KeyError: 'Non-existent config key: OWOD'

Is because configs/OWOD/t1_test.yaml has: OWOD: PREV_INTRODUCED_CLS: 0 CUR_INTRODUCED_CLS: 20 and configs/Base-RCNN-C4-OWOD.yaml has: OWOD: .....etc

am I doing something wrong??

if I remove the key OWOD and them subkeys, then it runs

I am trying to run replicate.sh using OWOD_Backup from Drive and put it in ./output/

it occurs using run.sh too

j-cyoung commented 2 years ago

I met the same problem. I guess the I'm using the official library, and it doesn't contain the OWOD code. Maybe we should use the modified library by the author. My solution is to uninstall the origin detectron2, and then reinstall the detectron2 by using python3 setup.py install under theOWOD-master dir.

JosephKJ commented 2 years ago

You need to compile and use the Detectron library that is bundled along with this code base. Please see this thread: https://github.com/JosephKJ/OWOD/issues/10#issuecomment-799399988