verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
cjlcarvalho has joined #mlpack
vivekp has joined #mlpack
cjlcarvalho has quit [Ping timeout: 256 seconds]
cjlcarvalho has joined #mlpack
cjlcarvalho has quit [Quit: Konversation terminated!]
witness_ has quit [Quit: Connection closed for inactivity]
caiojcarvalho has quit [Ping timeout: 264 seconds]
caiojcarvalho has joined #mlpack
ImQ009 has joined #mlpack
ImQ009 has quit [Quit: Leaving]
ImQ009 has joined #mlpack
manish7294 has joined #mlpack
< manish7294>
rcurtin: Was our evaluation of GSoC completed?
< rcurtin>
yeah, they are all done, I am not sure when Google returns them to you
< rcurtin>
I thought today maybe?
< ShikharJ>
rcurtin: Yeah, ideally they should be returning us the feedback.
< manish7294>
rcurtin: Ya, it's about time and status has changed. But this time its a little weird
< rcurtin>
what's weird about it? I filled it out as usual, nothing different from my end
< manish7294>
firstly they haven't shown us the feedback yet, and status is just complete in a big red box, which got me worried
< manish7294>
:)
< rcurtin>
no need to worry, I am sure everything will be resolved shortly
< manish7294>
Hopefully, they will.
< rcurtin>
if there continues to be some problem into tomorrow or something, let me know and I will send an email to the GSoC admins
< rcurtin>
(I guess you could do the same too if you wanted)
< manish7294>
Sure, I will let you know as well if there's any problem. Thanks!
< manish7294>
Now it's changed to passed, so I think that was just a little time delay :)
< manish7294>
Thanks again! :)
< rcurtin>
sure, glad it is worked out. I don't think you had any reason to worry :)
< manish7294>
I just got a bit anxious by looking at the RED color :)
< rcurtin>
yeah, I can understand the feeling
< rcurtin>
I'm going to step out for lunch, I'll be back in a little while
< rcurtin>
also, next week my timezone will be UTC+0 (so four hours ahead of where I am now); my new company is having an internal conference for a week in Iceland
< rcurtin>
so it will seem like I am waking up really early :)
< manish7294>
like for whole week?
< manish7294>
zoq: Can there be multiple Evaluate() calls before a Gradient() call or vice versa while using BigBatchSGD.
haritha1313 has joined #mlpack
< manish7294>
means it necessarily does not follow countinous E -> G -> E -> G routine?
< zoq>
manish7294: Yes, it could be G -> E -> E -> E - > G -> ...
< manish7294>
zoq: Thanks!
< zoq>
manish7294: Does that cause any issues?
< manish7294>
zoq: I was planning to use a cache from Evaluate to Gradient, which I think is not possible now?
< manish7294>
It should have been continous to work as cache is updated on each Evaluate call
< manish7294>
rcurtin: I think the non-continous Evaluate() and Gradient() calls nature is what causing the deviations while using evalOld in Gradient.
< zoq>
manish7294: Cache means, something like reusing the output from the Evalaute step for the Gradient step?
< manish7294>
zoq: Yes
caiojcarvalho has quit [Ping timeout: 256 seconds]
cjlcarvalho has joined #mlpack
< zoq>
manish7294: I see, that's challenging, what you could do is to implement EvaluateWithGradient, which is a combination of Evaluate + Gradient, with the idea to use the results from the Evaluate step (cache). So if an optimizer does use the EvaluateWithGradient you can expect E -> G -> E -> G
< zoq>
I can see if I could modify the optimizer to use EvaluateWithGradient at least at some steps.
< manish7294>
zoq: I think we currently have all the variations of Evaluate + Gradient, The issue is just BigBatchSGD specific :)
< zoq>
manish7294: I think I missed some details, but if you only implement caching for EvaluateWithGradient, and BigBatchSGD is only using Evaluate + Gradient, wouldn't that solve the issue?
< manish7294>
We have caching for EvaluatewithGradient() (but just sgd, lbfgs and amsgrad make use of this, and it works as expected), but we also have BBSGD in the list which makes use of seprate Evaluate() and Gradient(), and is the cause of the problem.
< manish7294>
We want to do the same for BBSGD as well.
< zoq>
I see, that's challenging.
< manish7294>
Currently, what I can think of is seprate caching for Evaluate() and Gradient()
< manish7294>
But that's a lot of matrices and lots of tracking work. Have to know the views of Ryan as well, whether to do this or maybe something else.
< zoq>
I wonder if you could get similair results with SGD if you use a really big batch size.
< manish7294>
zoq: It works normally.
< manish7294>
zoq: If I am right, out of amsgrad, sgd, lbfgs and bbsgd only bbsgd have variable batch_size ?
< zoq>
right
< manish7294>
hmm, so bbsgd is the only guy, putting up a lot of hurdles :)
< zoq>
Right, not sure if it's worth the effort.
witness_ has joined #mlpack
vivekp has quit [Read error: Connection reset by peer]
vivekp has joined #mlpack
< manish7294>
rcurtin: In case we avoid the evalBounds optimization for bbsgd, we can easily and efficiently store oldTransformationMatrices for other batch optimizers (will just have to store dataset.n_cols/ batchSize number of matrices). Do you think it sounds reasonable.
manish7294 has quit [Ping timeout: 252 seconds]
< rcurtin>
manish7294: let's not do that because batches can be shuffled, and some optimizers may use different batch sizes at different times during the optimization
< rcurtin>
I think the idea I posted will work and it will be roughly as fast
< rcurtin>
unless you've found an error with it or anything
< rcurtin>
and yeah, I will be there the whole week
< rcurtin>
manish7294: reading the whole discussion that you and zoq had now (I only saw the most recent message then I scrolled up...)
< rcurtin>
I think that we can't cache the bounds in general for Evaluate() or Gradient(), because we can't assume that Gradient() comes right after Evaluate() (if that was true, the optimizer can just use EvaluateWithGradient())
< rcurtin>
so that may make the bounds become looser quicker than expected but it will still work, so I think it will be okay
caiojcarvalho has joined #mlpack
cjlcarvalho has quit [Read error: Connection reset by peer]
haritha1313 has left #mlpack []
vivekp has quit [Ping timeout: 240 seconds]
caiojcarvalho has quit [Ping timeout: 256 seconds]
caiojcarvalho has joined #mlpack
ImQ009 has quit [Quit: Leaving]
caiojcarvalho has quit [Read error: Connection reset by peer]
caiojcarvalho has joined #mlpack
caiojcarvalho has quit [Ping timeout: 256 seconds]
cjlcarvalho has joined #mlpack
cjlcarvalho has quit [Ping timeout: 256 seconds]
manish7294 has joined #mlpack
< manish7294>
rcurtin: Sorry, I think I don't understand your last message very well. Do you mean that we can leave the optimization for Evaluate() and gradient() function or something other?