Functional and non-functional requirements
This is an attempt to list all of our requirements we have for this framework. I will keep it up-to-date to regularly evaluate our current progress and to spot major challenges and issues early.
Functional Requirements
Unified hyperparameter optimization for all algorithms
Purpose
It should be straightforward to run an optimization for every implemented algorithm in one predefined and well-documented way.
Specific requirements
- Running multiple optimization trials in parallel
- Running algorithms that are parallel themselves
Corresponding issues
Unified logging system
Purpose
There should be a global logger class that any implementation can use to record metrics. Options define which logging platforms to use in the background (MLFlow, WandB, Comet.ml, etc.), or the format of locally logged files.
Specific requirements
- Unified or template-based visualization of environment interactions for videos and display
Corresponding issues
#70 (closed) #69 (closed) #51 (closed) #26 (closed) #22 (closed)
Unified configuration structure
-
Solved by Hydra
Non-Functional Requirements
It should be easy to get started with reinforcement learning
Corresponding issues
It should be easy to implement an idea by extending an algorithm like SAC (using SB3)
Corresponding issues
#65 (closed) #55 (closed) #54 (closed)