facebookresearch / mmf

A modular framework for vision & language multimodal research from Facebook AI Research (FAIR)
https://mmf.sh/
Other
5.48k stars 935 forks source link

DictConfig error on initialization #274

Closed josephch405 closed 4 years ago

josephch405 commented 4 years ago

🐛 Bug

Running any sort of project with the CLI as is produces a OmegaConfig related error. At the moment I'm circumventing this by skipping the "pop" call in question.

To Reproduce

Steps to reproduce the behavior:

  1. Install via pip install -e .
  2. Run mmf_run config=projects/hateful_memes/configs/visual_bert/from_coco.yaml model=visual_bert dataset=hateful_memes
    Traceback (most recent call last):
    File "/home/joseph/miniconda3/envs/mmf/bin/mmf_run", line 11, in <module>
    load_entry_point('mmf', 'console_scripts', 'mmf_run')()
    File "/home/joseph/github/mmf/mmf_cli/run.py", line 90, in run
    main(configuration, predict=predict)
    File "/home/joseph/github/mmf/mmf_cli/run.py", line 37, in main
    trainer.load()
    File "/home/joseph/github/mmf/mmf/trainers/base_trainer.py", line 61, in load
    self.load_model_and_optimizer()
    File "/home/joseph/github/mmf/mmf/trainers/base_trainer.py", line 129, in load_model_and_optimizer
    self.load_extras()
    File "/home/joseph/github/mmf/mmf/trainers/base_trainer.py", line 154, in load_extras
    self.checkpoint = Checkpoint(self)
    File "/home/joseph/github/mmf/mmf/utils/checkpoint.py", line 109, in __init__
    self.save_config()
    File "/home/joseph/github/mmf/mmf/utils/checkpoint.py", line 125, in save_config
    self.config.pop("config_override", None)
    File "/home/joseph/miniconda3/envs/mmf/lib/python3.7/site-packages/omegaconf/dictconfig.py", line 433, in pop
    self._format_and_raise(key=key, value=None, cause=e)
    File "/home/joseph/miniconda3/envs/mmf/lib/python3.7/site-packages/omegaconf/base.py", line 101, in _format_and_raise
    type_override=type_override,
    File "/home/joseph/miniconda3/envs/mmf/lib/python3.7/site-packages/omegaconf/_utils.py", line 590, in format_and_raise
    raise_(ex, cause)
    File "/home/joseph/miniconda3/envs/mmf/lib/python3.7/site-packages/omegaconf/_utils.py", line 515, in raise_
    raise ex
    omegaconf.errors.ConfigTypeError: DictConfig in struct mode does not support pop
        full_key: config_override
        reference_type=Optional[Dict[Any, Any]]
        object_type=dict

Expected behavior

Training should begin as normal

Environment

PyTorch version: 1.5.0 Is debug build: No CUDA used to build PyTorch: 10.2

OS: Ubuntu 18.04.4 LTS GCC version: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 CMake version: version 3.10.2

Python version: 3.7 Is CUDA available: Yes CUDA runtime version: 10.2.89 GPU models and configuration: GPU 0: GeForce GTX 1080 Nvidia driver version: 440.82 cuDNN version: /usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.5

Versions of relevant libraries: [pip] numpy==1.16.6 [pip] torch==1.5.0 [pip] torchtext==0.5.0 [pip] torchvision==0.6.0 [conda] torch 1.5.0 pypi_0 pypi [conda] torchtext 0.5.0 pypi_0 pypi [conda] torchvision 0.6.0 pypi_0 pypi

apsdehal commented 4 years ago

Thanks for reporting this. We will fix this is in new version soon.