YAECS
Yet Another Experiment Config System
DISCLAIMER: This repository is the public version of a repository that is the property ofReactive Reality. This repository IS NOT OFFICIAL and might not be maintained in the future. Some minor changes * are applied from theofficial repository (GitLab)(under lesser GNU license).
This package is a Config System which allows easy manipulation of config files for safe, clear and repeatable experiments. In a few words, it is:
built for Machine Learning with its constraints in mind, but also usable out-of-the-box for other kinds of projects;
built with scalability in mind and can adapt just as easily to large projects investigating hundreds of well-organised parameters across many experiments;
designed to encourage good coding practices for research purposes, and if used rigorously will ensure a number of highly desirable properties such that maintenance-less forward-compatibility of old configs, easy reproducibility of any experiment, and extreme clarity of former experiments for your future self or collaborators.
Contents:
- Installation
- Getting started
- yaecs.config
- yaecs.config.config module
ConfigurationConfiguration.config_metadataConfiguration.load_config()Configuration.build_from_configs()Configuration.build_from_argv()Configuration.create_variations()Configuration.get_default_config_path()Configuration.parameters_pre_processing()Configuration.parameters_post_processing()Configuration.set_variation_name()
- yaecs.config.config_base module
- yaecs.config.config_convenience module
ConfigConvenienceMixinConfigConvenienceMixin.config_metadataConfigConvenienceMixin.getConfigConvenienceMixin.get_dictConfigConvenienceMixin.get_main_configConfigConvenienceMixin.get_nameConfigConvenienceMixin.get_parameter_namesConfigConvenienceMixin.get_pre_post_processing_valuesConfigConvenienceMixin.compare()ConfigConvenienceMixin.copy()ConfigConvenienceMixin.details()ConfigConvenienceMixin.items()ConfigConvenienceMixin.keys()ConfigConvenienceMixin.match_params()ConfigConvenienceMixin.save()ConfigConvenienceMixin.values()
- yaecs.config.config_getters module
ConfigGettersMixinConfigGettersMixin.get()ConfigGettersMixin.get_all_linked_sub_configs()ConfigGettersMixin.get_all_sub_configs()ConfigGettersMixin.get_command_line_argument()ConfigGettersMixin.get_dict()ConfigGettersMixin.get_main_config()ConfigGettersMixin.get_master_switch()ConfigGettersMixin.get_modified_buffer()ConfigGettersMixin.get_name()ConfigGettersMixin.get_nesting_hierarchy()ConfigGettersMixin.get_parameter_names()ConfigGettersMixin.get_pre_post_processing_values()ConfigGettersMixin.get_processed_param_name()ConfigGettersMixin.get_save_file()ConfigGettersMixin.get_reference_folder()ConfigGettersMixin.get_type_hint()ConfigGettersMixin.get_type_hints()ConfigGettersMixin.get_variation_name()ConfigGettersMixin.is_in_operation()
- yaecs.config.config_hooks module
- yaecs.config.config_processing_functions module
ConfigProcessingFunctionsMixinConfigProcessingFunctionsMixin.get_main_configConfigProcessingFunctionsMixin.get_processed_param_nameConfigProcessingFunctionsMixin.check_param_in_list()ConfigProcessingFunctionsMixin.copy_param()ConfigProcessingFunctionsMixin.check_number_in_range()ConfigProcessingFunctionsMixin.protected_param()ConfigProcessingFunctionsMixin.folder_in_experiment()ConfigProcessingFunctionsMixin.folder_in_experiment_if()
- yaecs.config.config_setters module
ConfigSettersMixinConfigSettersMixin.add_processing_function()ConfigSettersMixin.add_processing_function_all()ConfigSettersMixin.add_type_hint()ConfigSettersMixin.set_sub_config()ConfigSettersMixin.remove_value_before_postprocessing()ConfigSettersMixin.remove_type_hint()ConfigSettersMixin.save_value_before_postprocessing()ConfigSettersMixin.set_post_processing()ConfigSettersMixin.set_pre_processing()ConfigSettersMixin.unset_sub_config()
- yaecs.config.config module
- yaecs
- yaecs.config_history module
ConfigHistoryConfigHistory.compute_span()ConfigHistory.compute_metrics()ConfigHistory.compute_graph()ConfigHistory.compute_colors()ConfigHistory.draw_graph()ConfigHistory.format_metrics()ConfigHistory.format_span()ConfigHistory.compute_difference_matrix()ConfigHistory.get_experiment_name_from_file()ConfigHistory.format_list()ConfigHistory.make_processor()
- yaecs.experiment module
- yaecs.pytorch_lightning_utils module
- yaecs.user_utils module
- yaecs.yaecs_utils module
add_to_csv()assign_order()assign_yaml_tag()compare_string_pattern()compose()dict_apply()escape_symbols()format_str()get_config_from_argv()get_quasi_bash_sys_argv()get_order()get_param_as_parsable_string()hook()is_type_valid()lazy_import()new_print()parse_type()Priorityrecursive_set_attribute()set_function_attribute()update_state()TqdmLogFormatterTqdmLogger
- yaecs.config_history module
- License