Comments (6)
I think it is silly to have the code break when it would be much better to return an error message. However, I can't think of a good reason why anyone would set vmax == vmin
besides by mistake. Perhaps we should just add a helpful error message here?
from spearmint.
I don't have a good reason, but I do have a bad reason! (laziness)
One example would be that I'm trying to optimize multiple hyperparameters at once. Later, I want to run the same optimization, but fix one of the parameters rather than optimizing over it. If I can set vmin == vmax
and just get the trivial result for that parameter, then the rest of the code can stay the same. If I have to remove it from the list of hyperparameters, I then have to insert the parameter somewhere else in the code which is just more work for me.
I tried hacking it in by having a check here:
Spearmint/spearmint/tasks/base_task.py
Line 375 in 3b0f241
and then setting
unit
to zero if vmin == vmax
. This runs, but I don't understand the code well enough to know if this will break any of the GP stuff down the line. Do you think something like this would work?
I can make a PR with at least a better warning.
from spearmint.
Hi Jesse, yeah I understand that. It would require building in some logic
to have those variables bypass the GP, since otherwise there would be
unnecessary computation happening (in computing covariances between these
zeros). I think your trick would work though, so you can do it in your own
branch if you like.
I'd rather leave that kind of bookkeeping up to the user than try to build
it in to Spearmint (or perhaps a user made wrapper around Spearmint to do
neat user-friendly bookkeeping, etc.) @mgelbart, what do you think?
Definitely a better warning would be great :-) I added a more useful
assert. Thanks!
Jasper
On Mon, May 11, 2015 at 7:24 PM, Jesse Livezey [email protected]
wrote:
I don't have a good reason, but I do have a bad reason! (laziness)
One example would be that I'm trying to optimize multiple hyperparameters
at once. Later, I want to run the same optimization, but fix one of the
parameters rather than optimizing over it. If I can set vmin == vmax and
just get the trivial result for that parameter, then the rest of the code
can stay the same. If I have to remove it from the list of hyperparameters,
I then have to insert the parameter somewhere else in the code which is
just more work for me.I tried hacking it in by having a check here:
Spearmint/spearmint/tasks/base_task.py
Line 375 in 3b0f241
and then setting unit to zero if vmin == vmax. This runs, but I don't
understand the code well enough to know if this will break any of the GP
stuff down the line. Do you think something like this would work?I can make a PR with at least a better warning.
—
Reply to this email directly or view it on GitHub
#17 (comment).
from spearmint.
I think if you remove the parameter from the config entirely then everything should be ok, but as you said your code would need to know that this parameter is not coming in. I agree with Jasper's assessment.
Mike
from spearmint.
Thanks for the feedback!
I'm probably also going to write something that just filters out parameters with trivial ranges and adds them back in at the end. Once I get it working, I'll post it here in case it's useful for others.
from spearmint.
That sounds great!
Cheers,
Jasper
On Wed, Jun 3, 2015 at 8:23 PM, Jesse Livezey [email protected]
wrote:
Thanks for the feedback!
I'm probably also going to write something that just filters out
parameters with trivial ranges and adds them back in at the end. Once I get
it working, I'll post it here in case it's useful for others.—
Reply to this email directly or view it on GitHub
#17 (comment).
from spearmint.
Related Issues (20)
- Clearing hanging jobs
- Spearmint on windows! HOT 1
- PESM acquisition function takes many times longer than PES HOT 19
- Change scipy.weave to weave HOT 2
- Examples related to categorical int inputs HOT 1
- Simple brain in example takes hours to run HOT 2
- PESM moo example issue HOT 1
- problems installing spearmint and testing the simple example HOT 8
- Cannot import gp and util while running HOT 1
- Are failed jobs(s) included in the analysis? HOT 2
- Is this repository active? HOT 2
- Run Spearmint in several servers
- Avoiding Cold Start Problem in Bayesian Optimization HOT 2
- testing with simple function HOT 2
- uncertainty
- Objective function containing an API request doesn't work
- license?
- IndexError
- Example code working but nothing else
- Deprecated API verison and other warnings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spearmint.