Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support hyperparameters tuning #287

Closed
groar opened this issue Sep 10, 2015 · 6 comments
Closed

Support hyperparameters tuning #287

groar opened this issue Sep 10, 2015 · 6 comments

Comments

@groar
Copy link
Contributor

groar commented Sep 10, 2015

Being able to automatically optimize hyperparameters directly in digits would be a great feature. The two obvious methods would be random search or bayesian optimization.

I've been playing for the past week with using spearmint (bayesian optimization) with digits. Here is how I do it for now:

  • I added to the json_dict method of ModelJob the best accuracy computed during training on the validation set.
  • I setup a spearmint experiment as a function that uses the digits API to create a model from a dataset, with some variables (such as the learning rate, the step size and lr decay) being parameters of the experiment. It waits for the task to be completed and then return the val accuracy.

We end up with a bunch of model jobs in digits, and the optimized values for the parameters outputted by spearmint.

I'm now wondering what would be the best way to integrate random search or spearmint support into digits. I imagine it could be in the form of a special ModelJob with training tasks generated by spearmint for instance.

What do you think ?

@GiuliaP
Copy link

GiuliaP commented Jan 27, 2016

I have just found this code: https://github.com/kuz/caffe-with-spearmint
I though it might be useful for this task. @groar @lukeyeager did you know it?
I am starting to play with it to optimize fine-tuning parameters. Indeed I also would like to automatize the parameter search instead of launching each experiment manually... Having this integrated in DIGITS would be great!

@lukeyeager
Copy link
Member

/cc @jmancewicz - you've been looking into parameter-sweep stuff, right?

@jmancewicz
Copy link
Contributor

Yes, but won't be able to look at it for little while more.

@gheinrich
Copy link
Contributor

With #708 now you can sweep through many values of learning rate and batch size.

@GiuliaP
Copy link

GiuliaP commented May 23, 2016

Thank you for the follow up. I will try to use it.

@gheinrich
Copy link
Contributor

Closing (enhancement implemented in #708)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants