Source code for solaris.utils.config

import yaml
from ..nets import zoo


[docs]def parse(path): """Parse a config file for running a model. Arguments --------- path : str Path to the YAML-formatted config file to parse. Returns ------- config : dict A `dict` containing the information from the config file at `path`. """ with open(path, 'r') as f: config = yaml.safe_load(f) f.close() if not config['train'] and not config['infer']: raise ValueError('"train", "infer", or both must be true.') if config['train'] and config['training_data_csv'] is None: raise ValueError('"training_data_csv" must be provided if training.') if config['infer'] and config['inference_data_csv'] is None: raise ValueError('"inference_data_csv" must be provided if "infer".') if config['training']['lr'] is not None: config['training']['lr'] = float(config['training']['lr']) # TODO: IMPLEMENT UPDATING VALUES BASED ON EMPTY ELEMENTS HERE! if config['validation_augmentation'] is not None \ and config['inference_augmentation'] is None: config['inference_augmentation'] = config['validation_augmentation'] return config