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/
< zoq> hm, depends; vim, sublime text, gdb
< zoq> How does your setup look like?
< shihao> command line debugging is hard...
< shihao> I like sublime text, but I don't know how to use command line debugging.
< shihao> I just output what I want to see in terminal.... so stupid :)
< zoq> There is this tool: https://github.com/cs01/gdbgui I'd like to test
< chvsp> zoq: I was just curious whether gdb can be used with cmake, I mean adding the debug prints...?
< shihao> It looks cool!
< zoq> build with: cmake -D DEBUG=ON -D PROFILE=ON ../ (You can specify options to compile with debugging information and profiling information:)
< chvsp> Oh. Will try it out.
< zoq> shihao: I agree, the idea is pretty cool, using the browser :)
< chvsp> by the way, gdbgui gives a Visual Studio debugger feel as far as the interface is concerned
< kris1> zoq: oh yes. it works now.
< zoq> chvsp: Do you use Visual Studio?
< zoq> kris1: great
< chvsp> Used to use Visual Studio. It was touted to have the "best" debugger. But after being exposed to Linux and command line, I never went back. :D
< shihao> I am about to have my first PR. It feels good :)
< shihao> zoq: Is there anything not to hard I can work on?
< zoq> chvsp: I see, not sure there is an Visual Studio alternative for Linux, that has kinda the same look and feel.
< zoq> shihao: Not sure, maybe there is an interesting issue on Github, you can also search through the codebase and perhaps you find something that could be improved. Another way is to come up with an interesting method you like to implement.
< shihao> zoq: ok, thanks!
chvsp has quit [Ping timeout: 260 seconds]
< kris1> zoq: This is a stupid question. but if i change anything in some module. I know i have to do make. but is cmake also required no right.
< kris1> but if add something new to i would have to add that to the cmakelist.txt so i guess you would have to.
< kris1> Yes so thing is that when i do cmake ../ and make from build it builds everything again
< zoq> If you modify the CMake file, you rebuild everything, but make should detect that and should call cmake for you.
< zoq> Also not sure you already know that, you can tell make to use use multiple cores: make -jX, where X is the number of cores.
< kris1> but if you add new file you would have to modify the CMake file.
< kris1> ok i got it
< zoq> yeah, that's true
< kris1> if i edit cmake file and then call make it would rebuild the whole thing.
< kris1> that seems a bit excessive dosen't it.
< zoq> Kinda yes, but how often do you add another file?
< zoq> But I agree building the complete code does take some time; in fact there is an open issue to optimize the build time :)
< shihao> zoq: My PR https://github.com/mlpack/mlpack/pull/913 is ready to merge. Please kindly review it and let me know if there is any problem. Thanks!
< zoq> shihao: Yeah, sure, we take a look once we get a chance; it might take longer than 24h :)
shihao has quit [Quit: Page closed]
sumedhghaisas has joined #mlpack
vinayakvivek has quit [Quit: Connection closed for inactivity]
mikeling has joined #mlpack
sumedhghaisas_ has joined #mlpack
sumedhghaisas has quit [Ping timeout: 260 seconds]
sumedhghaisas__ has joined #mlpack
sumedhghaisas_ has quit [Read error: Connection reset by peer]
kris1 has quit [Quit: Leaving.]
kris1 has joined #mlpack
tejank10 has joined #mlpack
kris1 has quit [Ping timeout: 260 seconds]
trapz has joined #mlpack
trapz has quit [Quit: trapz]
vinayakvivek has joined #mlpack
Thyrix has joined #mlpack
kesslerfrost has joined #mlpack
diehumblex has joined #mlpack
mayank has joined #mlpack
kesslerfrost has quit [Ping timeout: 246 seconds]
kesslerfrost has joined #mlpack
kesslerf_ has joined #mlpack
kesslerfrost has quit [Ping timeout: 246 seconds]
iamb_ has joined #mlpack
iamb_ has quit [Client Quit]
kessler__ has joined #mlpack
kesslerf_ has quit [Ping timeout: 246 seconds]
tejank10 has quit [Quit: Page closed]
kesslerfrost has joined #mlpack
arunreddy has quit [Ping timeout: 252 seconds]
kessler__ has quit [Ping timeout: 246 seconds]
kesslerf_ has joined #mlpack
kesslerfrost has quit [Ping timeout: 246 seconds]
arunreddy has joined #mlpack
hxidkd has joined #mlpack
hxidkd has quit [Client Quit]
kesslerfrost has joined #mlpack
aman11dh has quit [Ping timeout: 260 seconds]
kesslerf_ has quit [Ping timeout: 246 seconds]
arunreddy has quit [Ping timeout: 246 seconds]
kesslerfrost has quit [Ping timeout: 246 seconds]
arunreddy has joined #mlpack
qdqds has quit [Ping timeout: 260 seconds]
govg has quit [Ping timeout: 256 seconds]
drewtran has quit [Quit: Page closed]
kesslerfrost has joined #mlpack
kesslerf_ has joined #mlpack
kesslerfrost has quit [Ping timeout: 246 seconds]
kesslerf_ is now known as kesslerrost
kesslerrost is now known as kesslerfrost
dashwood has joined #mlpack
< dashwood> i have a question...in the linear_regression_main.cpp
< dashwood> PROGRAM_INFO("...");
< dashwood> PARAM_MATRIX_IN("training", "Matrix containing training set X (regressors).", "t"); PARAM_MATRIX_IN("training_responses", "Optional matrix containing y " "(responses). If not given, the responses are assumed to be the last row " "of the input file.", "r");
< dashwood> what are these functions exactly?
< dashwood> could someone explain?
sumedhghaisas__ has quit [Ping timeout: 260 seconds]
< dashwood> guys?
chvsp has joined #mlpack
< Thyrix> dashwood: macros to parse parameters of main()
< Thyrix> just take it as a special grammar in mlpack is ok
kesslerfrost has quit [Quit: kesslerfrost]
dashwood has quit [Quit: Page closed]
trapz has joined #mlpack
trapz has quit [Quit: trapz]
Vidyut_ has joined #mlpack
Vidyut_ has left #mlpack []
Raman has joined #mlpack
< Raman> Hey!
< Raman> Can anyone help me get started?
trapz has joined #mlpack
< Thyrix> Raman: Hi, which idea do your prefer?
snd_ has joined #mlpack
trapz has quit [Quit: trapz]
sheogorath27 has joined #mlpack
savan77 has joined #mlpack
Thyrix has quit [Quit: Page closed]
sumedhghaisas__ has joined #mlpack
savan77 has quit [Quit: Page closed]
Raman has quit [Ping timeout: 260 seconds]
thyrix has joined #mlpack
__gk_1wm_su_-_-- has joined #mlpack
__gk_1wm_su_-_-- has left #mlpack []
chvsp has quit [Ping timeout: 260 seconds]
chvsp has joined #mlpack
xsdfas has joined #mlpack
xsdfas has quit [Client Quit]
snd_ has quit [Ping timeout: 260 seconds]
kris1 has joined #mlpack
< kris1> can't figure this out
thyrix has quit [Quit: Page closed]
chvsp has quit [Ping timeout: 260 seconds]
mentekid has joined #mlpack
kris1 has left #mlpack []
mentekid has quit [Ping timeout: 240 seconds]
chvsp has joined #mlpack
govg has joined #mlpack
vivekp has quit [Ping timeout: 246 seconds]
chvsp_ has joined #mlpack
chvsp has quit [Ping timeout: 260 seconds]
chvsp_ has quit [Quit: Page closed]
kris1 has joined #mlpack
vivekp has joined #mlpack
chvsp has joined #mlpack
< kris1> This is a good article just wanted to share it.
< kris1> typename std::enable_if<HasParametersCheck<T, P&(T::*)()>::value, size_t>::type. So this statment basically means that if the Typename has the Parameteres type it would evaluate to true and basically this would be equivalent to typename size_t. Am i correct
< kris1> tyename size_t funct(T* layer)
snd has joined #mlpack
snd has quit [Ping timeout: 260 seconds]
mayank has quit [Ping timeout: 260 seconds]
snd has joined #mlpack
chvsp has quit [Quit: Page closed]
tejank10 has joined #mlpack
shihao has joined #mlpack
tejank10 has quit [Ping timeout: 260 seconds]
< kris1> zoq: can you help me out with this one i am stuck. https://gist.github.com/kris-singh/c0b3a01509b20f10841fae117b8e3baa
< kris1> i don't understand 2 things. 1. in operator function we call LayerFanIN(layer). but shouldn't we call it like LayerFanIn<sometype>(layer). 2. The error with P the compiler says it type can be deduced why is that according to your previous explnation it would.
< kris1> Thanks in advance. Please have a look when you have time.
kris1 has left #mlpack []
< arunreddy> ls
< arunreddy> clear
< arunreddy> ls
< arunreddy> bash
< arunreddy> vi ~/.bashrc
< arunreddy> sorry.
drewtran has joined #mlpack
drewtran has quit [Ping timeout: 260 seconds]
< govg> Hahaha.
< govg> arunreddy: Forgot which terminal it was?
chvsp has joined #mlpack
< arunreddy> yup. may be i should theme my wechat for it standout. :)
< arunreddy> *weechat
< govg> How come you use vi and not vim?
< govg> Or is it aliased :)
snd has quit [Ping timeout: 260 seconds]
drewtran has joined #mlpack
< arunreddy> ls
< arunreddy> govg:yeah, it is aliased. saves some time!
Papad has joined #mlpack
< Papad> Hello everyone
< Papad> Ι installed mlpack and the tcp for communicating with gym environment
< Papad> I tried to modify the example using mlpack classes
< Papad> I added -lmlpack flag in cmake
< Papad> But when I try to compile it return undefined reference
< Papad> Does anyone know the solution to this problem?
Papad has quit [Quit: Page closed]
< arunreddy> papad: did you point the server to the localhost(127.0.0.1) ?
vinayakvivek has quit [Quit: Connection closed for inactivity]
mayank has joined #mlpack
< mayank> i built mlpack, and it created the /include folder within the build folder. i used g++ -I/directory, but cannot link the hpp files to their cpp files. any suggestions ?
< arunreddy> mayank: did you build it using make ?
< mayank> yes
< mayank> after cmake ../
< arunreddy> what do you mean by cannot link hpp files to their cpp files?
< arunreddy> mayank:
< mayank> i found a folder named "include" inside build. It contained all the header files for mlpack. I included this path while compiling a sample code.
< mayank> It showed that the functions inside the code were unreferenced. That means it could not find their cpp implementations.
< mayank> Those implementations are in another folder. I am not able to link the hpp file in "include" to their implementations in "src" folder.
< arunreddy> mayank: Make sure the libmlpack is in your LIBRARY_PATH when compiling..
< zoq> mayank: You have to link against mlpack, either include the mlpack directory in your LIBRARY_PATH as arunreddy said or specify the path:
< zoq> so either:
< zoq> g++ example.cpp -std=c++11 -I/path/to/mlpack/build/include/ -lmlpack
< zoq> or
< zoq> g++ example.cpp -std=c++11 -I/path/to/mlpack/build/include/ /path/to/mlpack/build/lib/libmlpack.so
< mayank> if i make some change to a cpp implementation, how will that be reflected in libmlpack.so
< zoq> Not sure what you mean; are you talking about changing an mlpack file or your own external code?
< mayank> changing an mlpack file. inside the src directory
< arunreddy> zoq: Hey, if you are not sleepy: https://gist.github.com/arunreddy/4e67cb4a34a97d8f53f76fe673188214
< zoq> Just call 'make' again and you end up with an updated version including libmlpack.so.
< arunreddy> zoq: If you are hitting bed, take a look later.
< mayank> thanks a lot zoq and arunreddy
mayank has quit [Quit: Page closed]
< zoq> hm, I think the error message isn't for LogisticRegression<StandardSGD<LogisticRegressionFunction>> lr(sgd);? In that case it should fail because of a missing template for LogisticRegressionFunction it should be LogisticRegressionFunction<>?
< rcurtin> ooh, I forgot to check the SO question for answers
< rcurtin> (sorry to jump in late, I just got to a computer now)
< rcurtin> I think maybe I will try and look at the standard after I try and dig myself out from the huge backlog of emails and issues
< rcurtin> but if Barry is right there then I guess we have to be explicit about the template argument
< zoq> or just use variadic template :)
< rcurtin> or adapt the code to use variadic ...
< rcurtin> yeah, exactly! :)
< arunreddy> zoq: The error message is for the default case. When using LogisticRegression<> lr(sgd);
< arunreddy> rcurtin, zoq: Do you want me to make changes to the SGD and use Variadic templates?
< rcurtin> arunreddy: sure, but let's keep that in a separate PR if that's ok, it makes it a lot easier to review and merge (in my opinion at least)
< zoq> arunreddy: Can you test it with LogisticRegression<StandardSGD<LogisticRegressionFunction<> >> lr(sgd); instead of LogisticRegression<StandardSGD<LogisticRegressionFunction>> lr(sgd);?
< zoq> I think if that dosn't work, that's probably another error that can't be solved without modifiying the code (e.g. by using variadic templates)
kris1 has joined #mlpack
< arunreddy> zoq: It fails again, Updated the gist here.. https://gist.github.com/arunreddy/4e67cb4a34a97d8f53f76fe673188214
< arunreddy> rcurtin: If we are going to use variadic templates, there are going to be changes at different areas of the codebase. Regularized SVD, Logistic Regression and RNN.
< rcurtin> arunreddy: I'm confused... why are you specifying StandardSGD as a template parameter to the LogisticRegression class?
< rcurtin> instead the template parameter for LogisticRegression is the MatType (which should be arma::mat in your case)
< rcurtin> and the optimizer type should be specified to the Train() function
< rcurtin> i.e. lr.Train<StandardSGD<...>>(sgd)
< rcurtin> or even lr.Train<decltype(sgd)>(sgd)
< rcurtin> (I think I have the syntax right in the second one, but I'm not sure)
< zoq> I think he like to use:
< zoq> template<template<typename> class OptimizerType>
< zoq> LogisticRegression(
< zoq> OptimizerType<LogisticRegressionFunction<MatType>>& optimizer);
< zoq> That's another constructor
< arunreddy> rcurtin: I am working on the test "LogisticRegressionSGDRegularizationSimpleTest"
< rcurtin> zoq: right, sorry, I misread the snippet
< zoq> rcurtin: ah, I see what you mean, the first template MatType
< arunreddy> as zoq: pointed out, it uses a different constructor.
< rcurtin> this should be
< rcurtin> LogisticRegression<> lr<decltype(sgd)>(sgd);
< rcurtin> I think?
< zoq> yes, that's the correct one
< zoq> totally missed: template<typename MatType = arma::mat>
< arunreddy> Am I missing something here?
< arunreddy> LogisticRegression<> lr<decltype(sgd)>(sgd);
< arunreddy> logistic_regression_test.cpp:512:26: error: expected ';' at end of declaration
< arunreddy> LogisticRegression<> lr<decltype(sgd)>(sgd);
< arunreddy> y
< rcurtin> I'm not sure what the exact syntax is for instantiating a template class with a template constructor
< rcurtin> I'm not actually sure that's a thing I've ever done
< rcurtin> maybe searching around stackoverflow might give you the answer for what the correct syntax is...
< arunreddy> ok.
< kris1> zoq: i asked a few doubts earlier if you clear them out it would be great. Thanks for the gist i was thinking along the same lines.
< zoq> kris1: You are right about the enable_if construct, and just took a quick look at the website and I think it looks good; http://shaharmike.com/cpp/sfinae/ is the one linked on the gsoc page
< kris1> zoq: i still don't get this  1. in operator function we call LayerFanIN(layer). but shouldn't we call it like LayerFanIn<sometype>(layer). 
< zoq> About LayerFanIn<sometype>(layer) yes, that's basically what we did, you could also use: LayerFanIn<decltype(layer->OutputParameter()>(layer);
< chvsp> rcurtin: Kindly have a look at my PR. I have made the necessary changes so that arff file loader is case insensitive and added a test as well
< zoq> kris1: If we pass layer->OutputParameter() as second parameter, the compiler has to figure out the type for us.
< zoq> kris1: So that P is the type of layer->OutputParameter().
< rcurtin> chvsp: I have a thousand emails to answer, I will look at it when I get to it
< rcurtin> no need to remind me, it is already in the queue
< rcurtin> "a thousand" may be an exaggeration but it sure does feel that way
< chvsp> rcurtin: I understand... :)