Major refactor for the reproducibility paper
This is the main merge of refactor
feature branch into master, where the code was completely redone as a part of working on the reproducibility paper of LMI. This refactor inroduces multiple changes to the structure and execution of the code. I focused mainly on:
- the ease of running experiments through parametrization based on configs, thorough logging and saving of every result to a .csv file
- the ease of development and debugging - better use of the logging module (multiple levels, etc.), more modular design, deletion of overly complex code, better documentation and comments
- deletion of copy-paste segments of codes
- TO BE DONE: Tests in the GitLab pipeline to ensure that the repo is in ready-to-be-used shape all the time