35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
# These codes are copied from modelscope revision c58451baead80d83281f063d12fb377fad415257
|
|
# 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
|