Currently, you can either define all arguments via the YAML setting 'run_args' or by providing the arguments directly to NePS.
A mixed approach would suit best. This would enable flexible usage, for example, if you don't want to provide run_pipeline via the YAML and instead want to provide it directly to neps.run(). It also might be beneficial for quick changes, as you would not have to look up the YAML again.
Problem: When quick changes are made to optional parameters that have a default value, it is unclear whether the default value was provided by the user or set by the function itself.
See example:
neps.run(run_args="config.yaml", post_summary=False)
run_args: post_summary: True
Proposed Solution: Enable mixed usage solely for required parameters to prevent issues related to default values in optional parameters. Additionally, consider ignoring double references by introducing a hierarchy where 'run_args' takes precedence.
Alternative Solution: Construct a wrapper around neps.run. However, this approach would result in users losing access to the function descriptions of neps.run, which could impact usability.
Currently, you can either define all arguments via the YAML setting 'run_args' or by providing the arguments directly to NePS.
A mixed approach would suit best. This would enable flexible usage, for example, if you don't want to provide run_pipeline via the YAML and instead want to provide it directly to neps.run(). It also might be beneficial for quick changes, as you would not have to look up the YAML again.
Problem: When quick changes are made to optional parameters that have a default value, it is unclear whether the default value was provided by the user or set by the function itself.
See example:
neps.run(run_args="config.yaml", post_summary=False)
run_args: post_summary: True
Proposed Solution: Enable mixed usage solely for required parameters to prevent issues related to default values in optional parameters. Additionally, consider ignoring double references by introducing a hierarchy where 'run_args' takes precedence.
Alternative Solution: Construct a wrapper around neps.run. However, this approach would result in users losing access to the function descriptions of neps.run, which could impact usability.
See #61