opentuner icon indicating copy to clipboard operation
opentuner copied to clipboard

Techniques should discover and use mutators beyond those returned by Parameter.manipulators()

Open jbosboom opened this issue 9 years ago • 2 comments

I'm writing a custom ComplexParameter class that provides a mutator method named op3_homologous_crossover. OpenTuner's existing techniques seem entirely unwilling to invoke it.

All uses of Parameter.manipulators() only pass one configuration, so only bound methods of the form self.op1_foo can be returned there; thus this isn't a place to advertise non-unary mutators.

Given that the point of the opX_ prefix was to make mutators generically discoverable, techniques should be able to use them automatically.

jbosboom avatar Jun 02 '16 03:06 jbosboom

Code in generic techniques that queries the types of parameters is especially suspicious, such this check for permutation parameters of large size. Techniques shouldn't need to know details like this, or at least should have a reasonable default action for unrecognized parameters.

jbosboom avatar Jun 02 '16 04:06 jbosboom

Agreed, seems like that crossover code has been special cased for permutations. We should make them more general.

On Wed, Jun 1, 2016 at 9:05 PM, Jeffrey Bosboom [email protected] wrote:

Code in generic techniques that queries the types of parameters is especially suspicious, such this check for permutation parameters of large size https://github.com/jansel/opentuner/blob/50e5eec9cf934b9117611280ef94a443eaab1f35/opentuner/search/evolutionarytechniques.py#L126. Techniques shouldn't need to know details like this, or at least should have a reasonable default action for unrecognized parameters.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jansel/opentuner/issues/83#issuecomment-223190351, or mute the thread https://github.com/notifications/unsubscribe/AAglPOraxVRXYKkPlHW5ACLGIb2m1_gtks5qHlaBgaJpZM4IsLr2 .

jansel avatar Jun 04 '16 05:06 jansel