| 123456789101112131415161718192021222324252627282930313233 |
- # Copyright (c) Alibaba, Inc. and its affiliates.
- # The DAMO-YOLO implementation is also open-sourced by the authors, and available
- # at https://github.com/tinyvision/damo-yolo.
- import importlib
- import os
- import shutil
- import sys
- import tempfile
- from os.path import dirname, join
- from easydict import EasyDict
- def parse_config(filename):
- filename = str(filename)
- if filename.endswith('.py'):
- with tempfile.TemporaryDirectory() as temp_config_dir:
- shutil.copyfile(filename, join(temp_config_dir, '_tempconfig.py'))
- sys.path.insert(0, temp_config_dir)
- mod = importlib.import_module('_tempconfig')
- sys.path.pop(0)
- cfg_dict = EasyDict({
- name: value
- for name, value in mod.__dict__.items()
- if not name.startswith('__')
- })
- # delete imported module
- del sys.modules['_tempconfig']
- else:
- raise IOError('Only .py type are supported now!')
- return cfg_dict
|