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 joined #mlpack
kris1 has quit [Quit: kris1]
govg has quit [Ping timeout: 240 seconds]
govg has joined #mlpack
< ironstark> rcurtin: zoq: Now that R implementations have been added I would like to start working on the webpage and the charts. I see that some of it is already implemented and can be seen at http://mlpack.org/benchmarks.html I just wanted to ask from where to begin for preparing this webpage?
< lozhnikov> kris1: the shape of the output of the second convolutional layer doesn't correspond to the shape of the input of the third convolutional layer
< lozhnikov> try the following:
< lozhnikov> generator.Add<Convolution<>>(gInputDim / 2, gInputDim / 4, 3, 3, 2, 2, 15, 15, 28, 28);
< lozhnikov> i.e. replace 14 by 15
< lozhnikov> Actually, these arguments look strange since the padding size is greater than the filter size
< lozhnikov> are you sure that the stride size is correct?
< lozhnikov> I looked through the oreilly example. You forgot that they use each time tf.image.resize_images(g2, [56, 56])
< lozhnikov> So, in that example the size of the output of each convolutional layer is equal to 28x28
< lozhnikov> and tf.image.resize_images() restores the original size (56*56)
kris1_ has joined #mlpack
sumedhghaisas has quit [Quit: Ex-Chat]
sumedhghaisas_ has joined #mlpack
sumedhghaisas_ has quit [Client Quit]
sumedhghaisas__ has joined #mlpack
bvr has joined #mlpack
bvr has quit [Client Quit]
bvr has joined #mlpack
lozhnikov has quit [Excess Flood]
lozhnikov has joined #mlpack
< zoq> ironstark: I like the idea from the proposal; using e.g. Chartist.js to create a more interactive data view. I guess it would be a good idea to start with a demo that shows all the functionality you like to intergarte into the view. Currently the data is stored in a mysql database, we can provide a database dump that you could use. Let us know what you think.
kris1_ has quit [Quit: kris1_]
kris1 has joined #mlpack
sumedhghaisas__ has quit [Ping timeout: 240 seconds]
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
< kris1> Lozhnikov: I was able to get the results for this test https://github.com/bstriner/keras-adversarial/blob/master/examples/example_gan.py using keras ....
< kris1> Here are some of the output images....
govg has quit [Ping timeout: 240 seconds]
< kris1> I have implmented the networki in mlpack i will test it once i get the Gan working on the digits dataset.
< lozhnikov> which dataset did you use?
< kris1> I used the full mnist dataset.
< kris1> I had pm you regarding the error i am facing with the pach that you sen’t did you get the messages.
< lozhnikov> hmm.. but your results don't look like digits. in that case there is no need to implement this test. it doesn't work at all
< lozhnikov> I replied. Did you receive my messages?
< kris1> No actually not.
< lozhnikov> diff --git a/src/mlpack/methods/ann/gan_impl.hpp b/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> index 0b787443c..97f945979 100644
< lozhnikov> --- a/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> +++ b/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> @@ -136,7 +136,7 @@ double GAN<Model, InitializationRuleType, Noise>::Evaluate(
lozhnikov has quit [Excess Flood]
lozhnikov has joined #mlpack
< lozhnikov> oh, I hit the wrong button
< lozhnikov> diff --git a/src/mlpack/methods/ann/gan_impl.hpp b/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> index 0b787443c..97f945979 100644
< lozhnikov> --- a/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> +++ b/src/mlpack/methods/ann/gan_impl.hpp
< lozhnikov> @@ -136,7 +136,7 @@ double GAN<Model, InitializationRuleType, Noise>::Evaluate(
lozhnikov has quit [Excess Flood]
lozhnikov has joined #mlpack
< kris1> Ahh i did reply to that here are my replies ....
< kris1> That does not fix it for me….. std::normal_distribution(); required that we give randGen object
< kris1> My program dosen’t even compile btw. I mean the random number engine object. Also for the dataset i am using digits_train.arm file .Are you using the same. With randGen the problem persists.
< lozhnikov> I hit the wrong button. 2 last messages contain the fix
< lozhnikov> I've sent you the program. Look at gan.cpp
< kris1> Yup… i used that program only…. my question is in your fix you said that the remove randGen parmeter to the noiseFunction right.
conrad_ has joined #mlpack
< lozhnikov> yes, randGen is not needed
< kris1> Hmm okay i will try once again. Just give me 15 min.
< lozhnikov> I'll repeat since there were a lot of messages.
< lozhnikov> Your results (http://imgur.com/a/IeTn2) don't look like digits. in that case there is no need to implement this test. it doesn't work at all
< kris1> How would std::uniform_real_distribution be able to create random number with the random engine.
< lozhnikov> I don't use std::uniform_real_distribution
< kris1> Also for the link i sent there are 3 images i think you only looked at the starting image.
< kris1> The starting image is of epoch 0.
< lozhnikov> oh, I saw only the first one
< lozhnikov> I sent you the wrong file
< lozhnikov> as for me the oreilly example shows better results than your test since the oreilly example generates different digits
< kris1> Also i was just testing the ssRBM implmentation with 30 epoch hidden size 80 accuraccy ~79% the time is around 4 min all the three tests. So i don’t think that time is issue.
< lozhnikov> Travis tells that RbmNetworkTest wastes 1276.57 sec
< lozhnikov> kris1: what about the oreilly example?
< kris1> Test project /Users/kris/Desktop/GsoC2k17/mlpack/build
< kris1> Start 1: RbmNetworkTest
< kris1> 1/1 Test #1: RbmNetworkTest ................... Passed 105.38 sec
< kris1> 100% tests passed, 0 tests failed out of 1
< kris1> Total Test time (real) = 105.41 sec
< kris1> this is on my local machine with epoch 25 and hidden size 100.
< kris1> I am still trying to get their architechture. My present implmentation dosen’t work.
< kris1> I saw you comments on convolution problem in the evening only i will work on it after dinner i guess.
< lozhnikov> hmm... I sent them in the morning, our timezones don't differ a lot
conrad_ has left #mlpack []
< kris1> I only saw once i checked the logs……
< lozhnikov> okay, I'll repeat.
< lozhnikov> kris1: the shape of the output of the second convolutional layer doesn't correspond to the shape of the input of the third convolutional layer
< lozhnikov> try the following:
< lozhnikov> generator.Add<Convolution<>>(gInputDim / 2, gInputDim / 4, 3, 3, 2, 2, 15, 15, 28, 28);
< lozhnikov> i.e. replace 14 by 15
< lozhnikov> Actually, these arguments look strange since the padding size is greater than the filter size
< lozhnikov> are you sure that the stride size is correct?
< lozhnikov> I looked through the oreilly example. You forgot that they use each time tf.image.resize_images(g2, [56, 56])
< lozhnikov> So, in that example the size of the output of each convolutional layer is equal to 28x28
< lozhnikov> and tf.image.resize_images() restores the original size (56*56)
< kris1> I do agree with the comments just one thing how do you resize the images from 28*28 to 56*56 are you padding them with zeros?
< kris1> tf resize function implmentation once.
< lozhnikov> we have to insert a layer that resizes images
< kris1> Hmmm okay i think i would implment such a layer in that case. But i am not sure how would backpropogate through such a layer.
< lozhnikov> that shouldn't be difficult, the layer even hasn't got weights
< kris1> Okay got your point. There is something called transposed convolution i think that is better the DCGAN paper uses that. I was trying to implment that.
< kris1> But i have to understand that fully yet.
< lozhnikov> we didn't test that yet. but we tested the oreilly example a lot. so, I think it is better to implement the oreilly example first
< kris1> Okay…. but i think it is better if we do fractional convlution since both are doing interpolation. One is doing it in a backpropgable way.
< kris1> I will implemnt the bilinear interpolation layer by tonight and then create a diffrent PR.
< lozhnikov> sounds good
< zoq> kris1: It might be helpful to take a look at the Glimpse layer in particular ReSampling.
< kris1> Okay thanks i will have a look at it. I have update the ssRBM PR ctest on my local machine takes 105.38s for all the 3 test with ssRBM accuarcy being reduced to 78.2%
govg has joined #mlpack
< zoq> kris1: Okay, let's wait for the travis timings.
kris1 has quit [Quit: kris1]
< rcurtin> ironstark: great, if you want to work on the webpage side, here are a couple ideas:
< rcurtin> - take a look at the PR I just opened for the sweep view and review it: https://github.com/mlpack/benchmarks/pull/106 -- comment if you find anything wrong or anything that could be improved :)
< rcurtin> - run some small benchmark jobs on Jenkins (I'd suggest using a small configuration) in order to thoroughly test some methods
< rcurtin> - like Marcus suggested maybe chartist.js might be worth looking into
< rcurtin> one of the things I have been trying to focus my time on is assembling a set of a few focused benchmarks of mlpack, as opposed to a lot of benchmarks that are harder to interpret
< rcurtin> so another idea might be to spend some time working on a configuration for one specific method, making sure that a good collection of datasets is used and that the benchmarks run successfully for each method
< rcurtin> ironstark: also if you can fix the issues with PR #101, I think we can merge it after that
kris1 has joined #mlpack
< kris1> lozhnikov: How do you use irccloud on your laptop( I am assuming this). I use colloquy and it basically is pretty bad so was thinking of switching...
< lozhnikov> kris1: it doesn't depend on your PC type. I mean it doesn't matter which PC you are using (laptop or desktop). irccloud works via a browser
kris_ has joined #mlpack
< lozhnikov> kris1: actually, that's a paid service rather than an app. If you are looking for free alternatives and you've got a static IP at home you could set up a bouncer instead. Actually, you needn't even a static IP, you could use dynamic DNS
< kris1> Ahhh thanks i will have a look….
kris__ has joined #mlpack
< kris1> zoq: travis failed again.
< kris1> I do not understand why on debug on option it is failing…
< kris1> Also the 1st travis ci machine passes the test in 1hr 6 min but the second test fails at 1hr 4 min ??
< lozhnikov> kris1: you forgot about the time required for compilation
< lozhnikov> The release build of RbmNetworkTest wastes 717.55 sec. The debug build should waste more time
< lozhnikov> for example RecurrentNetworkTest takes 145.21 sec in release mode and 384.00 sec in debug mode
< kris1> Ok…. still i don’t get how does the second build stop at the 1hr 4 min it should have a higher build time if debug mode is on.
< lozhnikov> the test reached the time limit
< zoq> Each travis build has a specific time limit, and travis will stop the build if it takes longer than x minutes, in our case the build will timeout after 70 minutes.
< kris1> Okay i will try to reduce the epoch size 20 and check…
kris__ has quit [Quit: Connection closed for inactivity]
kris_ has quit [Quit: Connection closed for inactivity]
< kris1> For bilinear interpolation or any resize image how would the use define the backward pass.
< kris1> ie the gradients coming in would be 56 * 56 and outgoing would be 28 * 28.
sumedhghaisas__ has joined #mlpack
sumedhghaisas__ has quit [Ping timeout: 240 seconds]
< ironstark> zoq: rcurtin: Thanks for all the ideas. I'll look into it.
< ironstark> I tried moving the dlibml make file to methods/dlibml/src/build_scripts.sh
< ironstark> but how to use LIBPATH and INCLUDEPATH there>
< ironstark> I am getting the following error:
< ironstark> ./build_scripts.sh: 1: ./build_scripts.sh: shell: not found
< ironstark> ./build_scripts.sh: 1: export: :: bad variable name
< ironstark> doing a pwd in build_scripts would return path till src
< ironstark> how to get path till only home
< zoq> kris1: Depending on what the user specified at the layer construction, either new image size or resize factor you should be able to reconstruct the necessary parameters for the Forward and Backward pass, in your case all you need to know is the resize value is 2?
< zoq> ironstart: You could pass the path information, something like: https://github.com/mlpack/jenkins-conf/blob/master/linter/lint.sh what do you think? Does this solve the home path problem?
< zoq> ironstart: About the shell not found error maybe the header isn't right? maybe you can push the script.
< kris1> zoq: are you saying the how we upsample the image. We would downsample the gradients when going backward
< zoq> In this case, yes you can use the parameter from the Forward pass.
< kris1> Hmmm, yes when you say parameter what do you mean exactly…. there are no learnable parameters for the resize layer as such..........
< zoq> I mean the scaling factor or new image size (width/height).
< kris1> I have a have baked version here have a look …..https://gist.github.com/kris-singh/f0f510a7182949a2c12abbd64937e820
< kris1> Does it look okay to you??
< ironstark> zoq: Sure I'll do it after doing the required changes in #104 and #105
< zoq> kris1: The Forward function looks good, but I would write a simple test case to make sure the math is correct and we both haven't missed something.
sumedhghaisas__ has joined #mlpack
< kris1> Hmmm so the backward function would in that case be just the forward function with output and input reversed, right?
< zoq> kris1: multiplied with the error, you can bascially just use the ReSampling and DownwardReSampling function from the glimpse layer.
< kris1> But i gy would be one dim vector so i would have to resize it first and then make it go through the forward pass….
sumedhghaisas__ has quit [Ping timeout: 240 seconds]
< zoq> yes, or rewrite the function so that it can handle a 1 dim vector :)
< kris1> Ahhh okay….
< zoq> krs1: If you write a test for the interpolation layer (compare against e.g. a manually calculated input/output pair), I can help/write the backward pass for you.
< kris1> Not fully sure how to do test this in a neural network setting though. I can test it out as indivisual layer but testing out as part of nn is tricky i guess.
< zoq> testing it independently is just fine
< kris1> Ahhh okay then i think writing a test would be simple. I will write it out after i finish the implmentation.
kris1 has quit [Quit: kris1]
kris1 has joined #mlpack
< kris1> lozhnikov: I still can’t recreate your results with the digits dataset. The trainloss does not go down for me. Even though i used the patch as you had suggested.
< kris1> My generated results are totally random.
< kris1> zoq: I was able to implement the ResizeLayer. Have a look here https://github.com/kris-singh/mlpack/tree/ResizeLayer
< kris1> But i am getting weird undefined symbol error for Reset Function in the linear layer
< kris1> Also should i do this as a seprate PR or should i just include this in the Gan PR.