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/
sumedhghaisas has quit [Quit: Ex-Chat]
sumedhghaisas has joined #mlpack
sumedhghaisas has quit [Ping timeout: 248 seconds]
mikeling has joined #mlpack
kris1 has joined #mlpack
vivekp has quit [Ping timeout: 255 seconds]
vivekp has joined #mlpack
partobs-mdp has joined #mlpack
< partobs-mdp> zoq: I've more or less done with adding separator. Let me share some observations:
< partobs-mdp> zoq: (more of a question) In my opinion, we should not add optional parameter addSeparator to AddTask - it's already a part of task specification
< partobs-mdp> zoq: In CopyTask I had worse results when I added the separator (on maxLen = 6 model quality dropped form 26% to 14%)
< partobs-mdp> zoq: (once again, more of a question) In that comment (https://github.com/mlpack/mlpack/pull/1005#issuecomment-313075884), what did you mean by the arma::mat methods (fixed length) - could you elaborate on that?
< partobs-mdp> zoq: By the way, I'm re-reading the code and I can't really see a place where separator can help (except CopyTask, but so far it proves to be detrimental). What am I missing?
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]
aashay has joined #mlpack
< zoq> partobs-mdp: About fixed length, right now we use arma::field to store a vector of different length. In my experiments, I've tested a fixed length representation for each sequence (max length over all sequences) and stored the results in arma::mat. So I think it's a good idea to provide an interface that takes arma::mat as input instead of arma::field.
< zoq> partobs-mdp: I agree adding an end marker for the Add task, has no real value.
vivekp has quit [Ping timeout: 258 seconds]
vivekp has joined #mlpack
shikhar has joined #mlpack
vpal has joined #mlpack
vivekp has quit [Ping timeout: 260 seconds]
vpal is now known as vivekp
vpal has joined #mlpack
vivekp has quit [Ping timeout: 258 seconds]
vpal is now known as vivekp
kris1 has joined #mlpack
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
kris1 has quit [Client Quit]
kris1 has joined #mlpack
shikhar has quit [Read error: Connection reset by peer]
< partobs-mdp> zoq: Almost made it (refactoring + adding static-length sequence generator). However, I'm badly stuck with some strange error which forces g++ to produces 27k+ lines of error messages (hard luck). It occurred after my changes in AddTask, which should have wrapped it up. The current (buggy) code is in my last commit to the task PR.
< zoq> partobs-mdp: let's see
ton has joined #mlpack
sumedhghaisas has joined #mlpack
kris1 has quit [Quit: kris1]
< zoq> partobs-mdp: I think, the default parameter causes the errors you see, see my latest comment. Have to build the code to take a look at the error messages.
< partobs-mdp> zoq: Moved default parameters, still nothing. I'll attach the `make` output in a moment
< zoq> partobs-mdp: Looks like it's related with the HAM unit code, can you remove that code from the PR?
< zoq> partobs-mdp: hm, it's not, removed all HAM releated code
kris1 has joined #mlpack
partobs-mdp has quit [Ping timeout: 246 seconds]
mentekid has quit [Quit: Leaving.]
mentekid has joined #mlpack
kris1 has quit [Quit: kris1]
chenzhe has joined #mlpack
chenzhe has quit [Client Quit]
ton has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
sumedhghaisas has quit [Ping timeout: 248 seconds]
aashay has quit [Quit: Connection closed for inactivity]
mikeling has quit [Quit: Connection closed for inactivity]
ton has joined #mlpack
sumedhghaisas has joined #mlpack
< sumedhghaisas> zoq: hey marcus. The gru layer tests are complete. Although some other tests are failing. Don't know why.
< zoq> sumedhghais: I see the FastMKS serialization test is failing.
< sumedhghaisas> zoq: yeah. what should we do about that?
< sumedhghaisas> also had a question about NTM memory implementation.
< sumedhghaisas> I should initialize the memory matrix with some random initial value right?
< zoq> sumedhghais: As long as it's not related with the code changes, we don't have to worry about this, but if you like to take a look feel free :)
< zoq> sumedhghais: Yes, I think I've seen someone using an LSTM network to for the intialization, I can see if I can find the paper.
< zoq> But, I don't think that's something we have to do.
< sumedhghaisas> zoq: I was thinking about a linear layer to which we pass a value. The linear layer can be passed through some non-linearity and then reshaped to get a memory matrix. This way the layer can be trained as well to decide the initial values.
< sumedhghaisas> what do you think?
< zoq> Sounds good, I guess a linear layer is fast enough to get some reasonable results without spending too much time on the initialization.
< sumedhghaisas> yeah. Thats what I was thinking. And a tanh non-linearity. Not a very complex structure.
< zoq> Yeah, if we make it somewhat customizable we can test different strategies, what do you think? Since initalization is important, that might make sense.
< sumedhghaisas> I agree. I will try to structure it such that its easily customizable. I am adding a memory layer in ANN layers so that we can use it in RNN framework.
< sumedhghaisas> Do you think thats a good idea?
< zoq> yeah, absolutely
< sumedhghaisas> Okay. I will try to templatize that thing to accept memory initialization policy.
< zoq> Okay, nice, I'll look over the PR tomorrow, looks good so far.
mentekid has quit [Quit: Leaving.]
< sumedhghaisas> zoq: Hey marcus, do we have a reshape layer?
< zoq> sumedhghais: not yet :)
< sumedhghaisas> ahh... Okay I will need that for NTM :) won't be that hard...
< sumedhghaisas> although I am not sure about the API
< sumedhghaisas> do you have any ideas?
ton has quit [K-Lined]
< zoq> hm, actually do we need a reshape layer? Couldn't we take the output of linear and use memptr() or something like that, if we create the memory of the NTM?
< sumedhghaisas> zoq: thats true. But if we do the same thing with abstraction, it might easier to read the code. But then memptr() can't be used I guess.
< zoq> hm, true, I guess a simple layer would take the the output size as parameter:
< zoq> class Reshape
< zoq> {
< zoq> Reshape(output size)
< zoq> Forward(....)
< zoq> }
< sumedhghaisas> zoq: okay I will think about that. Do you know any good strategy to differentiate the circular convolution?
ton has joined #mlpack
ton has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
sumedhghaisas has quit [Ping timeout: 248 seconds]