Во-первых: спасибо за интересный пост. Я пытаюсь создать что-то похожее, но немного другое. Я собираюсь объяснить (внимание: извините, если буду длиннее), чтобы, может быть, мы могли помочь друг другу найти способ.

Помимо файлов и каталогов, меня больше всего беспокоит быстрое переключение с одной конфигурации на другую без трения. Можно ли иметь под рукой разные модели, разные цели обучения для каждой модели, разные алгоритмы обучения и т. д., не имея дело с десятками аргументов командной строки и с кучей переключателей if-else при разборе вашей конфигурации? Более того, можно ли установить общую структуру (используя некоторые передовые методы), чтобы иметь безопасное руководство при переходе от одного проекта к другому, написав как можно меньше кода? В качестве последнего замечания, моя основная идея состоит в том, чтобы заменить файлы конфигурации (json или любой другой формат), аргументы командной строки и т. Д. Чистым кодом python: своего рода myconfig.py модуль, который должен быть загружен во время выполнения и который способный нести всю информацию и логику, необходимую для построения правильной модели.

Я попытался набросать кое-что (еще очень зачаточное) здесь, в модуле model. Хотя я довольно скептически отношусь к тому, что это действительно возможно. Так что любой намек/конфронтация/критика приветствуется!

EDIT: например, что, если в вашей среде я хочу использовать затухающий уровень обучения?