Custom optimizers are specified through neps.run() by using the searcher argument, which inherits from BaseOptimizer. For loading the custom optimizer via 'run_args', we have chosen a design where users do not define and load an instance directly. Instead, they provide the class name and the path to its implementation. The problem arises with the inability to load custom settings for these optimizers.
Proposed Solution: Adopt the use of 'searcher_kwargs' for custom optimizers, similar to its application for built-in searchers.
Custom optimizers are specified through neps.run() by using the searcher argument, which inherits from BaseOptimizer. For loading the custom optimizer via 'run_args', we have chosen a design where users do not define and load an instance directly. Instead, they provide the class name and the path to its implementation. The problem arises with the inability to load custom settings for these optimizers.
Proposed Solution: Adopt the use of 'searcher_kwargs' for custom optimizers, similar to its application for built-in searchers.
Example: