-
Notifications
You must be signed in to change notification settings - Fork 259
Handling invalid values #136
Comments
Nope, there is nothing built into the library for that. Although it is not very clear what do you mean by "signal", can you elaborate please? There are few options I can think of anyways:
|
Thank you for your reply. By signal I mean something like what is done in the library hyperopt which requires the objective function to return a dictionary of values such as { 'status': 'ok', 'loss': 2.3 }. That way if there is an invalid value you can return { 'status': 'invalid' } which will make the algorithm ignore that data point. Is there a way to do the same in GPyOpt? Do you know of any issues with returning very large losses for invalid values? Regarding your solutions:
|
That's a good point. If an evaluation of the objective gives an NaN is should automatically be saved as an infeasible point. That would be an interesting feature to have. Is that something that you have implemented already? If so, it would be great if you cold make a PR with that. We are happy to help with the integration. |
Hi, Has this been implemented? I've been struggling to get GPyOpt to find good parameters and I'm wondering if the fact my loss is often NaN is the issue. |
I got a suggestion to a related issue in #234 that may help. I've yet to make use of |
Is there a way to make the objective function signal that the result of evaluating a suggested X value was NaN or an error? At the moment I'm returning a very large cost to mark it as a very bad X value but I think that will not work well with normalized Y values.
The text was updated successfully, but these errors were encountered: