prannaykaul / lvc

Official repo for our CVPR 22 paper: "Label, Verify, Correct: A Simple Few-Shot Object Detection Method"
Apache License 2.0
88 stars 14 forks source link

TRAIN_FULL.md Part 3, Step 1: json file not found error #10

Closed takbess closed 2 years ago

takbess commented 2 years ago

Following the instructions, I tried the command:

python -m tools.train_net \
    --config-file configs/COCO-detection/faster_rcnn_R_50_FPN_ft_all_30shot_aug_ftmore_dropout.yaml \
    --resume \
    --eval-only \
    --opts \
    DATASETS.TEST "('coco_trainval_all', 'coco_unlabeled_all')"

"--opts" is needed because I am using the scripts before your fixing. I also modified 'coco_unlabelled_all' into 'coco_unlabeled_all'. Maybe, this is just a typo. Then, I got the following error:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/conda/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/user/lvc/tools/train_net.py", line 137, in <module>
    launch(
  File "/home/user/lvc/detectron2/engine/launch.py", line 62, in launch
    main_func(*args)
  File "/home/user/lvc/tools/train_net.py", line 120, in main
    res = Trainer.test(cfg, model)
  File "/home/user/lvc/lvc/engine/defaults.py", line 573, in test
    data_loader = cls.build_test_loader(cfg, dataset_name)
  File "/home/user/lvc/lvc/engine/defaults.py", line 535, in build_test_loader
    return build_detection_test_loader(cfg, dataset_name)
  File "/home/user/lvc/lvc/data/build.py", line 313, in build_detection_test_loader
    dataset_dicts = get_detection_dataset_dicts(
  File "/home/user/lvc/detectron2/data/build.py", line 219, in get_detection_dataset_dicts
    dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
  File "/home/user/lvc/detectron2/data/build.py", line 219, in <listcomp>
    dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
  File "/home/user/lvc/detectron2/data/catalog.py", line 63, in get
    return f()
  File "/home/user/lvc/lvc/data/meta_coco.py", line 335, in <lambda>
    lambda: load_coco_json(annofile, imgdir, metadata, name,
  File "/home/user/lvc/lvc/data/meta_coco.py", line 263, in load_coco_json
    coco_api = COCO(json_file)
  File "/home/user/.local/lib/python3.8/site-packages/pycocotools/coco.py", line 81, in __init__
    with open(annotation_file, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'datasets/coco/annotations/image_info_unlabeled2017.json'

I failed to find how to solve this error as I am a beginner ... I’d appreciate your help.

prannaykaul commented 2 years ago

So on top of the {train,val}2014 datasets, the COCO 2017 unlabeled dataset is also required. I have updated the datasets README to reflect this oversight.