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/
stephentu has joined #mlpack
stephentu has quit [Ping timeout: 255 seconds]
stephentu has joined #mlpack
stephentu has quit [Ping timeout: 240 seconds]
govg has joined #mlpack
stephentu has joined #mlpack
sumedhghaisas_ has quit [Quit: Ex-Chat]
sumedhghaisas__ has joined #mlpack
sumedhghaisas__ has quit [Ping timeout: 268 seconds]
sumedhghaisas__ has joined #mlpack
stephentu has quit [Quit: Lost terminal]
sumedhghaisas__ has quit [Ping timeout: 268 seconds]
andrzejku has joined #mlpack
andrzejku has quit [Ping timeout: 260 seconds]
andrzejku has joined #mlpack
kris1 has joined #mlpack
andrzejku has quit [Quit: Textual IRC Client: www.textualapp.com]
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]
< zoq> sumedhghais: Not sure how the test framework looks like, maybe you can open a PR or something like that, so I was thinking if we need a visitor to call the specific method since we know the type?
kris1 has joined #mlpack
< zoq> ironstark: Hello, do you need any help with the dlib-ml implementation? Probably a good first step would be to write an install script?
sumedhghaisas__ has joined #mlpack
zoq has quit [Read error: Connection reset by peer]
zoq_ has joined #mlpack
< kris1> I had a question zoq
< kris1> so in layer you use InputDataType and OutputDataType
< kris1> but i am not able to understand how did you some variables like gradient to OutputDataType.
< kris1> Is the logic that anything that gets computed within the layer is labeled as OutputDataType.
< zoq_> kris1: Yes, everything inside the layer is of type OutputDataType only the input is of type InputDataType.
zoq_ is now known as zoq
< kris1> okay….. but why use InputData type and also arma::Mat<eT> when you could have replace arma::Mat<eT> by InputDataType.
< zoq> kris1: Right, in fact I already refactored some of the existing layer, to not use arma::Mat<eT> but e.g InputType for the input and OutType for the output etc. That way we could also pass e.g. arma::subview.
< lozhnikov> kris1: I am looking through your changes. It seems, you did an invalid merge. I did git reset since you committed some unnecessary code. I pointed out that here https://github.com/mlpack/mlpack/pull/1046#issuecomment-317401006
< lozhnikov> however, it seems you fixed that later
< kris1> Yes, i think we can just cherry pick the commits if we see there are some unncessary commits.
< kris1> Were you able to look at comments i gave in the PR.
< lozhnikov> I am looking through the code right now, I'll post a review soon
shikhar has joined #mlpack
shikhar has quit [Ping timeout: 240 seconds]
shikhar has joined #mlpack
shikhar has quit [Ping timeout: 240 seconds]
shikhar has joined #mlpack
shikhar has quit [Ping timeout: 260 seconds]
< kris1> lozhnikov i looked at the comments. I made some points. Were you able to look them over.
< kris1> Also one of the thing i am not sure about is that. ssRBM can outperform binary rbm on the mnist dataset. I did not see any papers that even consider using the mnist dataset. They all use “natural images”.
< kris1> for ssRBM classification testing.
< kris1> this goes for variants of ssRBM as well.
shikhar has joined #mlpack
< lozhnikov> yeah, I think we should try the CIFAR dataset
sumedhghaisas__ has quit [Ping timeout: 268 seconds]
< lozhnikov> kris1: I'll be unavailable this weekend
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
shikhar has quit [Read error: Connection reset by peer]
< lozhnikov> kris1: are you online?
< kris1> Yes
< lozhnikov> I'll be unavailable this weekend
< kris1> Ahhh…okay.
< lozhnikov> I'll return in the evening on Sunday
< lozhnikov> I am going to ride a bicycle for 2 days
< kris1> Wow !!! That sound exciting and tiring
< kris1> Is it part of some marathon?
< kris1> I will continue working on the weekend on ssRBM and GAN.
< lozhnikov> No, I just want to relax with my family
< kris1> I just need to clarify few things
< lozhnikov> usually, I don't participate in bicycle marathons
< kris1> 1. Gan: See my comment on Github 2. ssRBM: did you agree with slabPenalty can’t be used as a scalar i had commented upon Github
< lozhnikov> I replied at github to your comment about slabPenalty
< lozhnikov> I think it is possible to simplify expressions with slabPenalty
< lozhnikov> The second option is to use arma::diagmat()
< lozhnikov> but I think that arma::mat should work slowly in this case
< lozhnikov> regarding GAN:
< lozhnikov> I think it is possible to call optimize() only once instead of `numIterations` times
< lozhnikov> *once
< kris1> Your comment is to use arma::cumsum. So i think you mean to spike(i) * slabBias * arma::cumsum(weight.slice(i).t() * visible)
< kris1> Is that correct.
< lozhnikov> yeah, looks like that is correct, it isn't hard to verify
< kris1> okay.
< kris1> Can you explain how you would just call optimize just once for GAN.
< lozhnikov> maybe it is possible to add a counter to Gradient()
< kris1> The cause of problem for me seems to be that we have to generate the ouputs for optimisation of generator from the training of Discriminator.
< kris1> So if we have just call to the optimizer we can’t change the predictors and responses
< kris1> Also we can’t generate all the predictors and reponses in a matrix since we need to get the predictors from a trained Generator at a previous time step.
< kris1> Sorry for the 1st comment it generate oputputs for optimisation of discriminator from a trained generator.
< lozhnikov> I think you can move everything to the Gradient() function, I have to think about that
< kris1> But the evaluate function is called before the Gradient function and it utilizes the predictors as well as the responses.
< kris1> If we by pass the evaluate function. Then also it would not be possible since we have to train the generator to generate ouputs which would require us to return the gradients.
< lozhnikov> it is not hard to fix that. I think you needn't the noise matrix at all
< lozhnikov> that means you should reimplement the FFN:Gradient() function inside the GAN class
< kris1> Why woudn’t we need the noise matrix? The generator is trained on that input only.
< kris1> See point 2 above.
< lozhnikov> I think the noise matrix require some unnecessary operations
< lozhnikov> *requires
< kris1> Maybe you misunderstand me. I am saying for training of the generator at iteration i we need a generator that has been trained at iteration i -1. We generate the samples from the generator at iteration i and then call gradients function for updating it’s parameters. Sorry but i did not get your point on “noise matrix requires some unnecessary ops”
< lozhnikov> I think it is possible to generate samples inside GAN::Gradient()
< kris1> I think you can look at algorithm 1 from the goodfellow’s paper
< kris1> Aaah okay i get you point now…..
< lozhnikov> I think you can reimplement the algorithm that trains generator inside GAN::Gradient()
< kris1> Since the Gradient Function is being called n times we will train the generator and discriminator n times inside the gradient function.
< kris1> Really cool idea btw.
< kris1> Okay just the last thing should i test ssRBM on cifar 10 dataset(it’s pretty large > 1 GB). Because that is the only one that paper checks for classification accuracy.
< lozhnikov> hmm cifar-10 weights about 160MB https://www.cs.toronto.edu/~kriz/cifar.html
< kris1> That’s the pickled version.
< lozhnikov> I think we can start with that version
< kris1> okay…. i will do that then.
< kris1> I already have taken out the patches and done the preprocessing. So it would be easy.
< kris1> I think
< kris1> Thanks, Have great weekend.
< lozhnikov> I started the implementation of the mu-ssRBM, a successor of the ssRBM. It seems the mu-ssRBM solves some problems with rejection sampling. But it seems I am not in time, I'll finish that after this weekend
< lozhnikov> thanks
< kris1> Ohhh i think it already implemented here have a look https://github.com/gdesjardins/ssrbm
< lozhnikov> yeah, but I want to compare the mu-ssRBM with the ssRBM
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Client Quit]
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]
sumedhghaisas__ has joined #mlpack
< sumedhghaisas__> zoq: Hey Marcus. Hey Zoq... The gradients are finally correct for NTM. I will committing the code today. Next week we can do cool experiments...
< sumedhghaisas__> Just had couple of questions regarding the design.
< sumedhghaisas__> How do you think we should have the controller network right now?
< sumedhghaisas__> Currently I have hardocded the network...
< zoq> sumedhghais: Hello, with hardcoded you mean it's part of the NTM? I thought we could use a Wrapper class or something like (pass the controller to the NTM class), that way we could easily test different designs.
< zoq> Have you seen my last message about the test framework?
< zoq> sumedhghais: Not sure how the test framework looks like, maybe you can open a PR or something like that, so I was thinking if we need a visitor to call the specific method since we know the type?