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/
travis-ci has joined #mlpack
< travis-ci> mlpack/mlpack#1004 (master - 4fa39b6 : Ryan Curtin): The build was broken.
travis-ci has left #mlpack []
< zoq> travis ... hm, I could slightly increase the number of iterations, or use a static starting point.
< rcurtin> one strategy I have used is to, e.g., try the test three times and make sure it succeeds at least once
< rcurtin> take a look at the tests for simulated annealing, I think they do this... sa_test.cpp
< zoq> that's a good idea, thanks for pointing that out
< rcurtin> sure, glad I could help :)
ajinkya has joined #mlpack
ajinkya has quit [Client Quit]
< marcosirc> tham: thanks for your feedback! I will try different modifications and see what happens with appveyor...
< marcosirc> I am thinking how to make NSearch more explicit, without including too many lines of code...
marcosirc has quit [Quit: WeeChat 1.4]
nilay has quit [Ping timeout: 250 seconds]
tham has joined #mlpack
< tham> marcosirc : I use class to mimic alias template, although not as elegant as alias template, this solution should help you maintain your sanity :)
< tham> I paste the samples at #693
Mathnerd314 has quit [Ping timeout: 264 seconds]
tham has quit [Quit: Page closed]
nilay has joined #mlpack
< mentekid> is there a way for the benchmarking system to compare different versions of mlpack?
< mentekid> Actually, where can I find documentation for the benchmarking system in general?
< mentekid> It's ok, I found this: http://www.mlpack.org/trac/wiki/AutomaticBenchmark
< zoq> mentekid: The Historical runtime view compares different versions of mlpack.
Mathnerd314 has joined #mlpack
marcosirc has joined #mlpack
travis-ci has joined #mlpack
< travis-ci> mlpack/mlpack#1011 (master - 97402b9 : Ryan Curtin): The build was fixed.
travis-ci has left #mlpack []
travis-ci has joined #mlpack
< travis-ci> mlpack/mlpack#1012 (master - c6477da : Ryan Curtin): The build is still failing.
travis-ci has left #mlpack []
travis-ci has joined #mlpack
< travis-ci> mlpack/mlpack#1013 (master - a8b5be9 : Ryan Curtin): The build was fixed.
travis-ci has left #mlpack []
nilay_ has joined #mlpack
< nilay_> zoq tham: if I remove the map options<int, int> and write member functions for each of the class fields, the code looks very redundant. are we sure we want that?
< nilay_> now that i have started doing it , it looks very weird to me, maybe there is still a better way?
< zoq> It looks redundant? This are the parameter for the feature extraction class right? https://gist.github.com/zoq/8f3e26c73776a5a30c5b04ec5fe22691 and the rest are the parameters for the StructuredForest class, you don't have to reimplement the feature extraction parameter for the StructuredForest class.
< nilay_> zoq: yes it does. so we will have just 10 (or 15) methods (member functions) just for these parameters.
< zoq> Yes, that's right, I don't like the idea to change the behavior of setting the class parameter. I think, it would be weird for a user if we change the setting behavior between classes. If you like you can also provide an interface, to e.g. set the parameter via a Parameter class or something similar.
< rcurtin> I think it's no problem to have a large number of member functions for parameters; that is how the rest of mlpack works
< rcurtin> the issue is, in some cases, when you set a parameter with a member function, its value must be validated, so you have to have a method to do that
< rcurtin> and then for the sake of consistency, it makes sense to have member functions for the rest of the parameters instead of making them public
< nilay_> rcurtin : i don't get what you mean by your last comment
tham has joined #mlpack
< tham> nilay_ nilay zoq rcurtin : to reduce redundancy
< tham> A simple solution is apply private inheritance
< tham> oops, sorry, it wouldn't work since the user cannot access the member function
< tham> I think the solution zoq mentiond is worth to give it a try
< rcurtin> nilay_: I simply meant that we should not make internal class parameters public, because some of the parameters need to be validated after they are set
< tham> Define a parameter class, set the parameters by it, pass it into the StructuredForest and feature extraction class
< tham> Let the users set the parameters by member function but not the std::map directly, the benefits are
< tham> 1 : we can make sure the users will not create wrong key
< tham> 2 : we can do the sanity check on the value the user set
< tham> 3 : before/after we return the value, we can do some pre/pos processing on the value
< tham> In my humble opinion, as a library developer, even reason 1 alone is a strong point to pick it up
< tham> The drawback of provide better encapsulation is--
< tham> we need to write more codes
< tham> We know that in most of the cases, every line of codes are the burden of maintainence, because every line of the codes may bring us bug
< tham> cause us more times to study the codes, understand what is going on
< tham> but in this case, I think the benefits are worth
< rcurtin> tham: when you say "even reason 1 alone is a strong point to pick it up", what do you mean by "pick it up"?
< tham> rcurtin : I mean, give it a try
< rcurtin> ah but what is "it" here? :)
< tham> English is not my mother language, I apologize if my words make you confuse
< rcurtin> no worries, we can get it figured out :)
< tham> I should just use pick up?
< rcurtin> no, "pick it up" is just fine, I am just not sure what "it" is in this case... do you mean, use member functions to set parameters? or std::map?
< tham> use member function to set parameters, or create a parameters class to set the parameters
< tham> I think second is better since it could reduce redundancy codes, yet provide some encapsulation
< rcurtin> okay, I agree :)
< rcurtin> I think it's definitely true, reason 1 is a very strong reason
< rcurtin> sorry for the confusion... I thought you meant member functions, I just wanted to make sure before I said I agreed with it :)
< tham> I think this kind of design choices really do not have a right answer, most of them are come from the experiences of books, some gurus, our ex experiences, knowledge learned from other code bases
< tham> second I mean create a parameter class to set the parameters
< nilay_> ok so, how would parameter class look like? we still have to pass the values of our parameters from the main function only.
< tham> I could write a prototype, please wait a moment
< nilay_> ok thanks.
< tham> It is quite similar to what you have done
< zoq> nilay_: Interesting comment: //cout << "sahi hai " << endl; :)
< nilay_> zoq: sahi hai means "it is correct" in Hindi
< nilay_> :D
< zoq> ah, do you write all your comments in Hindi?
< nilay_> zoq: no this was just a debugging comment. Meaning I'll remove it as soon as I get the output I need. I forgot to remove this one
< zoq> tham: So we use void NumImages(size_t value) { numImages = value; } instead of size_t& NumImages() { return numImages; }?
< tham> zoq : I think this desing is easier to split up the "get" and "set" function
< tham> design
< zoq> nilay_: No problem, maybe I can learn hindi, during the next days by reading more of your comments, would be fun :)
< tham> It is easier to adapt to future change in this way
< zoq> hm, okay, I don't mind to use the design you proposed, but we should be consistent, just remembered the discussion here: https://github.com/mlpack/mlpack/pull/463#issuecomment-151167047
< nilay_> zoq: It is easier than learning german, i can assure you :)
< tham> zoq : thanks ;:)
< zoq> nilay_: the german translation of "sahi hai" or "it is correct" is similar "es is korrekt" :)
< zoq> the pronunciation is slightly different :) https://www.youtube.com/watch?v=41lZmGcRWHU
< tham> natural languages of humans are very creative
< rcurtin> "stimmt", does that work too?
< rcurtin> I am remembering a little from my german classes years ago :)
tham has quit [Quit: Page closed]
< zoq> rcurtin: yeah, you don't really use "es ist korrekt"
< rcurtin> :), I am glad I remember something about German, it has been way too long
< rcurtin> I should have paid more attention in the classes too :)
< nilay_> zoq: i can remember es ist korrekt. Nothing from that video though :)
< marcosirc> ups, it looks like gsoc blog is down... http://www.mlpack.org/gsocblog/index.html
< rcurtin> yeah, Jenkins is not running correctly, I have been trying to figure it out
< marcosirc> rcurtin: ahh ok.
< rcurtin> some error with the IRC plugin, maybe I can just disable it
< rcurtin> weird, I restarted it and it came up this time... I wonder why that did not work last time
< rcurtin> but it is working now so I don't think I will ask any more questions :)
< marcosirc> haha :)
sumedhghaisas has joined #mlpack
sumedhghaisas has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
sumedhghaisas has joined #mlpack
tsathoggua has joined #mlpack
tsathoggua has quit [Client Quit]
sumedhghaisas has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
sumedhghaisas has joined #mlpack
sumedhghaisas has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
sumedhghaisas has joined #mlpack
nilay_ has quit [Ping timeout: 250 seconds]
sumedhghaisas has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
marcosirc has quit [Quit: WeeChat 1.4]
mentekid has quit [Ping timeout: 258 seconds]
rcurtin_ has joined #mlpack
zoq_ is now known as zoq