|
|
|
|
|
|
|
import os |
|
from pathlib import Path |
|
import shutil |
|
import sys |
|
|
|
import nni |
|
|
|
def get_config_directory() -> Path: |
|
""" |
|
Get NNI config directory. |
|
Create it if not exist. |
|
""" |
|
if sys.prefix != sys.base_prefix or Path(sys.prefix, 'conda-meta').is_dir(): |
|
config_dir = Path(sys.prefix, 'nni') |
|
elif sys.platform == 'win32': |
|
config_dir = Path(os.environ['APPDATA'], 'nni') |
|
else: |
|
config_dir = Path.home() / '.config/nni' |
|
config_dir.mkdir(parents=True, exist_ok=True) |
|
return config_dir |
|
|
|
def get_config_file(name: str) -> Path: |
|
""" |
|
Get an NNI config file. |
|
Copy from `nni/runtime/default_config` if not exist. |
|
""" |
|
config_file = get_config_directory() / name |
|
if not config_file.exists(): |
|
default = Path(nni.__path__[0], 'runtime/default_config', name) |
|
shutil.copyfile(default, config_file) |
|
return config_file |
|
|