mlpack IRC logs, 2017-03-01

Logs for the day 2017-03-01 (starts at 0:00 UTC) are shown below.

March 2017
--- Log opened Wed Mar 01 00:00:03 2017
--- Day changed Wed Mar 01 2017
00:00 < kris1> it works now. Thanks
00:01 < kris1> Anyway its going to be morning here soon. so i better get some sleep. I hope to complete qlearning by tommrow.
00:02 < zoq> Oh, okay, sounds great, good night.
00:27 < arunreddy_> zoq: Can I also do nesterov momentum. It's going to be small addition to momentum sgd?
00:29 < arunreddy_> Do you prefer adding a flag to MomentumSGD class to creating a new NesterovMomentumSGD class?
00:39 < zoq> arunreddy_: Someone is already working on the Nesterov's Accelerated Gradient method. I think I've seen a paper that integrates Nesterov momentum into Adam, maybe that's another interesting method. I'll see if I can find the paper, just glimpsed over it the last time.
00:39 < zoq> But, I can't search for the paper right now, so expect my response tomorrow.
00:43 < arunreddy_> Thanks zoq.
00:44 < arunreddy_> zoq: Are you referring to ?
00:45 < arunreddy_> "Incorporating Nesterov Momentum into Adam"
00:46 < zoq> The title sounds promising :)
00:54 -!- kris1 [~kris@] has quit [Ping timeout: 260 seconds]
01:30 -!- mikeling [uid89706@gateway/web/] has joined #mlpack
01:41 < arunreddy_> :)
02:06 -!- flyingpot [~flyingpot@] has joined #mlpack
02:11 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 268 seconds]
03:40 -!- govg [~govg@unaffiliated/govg] has quit [Ping timeout: 260 seconds]
03:47 -!- vinayakvivek [uid121616@gateway/web/] has joined #mlpack
03:56 -!- govg [~govg@unaffiliated/govg] has joined #mlpack
04:08 -!- flyingpot [~flyingpot@] has joined #mlpack
04:12 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
04:14 -!- mani [dce3c58a@gateway/web/freenode/ip.] has joined #mlpack
04:15 -!- mani is now known as Guest8166
04:15 < Guest8166> hi i am interested in machine learning and c++. i need some help to start.
04:17 -!- Guest8166 [dce3c58a@gateway/web/freenode/ip.] has quit [Client Quit]
04:18 -!- mani36 [dce3c58a@gateway/web/freenode/ip.] has joined #mlpack
04:35 -!- Shihao [407978c3@gateway/web/freenode/ip.] has joined #mlpack
04:37 < Shihao> Hi there! I just want ask a question about issue593. 'Classify' function seems use sum of log probability to calculate max probability.
04:37 -!- wwhite [0e8b5206@gateway/web/freenode/ip.] has joined #mlpack
04:38 < Shihao> Should I just output that probability value? It seems ugly.
04:40 < Shihao> Here is the probability of one test data: '0.173633 -40.6168 -51.9916'. Even though it's correct, maybe It does not give us a intuitive probability value.
04:42 -!- wwhite [0e8b5206@gateway/web/freenode/ip.] has quit [Client Quit]
04:53 -!- Shihao [407978c3@gateway/web/freenode/ip.] has quit [Quit: Page closed]
05:00 -!- mani36 [dce3c58a@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
05:24 -!- Akash__ [cb6ef215@gateway/web/freenode/ip.] has joined #mlpack
05:30 -!- Akash__ [cb6ef215@gateway/web/freenode/ip.] has left #mlpack []
06:09 -!- flyingpot [~flyingpot@] has joined #mlpack
06:13 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
07:40 -!- harry__ [0e8bee62@gateway/web/freenode/ip.] has joined #mlpack
07:40 < harry__> hii i like to contribute how to get started?
07:55 < govg> harry__: Have you looked at the getting started pages here :
07:56 -!- Thyrix [~Thunderbi@] has joined #mlpack
07:56 -!- kris1 [~kris@] has joined #mlpack
07:56 -!- kris1 [~kris@] has left #mlpack []
07:56 -!- kris1 [~kris@] has joined #mlpack
07:59 -!- kris2 [~kris@] has joined #mlpack
07:59 -!- shikhar [67d49def@gateway/web/freenode/ip.] has joined #mlpack
08:03 -!- kris1 [~kris@] has quit [Ping timeout: 260 seconds]
08:08 -!- Smeet [~smeet@] has joined #mlpack
08:08 -!- harry__ [0e8bee62@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
08:20 -!- rainbowtiara [0e8b5206@gateway/web/freenode/ip.] has joined #mlpack
08:20 -!- rainbowtiara [0e8b5206@gateway/web/freenode/ip.] has quit [Client Quit]
08:28 -!- cifar [46a25370@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
08:45 -!- vinayakvivek [uid121616@gateway/web/] has quit [Quit: Connection closed for inactivity]
08:55 -!- mayank [75fc0322@gateway/web/freenode/ip.] has joined #mlpack
08:56 < mayank> how do i make only the core files in src/mlpack/
09:01 < shikhar> mayank: `make mlpack` will build the library, if that is what you want
09:03 < mayank> but that builds all the files, even the once i did not change
09:04 < shikhar> Probably the files that were rebuilt depended on the files you changed
09:11 -!- flyingpot [~flyingpot@] has joined #mlpack
09:15 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
09:17 -!- mayank [75fc0322@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
09:39 -!- Smeet [~smeet@] has quit []
10:30 -!- shikhar [67d49def@gateway/web/freenode/ip.] has quit [Quit: Page closed]
10:38 -!- kaus19 [cb6ef207@gateway/web/freenode/ip.] has joined #mlpack
10:43 -!- Narayan [6ad0b662@gateway/web/freenode/ip.] has joined #mlpack
10:43 < kaus19> hello..I am new here. I want to contribute to mlpack.. Can anyone help me get started..
10:50 -!- kaus19 [cb6ef207@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
10:52 -!- kaus19 [cb6ef216@gateway/web/freenode/ip.] has joined #mlpack
10:57 -!- Narayan [6ad0b662@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
11:07 -!- mikeling [uid89706@gateway/web/] has quit [Quit: Connection closed for inactivity]
11:13 -!- flyingpot [~flyingpot@] has joined #mlpack
11:17 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 258 seconds]
11:26 -!- abhijeet [67157d4d@gateway/web/freenode/ip.] has joined #mlpack
11:27 < abhijeet> Hi, I've installed mlpack and I'm trying my hand at it...
11:27 < abhijeet> I've used knn just to get familiar with the workflow
11:27 < abhijeet> however I have a doubt... how can I set up the environment for development of mlpack ?
11:28 < abhijeet> can anyone suggest me how to go about setting a development environment for mlpack ?
11:42 < govg> kaus19: Have you looked at the getting started pages here :
11:43 < govg> abhijeet: What do you mean by development environment?
11:43 -!- kaus19 [cb6ef216@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
11:46 < abhijeet> govg: what I meant was... currently I installed mlpack using Ubuntu's package manager... so relevant files are in usr/include/mlpack/
11:46 < abhijeet> so everytime I want to modify them I have to go there and do the changes
11:47 < abhijeet> is there another way... where we can make the changes to the cloned repo and use changes directly
11:47 < govg> So I'm not sure if this is the recommended way, but you can use git to clone the repo, then work on that.
11:47 < govg> You don't have to do the make install step, instead you can run the executables directly.
11:48 < abhijeet> yeah that's fine... I can clone the repo and make the changes... but then they won't be reflected globally right ?
11:48 < govg> No, and that's a good thing, right?
11:48 < abhijeet> what I want is to clone the repo make the changes and use those changes like regular mlpack installation
11:48 < govg> Clone, make the changes, then run make mlpack_xyz (where xyz is the features you changed)
11:49 < govg> And then from the build directory you can find that executable, which can be executed as ./mlpack_xyz
11:49 < abhijeet> okk... so basically what you are saying is I have to clone the repo and build mlpack from the source right ?
11:49 < govg> One way to force your terminal to use the local copy (instead of /usr/include) is to add the bin folder to your path.
11:49 < govg> Yeah, exactly.
11:49 < govg> And don't install the built executables.
11:50 < govg> Let them live in the /bin folder inside the build directory.
11:50 < govg> rcurtin or zoq can specify if there's a better alternative.
11:50 < kris2> one question if we are using DecomposableFunctionType& function in sgd
11:50 < kris2> we are assuming that function here has 2 methods
11:50 < abhijeet> okk... thanks so much... will try building from the source
11:51 < kris2> 1. num_functions 2. evaluate.
11:51 < kris2> but where is the function defined i am not able to get that
11:53 -!- mentekid [] has quit [Ping timeout: 268 seconds]
11:53 < kris2> also the gradient function is defined in function
11:54 < kris2> so i think we would have to create such a function and pass it to sgd right
11:55 < kris2> i think i get it
11:55 < kris2> now
11:59 -!- Thyrix [~Thunderbi@] has quit [Quit: Thyrix]
12:04 -!- snd [7a0fc87e@gateway/web/freenode/ip.] has joined #mlpack
12:18 -!- govg [~govg@unaffiliated/govg] has quit [Ping timeout: 246 seconds]
12:28 -!- flyingpot [~flyingpot@] has joined #mlpack
12:35 -!- snd [7a0fc87e@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
12:35 -!- kris2 [~kris@] has quit [Ping timeout: 264 seconds]
12:36 -!- kris1 [~kris@] has joined #mlpack
12:39 < vivekp> zoq: Regarding SMORMS3, do you think the following implementation for the second last update step is correct?
12:39 < vivekp> double x = arma::as_scalar(g * (g / (g2 + eps)))
12:39 < vivekp> iterate -= gradient * std::min(x, lRate) / (arma::sqrt(g2) + eps)
12:40 < vivekp> The blog post doesn't provide much technical details about the parameters used and the update steps.
12:40 < vivekp> 'm relying on my guesses based on my previous experience with implementing AdaMax and general understanding of gradient descent optimization algos.
12:41 < vivekp> So, I've a feeling that something's not correct.
12:41 < vivekp> Here's my implementation of all update steps: h
12:41 < vivekp> Do you mind taking a look?
12:57 < vivekp> Looks like Simon's blog is dowm atm. Don't know how long it's been down.
12:57 -!- shikhar [67d49def@gateway/web/freenode/ip.] has joined #mlpack
13:06 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 258 seconds]
13:10 -!- govg [~govg@unaffiliated/govg] has joined #mlpack
13:26 < kris1> in mlpack looking at the optimiser i find this that at many places (1 - rho) * (dx % dx) means (1- rho) * square(dx).
13:26 < kris1> How is that
13:26 < kris1> isn't % operator the modulo operator
13:29 < kris1> am i missing somehing
13:31 < shikhar> here % is the Schur product (element wise multiplication)
13:33 < kris1> oh thanks. so you means its overloaded in some file.
13:34 < shikhar> Yup. See :
13:35 < kris1> shikhar:aah, thanks very much
13:44 < zoq> vivekp: second last is: 'p = p - grad*min(lrate, g*g/(g2 + epsilon))/(sqrt(g2)+epsilon)' ?
13:46 < zoq> vivekp: Also note that: '(Where products, divides, and min are element-wise.)' so, you should use % instead of *.
13:49 < zoq> kris1: Right, the function has to implement NumFunctions, Evaluate and Gradient.
13:50 < zoq> kris1: An example is given in rmsprop_test.cpp, in that case we optimize the SGDTestFunction function which is defined in core/optimizers/sgd/test_function.hpp.
14:03 -!- flyingpot [~flyingpot@] has joined #mlpack
14:03 < vivekp> zoq: yes, second last is: 'p = p - grad*min(lrate, g*g/(g2 + epsilon))/(sqrt(g2)+epsilon)'
14:04 < vivekp> and yes, I used % instead of * for element wise multiplication except the places where we need to multiply a scalar value with a matrix.
14:05 -!- Sinjan_ [721de187@gateway/web/freenode/ip.] has joined #mlpack
14:08 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 260 seconds]
14:08 -!- pg5 [3d0c28b1@gateway/web/freenode/ip.] has joined #mlpack
14:08 < zoq> vivekp: But shouldn't it be: (g % g) / (g2 + epsilon) instead of g * (g / (g2 + eps)?
14:12 < kris1> zoq: How to only make the optimizer is there something like make mlpack_optimizers
14:14 < zoq> kris1: no, 'make', but it should only build modified files and files that include the modified file.
14:17 < shikhar> zoq: Can you please take a look at and give me a hint
14:18 -!- mikeling [uid89706@gateway/web/] has joined #mlpack
14:18 < rcurtin> shikhar: I will look, hang on
14:19 < rcurtin> I was thinking abput it yesterday but did not have time to answer
14:20 < vivekp> zoq: Are you referring to line 17 here: ?
14:20 < shikhar> rcurtin: Perhaps we could use sfinae_utility.hpp and check if the type has a raw_print function, instead of using the is_arma_type
14:23 -!- pg5 [3d0c28b1@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
14:24 -!- vinayakvivek [uid121616@gateway/web/] has joined #mlpack
14:28 < zoq> vivekp: yes
14:28 -!- Sinjan_ [721de187@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
14:31 < vivekp> I think if we go by the BODMAS rule, g should be first divided by (g2 + eps) and then multiplied.
14:31 < rcurtin> shikhar: that's another solution, if you like that more I think it cpuld be fine
14:31 < rcurtin> *could
14:32 < vivekp> Also, I found this -- might provide some hints
14:32 < rcurtin> but the include ordering issue should be pretty simple to take care of... I think :)
14:32 < shikhar> Yes. I'm on it
14:33 < rcurtin> sure, hopefully it doesn't turn out to be more complex than I thought :)
14:34 < mikeling> huyssenz: hey, are you online? Do you got any progress on RBM and other deep learning module :)
14:34 < zoq> vivekp: Sure, divide it by (g2 + eps) first, fine with me :)
14:35 < vivekp> zoq: Another concern in line 17 is that whether I used to_scalar function correctly. :)
14:36 < vivekp> I mean as_scalar
14:37 < zoq> vivekp: I'm pretty sure min(lr, x) returns a matrix, since the gradient does not depend on on other gradients.
14:38 -!- Shihao [80b4976e@gateway/web/freenode/ip.] has joined #mlpack
14:39 < zoq> vivekp: numpy.minimum(x, also returns an numpy array with size of x
14:42 < Shihao> Hi zoq, I just want ask a question about issue593. 'Classify' function seems use sum of log probability to calculate max probability.
14:42 < Shihao> Should I just output that probability value? It seems ugly. Here is the probability of one test data: '0.173633 -40.6168 -51.9916'. Even though it's correct, maybe It does not give us a intuitive probability value.
14:45 < vivekp> zoq: okay, I see what's wrong with line 17 and 19. We don't want a scalar value out of g * g / (g2 + eps)
14:46 < vivekp> but would arma::min accept different parameter types i.e. double lRate and arma::mat x?
14:51 -!- jarvis_ [ca4ea9f3@gateway/web/freenode/ip.] has joined #mlpack
14:51 -!- Shihao [80b4976e@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
14:54 -!- jarvis_ [ca4ea9f3@gateway/web/freenode/ip.] has quit [Client Quit]
14:57 < zoq> vivekp: I'm not sure, you probably have to use another matrix filled with lr or a for loop.
14:59 < zoq> rcurtin: Shihao: I haven't looked at the issue yet, maybe rcurtin had a chance.
15:00 < rcurtin> ah, sorry, Shihao, I'll take a look in a few minutes
15:00 < vivekp> zoq: Okay thanks, I'll try that
15:00 < vivekp> also I should probably write tests and verify the implementation
15:05 -!- flyingpot [~flyingpot@] has joined #mlpack
15:07 -!- rainbowtiara [0e8b5206@gateway/web/freenode/ip.] has joined #mlpack
15:07 < zoq> vivekp: We all love tests :)
15:10 < rcurtin> I have to wonder, with all of the tests in our large test suite and with all of the machines that are continually building mlpack, how many tons of CO2 have been released while running mlpack tests? or how much power has been used? :)
15:11 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 260 seconds]
15:11 < rainbowtiara> I have an idea about the methods used in machine learning and I'm looking forward to work on this. Can you help me how to start with?
15:12 < rcurtin> rainbowtiara: hello there, there are some nice pages online about what to do to get started
15:12 < rcurtin> see and
15:13 < zoq> rcurtin: I'm sure, if you open an issue on Github, someone will write some lines to figure it out; getting the Travis and appveyor results might be a problem
15:13 < zoq> :)
15:13 < rcurtin> haha
15:14 -!- jarvis_ [ca4ea9f3@gateway/web/freenode/ip.] has joined #mlpack
15:16 < jarvis_> zoq: What is your final word on Inception v4 vs VGGNet? I am mostly satisfied with Inception, let me know if I have the green signal.
15:17 < jarvis_> Also, can you please give me your opinion on how I can make a strong proposal. Thanks.
15:18 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has joined #mlpack
15:21 < rcurtin> jarvis_: there's a lot of information online about putting together a good proposal, I suggest you search around and compile the information that you can
15:21 < rcurtin> for mlpack, probably the best guidelines you'll find will be at and on the ideas page
15:23 < jarvis_> Thanks : )
15:23 < vivekp> zoq: All tests pass. I'm going to open a PR within an hour. Thanks for pointing out mistakes in the code.
15:24 -!- jarvis_ [ca4ea9f3@gateway/web/freenode/ip.] has quit [Quit: Page closed]
15:34 -!- topology [3d0c4bd1@gateway/web/freenode/ip.] has joined #mlpack
15:41 -!- Thyrix [~Thunderbi@] has joined #mlpack
15:44 -!- Shihao [80b4976e@gateway/web/freenode/ip.] has joined #mlpack
15:52 < shikhar> rcurtin: I was able to fix the build message by reordering includes in a few files. Easy fix indeed!
15:53 < rcurtin> great, I am glad my intuition was right :)
15:53 < rcurtin> Armadillo has this nice way to add extra functionality to the Mat and Col and Cube classes by defining a macro, it's quite nice
15:53 < rcurtin> you can see its use in arma_extend.hpp, if you like
15:53 < rcurtin> but since we depend on the extra functionality, we have to ensure that Armadillo is properly included, hence the warning
15:54 -!- chvsp [cb6ef217@gateway/web/freenode/ip.] has joined #mlpack
16:00 < shikhar> Ah, I see
16:00 < shikhar> I was looking into the misalignment problem, and the way arma solves it in print
16:04 < Shihao> Hi rcurtin, are you there? Do I need recalculate probs if we need to produce a probability between 0 ~ 1?
16:05 < rcurtin> yeah, I was going to answer on the issue but I guess I can answer here
16:05 < rcurtin> ideally what we want to return, for each point, is a probability vector for each class that sums to one
16:05 < rcurtin> so e.g. for a three-class naive bayes classifier this might be '0.8 0.15 0.05' or something like this
16:06 < Shihao> yeah, I see.
16:06 < rcurtin> but I think that is not quite your question
16:06 -!- kesslerfrost [~textual@2405:204:84:2bb9:9c4:b398:c15d:7275] has joined #mlpack
16:08 < Shihao> Oh, what if I do a power operation on each probability, will it be back to 0 ~ 1?
16:11 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
16:11 < rcurtin> yes, it should, yeah
16:11 -!- kesslerf_ [~textual@2405:204:84:2bb9:8973:609b:f87e:8be4] has joined #mlpack
16:11 < rcurtin> just e^{log probabilities} will get you that original probability vector
16:13 -!- dineshraj01 [~dinesh@] has joined #mlpack
16:13 -!- kesslerfrost [~textual@2405:204:84:2bb9:9c4:b398:c15d:7275] has quit [Ping timeout: 246 seconds]
16:13 < Shihao> yeah, I will try.
16:17 -!- kesslerf_ [~textual@2405:204:84:2bb9:8973:609b:f87e:8be4] has quit [Ping timeout: 246 seconds]
16:17 -!- abhijeet [67157d4d@gateway/web/freenode/ip.] has quit [Quit: Page closed]
16:27 < govg> rcurtin: mlpack_test has no output except warnings, is it by design?
16:27 < govg> Or is there a flag somewhere that can be toggled?
16:29 < rcurtin> govg: ideally if everything passes there should be no output except the boost test framework's "no errors" (or whatever the string is)
16:29 < rcurtin> I think there are some algorithms that write unsuppressed output to Log::Warn, but maybe that should be disabled
16:29 < rcurtin> the Boost Unit Test Framework does have some nice command line options that allow a lot more optinos
16:29 -!- kesslerfrost [~textual@2405:204:84:2bb9:f58b:7027:caa5:268] has joined #mlpack
16:29 < rcurtin> *options
16:29 < rcurtin> like if you run with '-p', it gives a progress bar
16:30 < govg> Yeah, that's what I was thinking about.
16:31 < govg> There's just a couple of outputs that are warnings, L-BFGS solver and one about not having a proper csv file.
16:31 -!- dineshraj01 [~dinesh@] has quit [Read error: Connection reset by peer]
16:32 < rcurtin> yeah, usually output gets disabled in a certain test that might print by something like 'Log::Warn.ignoreInput = true'
16:32 < rcurtin> I think there are some that are missing that, though... if you wanted to go through and find those I would definitely merge it, it would be a nice change :)
16:37 -!- kesslerfrost [~textual@2405:204:84:2bb9:f58b:7027:caa5:268] has quit [Ping timeout: 246 seconds]
16:40 -!- Varun [74ca1959@gateway/web/freenode/ip.] has joined #mlpack
16:40 < Varun> HI ! I am interested in one of your project for google summer of code
16:40 -!- Varun is now known as Guest65953
16:41 < Guest65953> I am confident that I can contribute a lot to it
16:41 < Guest65953> HI ! I am interested in one of your project for google summer of code
16:41 [Users #mlpack]
16:41 [ aashay ] [ govg ] [ K4k ] [ rainbowtiara] [ topology ] [ zoq]
16:41 [ arunreddy ] [ gtank ] [ kris1 ] [ rcurtin ] [ vikas ]
16:41 [ arunreddy_] [ Guest65953] [ layback ] [ Shihao ] [ vinayakvivek]
16:41 [ chvsp ] [ huyssenz ] [ lozhnikov] [ shikhar ] [ vivekp ]
16:41 [ cult- ] [ indra ] [ mikeling ] [ Thyrix ] [ wiking ]
16:41 -!- Irssi: #mlpack: Total of 26 nicks [0 ops, 0 halfops, 0 voices, 26 normal]
16:45 < zoq> Guest65953: Hello, welcome, have you seen:, definitely a good starting point.
16:46 < Guest65953> I am a bit confused about the procedure to apply
16:46 < Guest65953> It says I am supposed to discuss my idea with organisation before applying .
16:46 < Guest65953> Which is the right platform for that ?
16:49 -!- Thyrix [~Thunderbi@] has quit [Quit: Thyrix]
16:50 -!- Guest65953 [74ca1959@gateway/web/freenode/ip.] has quit [Quit: Page closed]
16:50 -!- kesslerfrost [~textual@2405:204:84:2bb9:e80c:d157:342c:26b2] has joined #mlpack
16:51 < zoq> Guest65953: Either over the mailing list, IRC or GitHub; also please look through the list archives for other messages about project's:
16:52 < zoq> I know he as left, but it looks like a lot of people take a look at the irc logs.
16:52 < rcurtin> I haven't figured out why mailman insists on referring to the hostname for the mlpack archives as instead of
16:53 < zoq> oh, I can also use and it rewrites to knife?
16:56 < rcurtin> yeah, it should also work, they both point to the same ip
16:57 < rcurtin> but the archives still insist that they should be referred to as in all the links despite setting the hostname in the mailman config
17:00 -!- Shihao [80b4976e@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
17:01 -!- topology [3d0c4bd1@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
17:07 -!- flyingpot [~flyingpot@] has joined #mlpack
17:08 < kris1> i want to add annealing rates to the sgd implementation. i was thinking of how i would implement it.
17:08 < kris1> basically the problem is overloading wont work since all 3 types take the same parameters double, int
17:09 < kris1> so basically i have to figure out which annealing method to call based on the string decay_type;
17:12 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 260 seconds]
17:17 < kris1> is this even a good addition
17:17 -!- kesslerf_ [~textual@2405:204:84:2bb9:9126:708b:c994:caad] has joined #mlpack
17:21 -!- kesslerfrost [~textual@2405:204:84:2bb9:e80c:d157:342c:26b2] has quit [Ping timeout: 246 seconds]
17:21 -!- Narayan [1b3e0a27@gateway/web/freenode/ip.] has joined #mlpack
17:22 < Narayan> Hello,I am trying to install the dependencies of mlpack in OS X. The installation of armadillo is stuck at "make bootstrap" for the past hour
17:22 < Narayan> could anyone tell me what the issue may be
17:25 < zoq> Narayan: Hello, it probably takes some time, I would recommend to use homebrew or MacPorts if you have the chance.
17:25 < Narayan> i am using homebrew sir
17:26 < Narayan> brew install homebrew/science/armadillo is the command i used
17:26 < Narayan> its being running for more than an hour :P
17:27 -!- kesslerf_ is now known as kesslerfrost
17:27 < zoq> Narayan: oh okay, I've also used homebrew without any problems ... do you see any CPU activity?
17:30 < Narayan> Yes...its i should just wait maybe.
17:30 -!- shubhamkmr47 [0e8b5206@gateway/web/freenode/ip.] has joined #mlpack
17:31 -!- shubhamkmr47 [0e8b5206@gateway/web/freenode/ip.] has quit [Client Quit]
17:34 -!- coder [01ba14aa@gateway/web/freenode/ip.] has joined #mlpack
17:34 < coder> Hello, I had certain queries about mlpack
17:34 -!- coder is now known as Guest17157
17:35 -!- Guest17157 [01ba14aa@gateway/web/freenode/ip.] has quit [Client Quit]
17:40 -!- kesslerf_ [~textual@2405:204:84:2bb9:68f1:2140:2a8b:a044] has joined #mlpack
17:40 -!- Smeet [~smeet@] has joined #mlpack
17:41 -!- tejank10 [3b585b88@gateway/web/freenode/ip.] has joined #mlpack
17:43 -!- kesslerfrost [~textual@2405:204:84:2bb9:9126:708b:c994:caad] has quit [Ping timeout: 246 seconds]
17:46 -!- shivam [2d73bee8@gateway/web/freenode/ip.] has joined #mlpack
17:46 -!- Smeet [~smeet@] has quit []
17:46 -!- shivam is now known as Guest26972
17:46 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has joined #mlpack
17:47 -!- Guest26972 [2d73bee8@gateway/web/freenode/ip.] has quit [Client Quit]
17:47 -!- tejank10 [3b585b88@gateway/web/freenode/ip.] has quit [Quit: Page closed]
17:57 < kris1> zoq: should i use enum{no_decay = 0 , t_decay=1, step_decay =2, exponential_decay}
17:58 < kris1> in the constructor add decay_factor variable
17:59 < kris1> and during the call the to optimize function we could check if decay_type == 1 and then we could appropriately to the action
17:59 < kris1> is the question clear
17:59 < chvsp> Hi zoq. Did you have a look at my PR? If there are any changes to be made, kindly let me know. Thanks :)
18:00 < chvsp> PR #892
18:06 < zoq> kris1: I would rather use a sperate parameter for each and initialize it with some default value. Constructor(const bool decay = true, tDecay = 0, stepDecay = 0, ...) What do you think?
18:07 < zoq> chvsp: I'll take a look once I get a chance and make comments.
18:07 -!- mikeling [uid89706@gateway/web/] has quit [Quit: Connection closed for inactivity]
18:09 -!- flyingpot [~flyingpot@] has joined #mlpack
18:10 < kris1> zoq: i will do that then
18:11 -!- kesslerf_ [~textual@2405:204:84:2bb9:68f1:2140:2a8b:a044] has quit [Ping timeout: 246 seconds]
18:13 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
18:17 < kris1> zoq:but i am in favor of the enum type as then we don't have to write to additional test like checking that only one of tdecay or stepDecay is set
18:18 < kris1> with enum type we would have a single decay rate. and the user can then specify which decay type to use
18:20 -!- kesslerfrost [~textual@2405:204:84:2bb9:1d45:78bf:2898:b84e] has joined #mlpack
18:26 -!- rainbowtiara [0e8b5206@gateway/web/freenode/ip.] has quit [Quit: Page closed]
18:28 -!- kesslerfrost [~textual@2405:204:84:2bb9:1d45:78bf:2898:b84e] has quit [Ping timeout: 246 seconds]
18:33 -!- kesslerfrost [~textual@2405:204:84:2bb9:9584:e7ba:7266:b97] has joined #mlpack
18:36 < kris1> do you agree
18:37 -!- kesslerfrost [~textual@2405:204:84:2bb9:9584:e7ba:7266:b97] has quit [Ping timeout: 246 seconds]
18:43 -!- vinayakvivek is now known as vinayak_
18:45 -!- vinayak_ is now known as vinayakvivek
18:46 -!- kesslerfrost [~textual@2405:204:84:2bb9:d471:3163:fc02:9808] has joined #mlpack
18:51 -!- kesslerfrost [~textual@2405:204:84:2bb9:d471:3163:fc02:9808] has quit [Ping timeout: 246 seconds]
18:55 -!- shihao [80b4976e@gateway/web/freenode/ip.] has joined #mlpack
18:57 < shihao> I guess in naive bayes classifier, features for each class forms multivariate normal distribution, right?
18:57 < rcurtin> shihao: yeah, that is the assumption of naive bayes, that each class is multivariate Gaussian
18:57 < rcurtin> also with the assumption that the covariance is diagonal
18:58 < shihao> I don't quite understand why it's diagonal
18:58 < rcurtin> the assumption is that there's no correlation between dimensions, so any off-diagonal elements of the covariance matrix will be 0
18:58 < shihao> So instead multiply 3 distribution, we can use one distribution.
18:59 < shihao> oh, I see. Assume each feature is independent of others.
19:00 < shihao> Writing code to implement some concept is totally different than just learning it and doing homework.
19:00 < shihao> A lot of details I missed before,
19:00 < rcurtin> yeah, that was a big jump for me when I started working on mlpack :)
19:01 < shihao> Thank you, rcurtin!
19:08 -!- shihao [80b4976e@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
19:10 -!- flyingpot [~flyingpot@] has joined #mlpack
19:13 < arunreddy_> rcurtin: For the Momentum policy class do you have something like in mind ?
19:13 -!- chvsp [cb6ef217@gateway/web/freenode/ip.] has quit [Quit: Page closed]
19:14 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
19:15 -!- Narayan [1b3e0a27@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
19:19 < zoq> kris1: I would go with the single parameter solution, mainly because it's more consistent with the rest of the codebase. I think for a user it would be strange if the API changes between different methods.
19:21 < kris1> zoq: have a look at this
19:23 < kris1> the code looks much clearner this way
19:23 < kris1> i think
19:26 < kris1> zoq:let me know if this ok. if ok then i will go ahead and write the tests for this
19:26 < arunreddy_> kris1: The problem with that implementation is that the switch is computed everytime an SGD iteration is executed(runtime)
19:28 < zoq> Ah, arunreddy_ is right probably not the best idea.
19:28 < arunreddy_> rcurtin has suggested to use a policy based design, using which you can speed up as switch can totally be avoided in cases when no_decay is set.
19:28 < kris1> arunreddy_: Yes, but would this be too much of a overhead since this are basically 4 statements are executed
19:29 < kris1> oh okay. i would have to read policy based design
19:29 < arunreddy_> Check out the discussion on
19:30 < arunreddy_> and for policy based design implemented in mlplack lib, refer to
19:30 < zoq> Another option would be to calculate the step size offset once.
19:31 < zoq> ah, I see, you can't it depends on the time step.
19:31 < arunreddy_> But what if you want to have a variable decay
19:32 < kris1> arunreddy_:sorry what is variable decay.
19:34 < zoq> So, yeah I think writing a policy for each case is a nice idea, that also solves the "enum" questions.
19:34 < arunreddy_> The ability to change the decay rate..
19:34 < zoq> Which is also consistent with the rest of the codebase since, we do this all the time.
19:34 -!- Lakshya1605 [0e8b5206@gateway/web/freenode/ip.] has joined #mlpack
19:35 < arunreddy_> kris1: As per my understanding, if someone wants to have a different implementation of decay rates using policy based design would help.
19:35 < kris1> okay i would look into the policy based design.
19:36 < kris1> i haven't seen decay rate change with time though. Is it implemented in tensorflow, keras.
19:36 < kris1> annealing learning rate have been implemented there
19:37 < zoq> Iit's like momentum.
19:37 < zoq> Also ,as arunreddy_ already pointed the amf is one example the pca implementation is another.
19:38 < zoq> For policy based design.
19:39 < Lakshya1605> Hello is this a specified behaviour or i am doing something wrong ? . In test/load_save_test.cpp I have found that arma::col is treated as arma::mat so whenever i try to load a matrix into a colvec it is not giving an error rather it is loading it .
19:39 -!- shikhar [67d49def@gateway/web/freenode/ip.] has quit [Quit: Page closed]
19:40 < kris1> and i thought this was going to be a easy issue to solve :P. I fear design patterns since i read the visitor pattern i still getting my head around that.
19:42 -!- shihao [407978c3@gateway/web/freenode/ip.] has joined #mlpack
19:43 < kris1> is policy based design same as template meta programming
19:45 < kris1> arunreddy_: i was looking at the discussion you pointed out. but you would need to momentum == 1 only at the start at not at every iteration right.
19:45 < kris1> as rcurtin pointed out
19:46 < arunreddy_> kris1, it is related to template metaprogramming.
19:47 < arunreddy_> kris1: What if you don't want to check if momentum==1 in the loop everytime?
19:48 < arunreddy_> What if you can make it a compile time flag and avoid the flow in the runtime. Something like this..
19:48 < kris1> arunreddy_: but thats my question right you dont have to. if momentum is set can be checked outside the loop also right?
19:49 < kris1> why do you chek in every loop iteration?
19:49 < arunreddy_> kris1: The update is different for vanilla sgd and momentum sgd..
19:49 < kris1> ohh right got your point
19:52 -!- shihao [407978c3@gateway/web/freenode/ip.] has quit [Quit: Page closed]
20:00 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has quit [Quit: Page closed]
20:01 -!- travis-ci [] has joined #mlpack
20:01 < travis-ci> mlpack/mlpack#1899 (master - 4c87d34 : Marcus Edel): The build passed.
20:01 < travis-ci> Change view :
20:01 < travis-ci> Build details :
20:01 -!- travis-ci [] has left #mlpack []
20:02 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has joined #mlpack
20:04 < Lakshya1605> It turns out that not onyly "load_save_test.cpp" but anyfile in test folder has the same problem can some one suggest me how to solve this
20:05 < Lakshya1605> **only
20:07 < arunreddy_> zoq: Are there any codestyle files for mlpack. I have seen the codestyle guidelines at but didn't come across any ide codestyle xml files.
20:07 < rcurtin> arunreddy_: I don't believe there are any of these, if you like you can make something like this or an autolinter. there is an issue open for that somewhere...
20:16 < arunreddy_> rcurtin: Thanks, will look into autolinter. Is there a link to "this.." missing?
20:17 < rcurtin> not sure what you mean, but I did notice you were looking at the Trac style guidelines; there's a newer version on the Github wiki
20:18 < rcurtin> I should probably remove Trac now, we have used github for years so everything there is out of date
20:34 -!- Vladimir_ [5c2a1a33@gateway/web/freenode/ip.] has joined #mlpack
20:34 < Vladimir_> Hello
20:38 -!- Lakshya1605 [0e8b5206@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
20:48 -!- rcurtin_ [] has joined #mlpack
20:48 -!- Topic for #mlpack: -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs:
20:48 -!- Topic set by naywhayare [] [Wed May 21 16:24:10 2014]
20:48 [Users #mlpack]
20:48 [ aashay ] [ cult- ] [ indra ] [ lozhnikov] [ vinayakvivek] [ zoq]
20:48 [ arunreddy ] [ govg ] [ K4k ] [ rcurtin ] [ vivekp ]
20:48 [ arunreddy_] [ gtank ] [ kris1 ] [ rcurtin_ ] [ Vladimir_ ]
20:48 [ ashk43712_] [ huyssenz] [ layback] [ vikas ] [ wiking ]
20:48 -!- Irssi: #mlpack: Total of 21 nicks [0 ops, 0 halfops, 0 voices, 21 normal]
20:48 -!- Home page for #mlpack:
20:48 -!- Channel #mlpack created Tue Oct 11 18:35:40 2011
20:49 -!- Irssi: Join to #mlpack was synced in 45 secs
20:53 -!- Netsplit *.net <-> *.split quits: rcurtin
21:03 -!- ashk43712_ [1b0715ce@gateway/web/freenode/ip.] has quit [Quit: Page closed]
21:11 -!- flyingpot [~flyingpot@] has joined #mlpack
21:15 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
21:28 < zoq> Vladimir_: Hello there!
21:29 -!- usama [6f44656c@gateway/web/freenode/ip.] has joined #mlpack
21:30 < arunreddy> rcurtin_: A quick search on google pointed me to the trac website.
21:30 -!- GuilhermeGSousa [2ec14012@gateway/web/freenode/ip.] has joined #mlpack
21:31 < usama> Hello everyone
21:31 < usama> Hope all is going well
21:31 < usama> I was getting started with mlpack on windows
21:32 < usama> I had successfully managed to setup the library with VISUAL studio
21:33 < usama> But when running some test code I ran into an error.
21:34 < usama> Due to very limited resources for mlpack i could not find the solution after HOURS of searching
21:34 < usama> The error is as follows:
21:34 < usama> Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol sdot_ referenced in function "double __cdecl arma::blas::dot<double>(unsigned __int64,double const *,double const *)" (??$dot@N@blas@arma@@YAN_KPEBN1@Z) mlpack C:\Users\UKThe\Documents\Visual Studio 2015\Projects\mlpack\Practice.obj 1
21:35 -!- GuilhermeGSousa [2ec14012@gateway/web/freenode/ip.] has quit [Client Quit]
21:35 < usama> Please HELP!!
21:38 < zoq> usama: Hello, have you seen looks like you get the same error message.
21:40 -!- usama [6f44656c@gateway/web/freenode/ip.] has quit [Ping timeout: 260 seconds]
21:52 < kris1> zoq: i read the policy design pattern from some sources. but i clearly understood the wiki example So basically what i would mean is that i implement 4 policies classes.
21:52 < kris1> nodecay, tdecay, .....
21:53 < zoq> kris1: Yes, right.
21:53 < kris1> where the code that is common to all the classes resides in the base class
21:53 < zoq> correct
21:54 < kris1> lets svd_impl class and the code like update of the learning rate is implement in the policy class
21:55 < kris1> but wont i be calling the policy class methods at each iteration anyway.
21:55 < kris1> is this not tradeoff between switch and function call.
21:56 < kris1> am i making sense .
21:57 < zoq> kris1: If you make the function inline the compiler should place a copy of the code of that function at that point.
21:58 < kris1> yeah okay. but i have the correct idea right. if yes then i am would start implementing it.
21:58 < zoq> yes
22:03 < kris1> ok thanks i would get on it.
22:11 -!- chvsp [cb6ef218@gateway/web/freenode/ip.] has joined #mlpack
22:12 -!- flyingpot [~flyingpot@] has joined #mlpack
22:16 -!- flyingpot [~flyingpot@] has quit [Ping timeout: 240 seconds]
22:34 -!- asingh [8107ce75@gateway/web/freenode/ip.] has joined #mlpack
22:35 -!- asingh [8107ce75@gateway/web/freenode/ip.] has quit [Client Quit]
22:46 -!- arunreddy [95a9856c@gateway/web/freenode/ip.] has quit [Quit: Page closed]
22:54 -!- chvsp [cb6ef218@gateway/web/freenode/ip.] has quit [Quit: Page closed]
22:55 -!- vinayakvivek [uid121616@gateway/web/] has quit [Quit: Connection closed for inactivity]
23:14 -!- irakli_p [b04a7cf3@gateway/web/freenode/ip.] has joined #mlpack
23:15 < irakli_p> hello
23:15 < irakli_p> is anyone here ?
23:15 -!- irakli_p [b04a7cf3@gateway/web/freenode/ip.] has quit [Client Quit]
23:15 < zoq> irakli_p: Hello, I'm here.
--- Log closed Thu Mar 02 00:00:20 2017