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/
caiojcarvalho has joined #mlpack
cjlcarvalho has joined #mlpack
caiojcarvalho has quit [Ping timeout: 256 seconds]
< Atharva>
zoq: Will it be okay if we serialize the parameters in the Sequential object?
< Atharva>
I am saving the model and the encoder/decoder after training. But, there isn't any easy way to load the Sequential encoder and decoder with the trained parameters. The only option that I see is manually taking the parameters from the entire saved network and setting them in the Sequential object, but again there isn't any Reset function in the Sequential object to set the weights.
< Atharva>
Maybe we could take a parameter while constructing it that says whether to serialize the weights or not.
< zoq>
Atharva: If you call ResetParameters of the ffn class it should set the weights, does this work for you?
< zoq>
Atharva: Or do you like to use the seq layer without the ffn class?
< Atharva>
zoq: Yes, I want to train it with the FFN class but then use it without it.
< Atharva>
zoq: I don't think the ResetParameters will help in this case.
< zoq>
Atharva: Sorry for the slow response, had to step out. I don't like the idea to introduce a function just for testing, but I don't see an easy solution right now, I guess we can go with the serialize parameter for now.
< Atharva>
zoq: I don't think this is just for testing. Even I needed it for building VAE models. I think it will be very useful in cases where you need to work on the sequential object differently which is probably one of the main uses of that object. Without it, I had to load the entire model, construct a sequential decoder, then add the exact same layers to it again. After that, I had to calculate how many parameters from the entire
< Atharva>
network were for the decoder and then set those in the deocder.
< Atharva>
Also, I think we will need to add a Reset() function in the sequential object which sets the weights of the layers in it.
< zoq>
Atharva: Agreed, it's probably useful for other use cases as well.
< Atharva>
zoq: Okay then, should I add these to the ReconstructionLoss PR or a new PR?
< Atharva>
Also, we will set the default serialize to false. So, it will only serialized in cases where it's needed.
< zoq>
Atharva: hm, can you open a new one?
< Atharva>
Yes! no problem
< Atharva>
It was getting too long anyways
< ShikharJ>
zoq: I have updated the FFN::EvaluateWithGradient PR, can you please take a look?
< Atharva>
zoq: I am just curious. Can you tell me the use cases for which the Sequential object was implemented in the first place?
< zoq>
Atharva: I used the seq layer for the recurrent neural attention model.
< Atharva>
zoq: Oh, okay.
steffen_ has joined #mlpack
< steffen_>
hi
steffen_ has quit [Client Quit]
< zoq>
steffen_: Hello, there!
travis-ci has joined #mlpack
< travis-ci>
manish7294/mlpack#62 (evalBounds - 0a77354 : Manish): The build was fixed.
< ShikharJ>
zoq: How can I run gdb with mlpack_test?
caiojcarvalho has joined #mlpack
cjlcarvalho has quit [Ping timeout: 256 seconds]
< rcurtin>
ShikharJ: configure with -DDEBUG=ON then you should be able to do 'gdb bin/mlpack_test' just fine
< ShikharJ>
rcurtin: What should be the command if I want to run gdb on a particular test?
manish7294 has joined #mlpack
< manish7294>
ShikharJ: this is how I used to do-
< manish7294>
gdb bin/mlpack_test
< manish7294>
then inside gdb command
< manish7294>
run -t LMNNTest (Just any test name)
< ShikharJ>
manish7294: Thanks! That makes sense.
< manish7294>
You can also do this for command line programme, just do -> run -i iris.csv .......
< manish7294>
and then run -> where command
< manish7294>
for backtrace
caiojcarvalho has quit [Read error: Connection reset by peer]
manish7294 has quit [Ping timeout: 252 seconds]
vivekp has quit [Ping timeout: 240 seconds]
caiojcarvalho has joined #mlpack
cjlcarvalho has joined #mlpack
caiojcarvalho has quit [Ping timeout: 256 seconds]
vivekp has joined #mlpack
< ShikharJ>
zoq: rcurtin: I'm seeing atleast a 30% speedup in time duration per call to EvaluateWithGradient for simple FFN networks!
vivekp has quit [Read error: Connection reset by peer]
witness_ has joined #mlpack
< zoq>
ShikharJ: Great, thanks for the timings!
vivekp has joined #mlpack
< rcurtin>
great! "_
< rcurtin>
er, :) instead of "_
< rcurtin>
fingers off by one error...
< ShikharJ>
rcurtin: I'm compiling the code to check for RNNs now. Will let you know.
< rcurtin>
awesome, I'd imagine the speedup should be roughly the same
< rcurtin>
it will definitely be great to get that merged in
< Atharva>
ShikharJ: That's awesome!
< zoq>
Agreed, do you like to push the RNN modification to the same PR?
< ShikharJ>
zoq: Yes, I have made some changes in the same branch. I'll push the code shortly after benchmarking.
< zoq>
ShikharJ: Okay, sounds good :)
vivekp has quit [Ping timeout: 260 seconds]
< ShikharJ>
rcurtin: zoq: For RNNs, the speedup is slightly lower at ~22 to ~25%.
< ShikharJ>
This maybe because in RNNs we have more time consuming steps in Gradient function. In both FFNs and RNNs, we were saving one Evaluate() call.
< rcurtin>
right, still, it's a very good speedup :)
< zoq>
right, really happy with the timings
cjlcarvalho has quit [Ping timeout: 256 seconds]
< ShikharJ>
zoq: Pushed in the code. Let's see if the tests pass (they work fine on local, but I didn't run all of them). I'll be off for now. This was a good day!
< zoq>
ShikharJ: Yeah, let's see if everything passes, thanks for the great work!