IRC logs of #shogun for Tuesday, 2014-05-27

--- Log opened Tue May 27 00:00:06 2014
-!- lisitsyn1 [~qdrgsm@80.252.20.67] has quit [Read error: Connection reset by peer]00:28
-!- zxtx [~zxtx@67.220.94.21] has quit [Read error: Connection reset by peer]00:38
-!- zxtx [~zxtx@sunnythinking.org] has joined #shogun00:38
@HeikoSwiking: around?01:00
@HeikoSsonney2k: around?01:00
@HeikoSthoralf: around?01:00
@HeikoSbesser82: around?01:00
@HeikoSlambday: around?01:00
-!- kislay [~Abhijeet@27.116.52.186] has joined #shogun01:31
kislayhey HeikoS01:31
@HeikoSkislay:  hey!01:32
@HeikoSkislay: say do the cloud notebooks work for you?01:32
kislaynever!01:32
kislaynever till now01:32
lambdayHeikoS: hey101:33
lambdayHeikoS: sorry I was away01:33
@HeikoSkislay: I see01:33
@HeikoSlambday: any ideas why the cloiud notebooks dont work?01:33
lambdayHeikoS: no man!01:33
lambdayI actually never checked it01:34
lambdayor did I... don't remember :/01:34
kislayHeikoS, lambday hey, if anyone can give me a review on my PR #2250.01:34
kislayon the cpp stuff. It would be helpful.01:35
lambdaykislay: alright let me have a look if I can help :)01:35
kislaylambday, thanks :)01:35
-!- PirosB3 [~pirosb3@host80-223-dynamic.246-95-r.retail.telecomitalia.it] has quit [Quit: PirosB3]01:36
lambdaykislay: there?01:53
kislayyeah01:53
kislaylambday, The enum thing that you said. I need to use replace 0 for uint8, 1 for int8...and so on.01:55
lambdaykislay: I think we have enums for that, no?01:55
kislaylambday, I have no idea.01:55
lambdaykislay: let me help you wiht that01:55
lambdayjust a min01:55
lambdaykislay: have a look here - https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/lib/DataType.h#L4601:56
lambdaywill that work?01:56
lambdayor do you need exact 0 there?01:57
kislayexact 0. It's the way OpenCV wants it!01:57
lambdaykislay: okay I see. Then may be define an enum somewhere01:57
lambdayI mean, using 0, 1... things like that is a bit confusing IMO01:58
lambdayjust a suggestion though01:58
lambdaykislay: but please take care of the multi line thing :)01:58
kislaylambday, err... sorry. what is it?01:59
lambdaykislay: read comments :D02:00
kislaylambday, got it. :)02:07
lambdaykislay: :)02:07
lambdaykislay: you're not up all night, are you?02:07
kislaylambday, no. I woke up at 4 :)02:08
-!- HeikoS [~heiko@0542590b.skybroadband.com] has quit [Quit: Leaving.]02:08
kislaylambday, you doing a all-nighty ?02:08
lambdaykislay: hahaha... that happens? :D02:08
lambdaykislay: yeah I am no more a homo sapiens02:09
kislaylambday, haha. I am getting transformed lately too. slowly slowly..02:09
lambdaykislay: better late than never :P02:10
khalednasrlambday, hey02:13
lambdaykhalednasr: hey man02:13
lambdayhow's it going?02:14
khalednasrI tried a few things02:14
khalednasrdid you mean making the base class look like:02:14
khalednasrtemplate <class Info1, class Info2, enum Backend,template<class,Info1, Info2...>class Matrix,class T,Info1 I1, Info2... I2>02:14
khalednasrlambday, I tried that but I can't figure out how to specialize it for viennacl matrices02:18
lambdaykhalednasr: variadic templates02:19
lambdaytemplate <class Info, enum Backend, template<class,class...,Info...> class Matrix, class ST, class.... T>02:19
lambdayso matrix now works with 1 required template arg (1st one - scalar type)02:20
lambday2nd arg is optional.. so zero or more... which would be 0 in case of SGMatrix, and Eigen3 matrix and one for ViennaCL matrix02:20
khalednasrlambday, does c++ allow two argument packs for templates?02:21
lambdayand last one us again nothing for SG, int... for Eigen3, and unsigned int for viennacl02:21
lambdaykhalednasr: what do you mean?02:21
lambdaykhalednasr: I think what I just wrote here would work...02:22
lambdaythis should be the basic struct02:22
lambdaythen later specialize as mentioned above...02:23
khalednasrlambday, just a sec, I'll check something02:23
khalednasrlambday, if you try something like: template <class..., int...> struct bar {};02:27
khalednasrlambday, it won't compile02:27
khalednasrlambday, you can't have multiple parameter packs02:27
lambdaykhalednasr: nah... you gotta use it like template <class... T, int... Other> struct bar {};02:27
lambdaylater expand the packs as T... and Other...02:27
lambdaylet me try02:28
lambdaykhalednasr: ah I got your pt02:30
lambdayyep you're right02:30
lambdayand in that case its a bummer :/02:31
khalednasryeah that sucks02:31
lambdayummm..02:32
khalednasrlambday, we could get around the entire problem if we restrict ourselves to only column-major or only row-major viennacl matrices..02:35
lambdaykhalednasr: but that's a bad limitation to have, no? :(02:36
lambdaykhalednasr: may be the only other way to deal with this is to use another separate class altogether02:36
lambdaythat only deals with viennacl sums02:37
lambdaynot sure how ugly would that be02:37
khalednasrlambday, if we do that we'd  still have the same problem if we wanted to do matrix multiplication or any other matrix operation02:38
lambdaykhalednasr: yeah that's also true02:39
lambdaysucks to have duplicates02:39
khalednasrlambday,maybe we could have two specializations, one for column major and on for raw major matrices..02:39
lambdaykhalednasr: what is default? row-major or col-major?02:39
khalednasrlambday, row major02:40
lambdaykhalednasr: that sounds like a better idea!02:40
lambdaykhalednasr: so could you please try just row major for now and see if it fits?02:40
khalednasrlambday, I tried something like:02:41
khalednasrtemplate <class T, unsigned int Info>02:41
khalednasrusing VCLMatrix= viennacl::matrix<T, viennacl::row_major, Info>;02:41
lambdayso that works?02:42
khalednasrlambday, and then VCLMatrix works directly with the specialization02:42
khalednasrlambday, just like a vector02:42
lambdaykhalednasr: so it fits, right?02:42
lambdayonly row-major as of now is fine02:43
khalednasrlambday, better make it column major, since thats the shogun default02:43
lambdaykhalednasr: eigen3 default also... but my concern is,  we intend to do this because we want viennacl matrices to pass directly do these methods, right? so in that case its less probable that someone would actually any other template except the scalar type and rely on the defaults for the rest02:44
lambdaykhalednasr: what do you think?02:45
khalednasrlambday, I see02:45
lambdaydo you think that converting would take time if I pass SGMatrix (col-major) and convert it to vienncl (row-major) ?02:46
khalednasrlambday, passing SGMatrix into a viennacl backend method?02:46
lambdayif performance wise the drawback is less then I guess its okay to have row-major02:46
lambdaykhalednasr: yes02:46
lambdaykhalednasr: we would always have to copy, right?02:47
khalednasrlambday, I don't think it would take much time, since you'd already be copying it02:47
khalednasryeah02:47
lambdaykhalednasr: so in that case, I'll vote for default02:47
khalednasrlambday, but I need column major matrices for neuralnets :D02:48
khalednasrlambday, we could just do both02:48
lambdaykhalednasr: haha I see :D so please go ahead with col-major as of now02:48
lambdaythat you urgently need02:48
lambdaymay be add row-major later?02:48
khalednasrit would be pretty much just copy-paste, so it shouldn't be a problem02:49
lambdaygot a bit ugly here.. I thought they would use similar thing for matrices as well - bad design for them :@02:49
lambdayhaha yeah02:49
lambdayeigen3's design is impressive!02:50
khalednasryeah :)02:50
lambdaykhalednasr: alright so col-major it is02:50
lambdayin fact I'll also add a few more for vectors... so lets push this a bit before thursday02:50
lambdaymine is independent of what you're doing so we won't run into any crazy merge conflicts I suppose02:51
khalednasryeah probably02:51
khalednasrlambday, so, where should I put this? : template <class T, unsigned int Info> using VCLMatrix= viennacl::matrix<T, viennacl::row_major, Info>;02:52
lambdayimplementation/Sum.h would do, right?02:53
lambdaythat's included in modules/Redux.h02:53
khalednasrlambday, well, users of the library would have to use VCLMatrix02:53
khalednasrand it would be used in other modules too02:53
lambdayah crap02:54
lambdaymay be a Base.h somewhere02:54
lambdayand include that in Sum.h02:54
lambdaywhereever you feel it should go properly02:55
khalednasryeah I guess02:55
lambdayso that only using mathematics/linalg.h in our applications it becomes immediately available02:55
lambdayand within linalg as well02:55
khalednasralright02:56
lambdayalso, if you later do the row-major stuff, its may be better to use different names for both02:56
lambdayso VCLMatrixRowMajor (ugly ugly ugly)02:56
lambdaysuggest some names :D02:56
khalednasrI was gonna suggest that :D02:57
lambdaywe're gonna be the worst people ever while suggesting baby names I tell you :D02:57
lambdaybut its alright02:57
khalednasr:D02:57
lambdayits understandable02:58
lambdayand clean02:58
lambdaykhalednasr: thanks for catching this stuff, man.. looking forward to see it at work :)02:59
lambdayone of the main reason why Heiko wanted to have a few more methods added before it makes it to develop02:59
shogun-buildbotbuild #13 of nightly_fedora is complete: Failure [failed git]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_fedora/builds/13  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Fernando Iglesias <fernando.iglesiasg@gmail.com>, jiaolong <jiaolongxu@gmail.com>, Wu Lin <yorker.lin@gmail.com>, lambday <heavensdevil6909@gmail.com>03:00
lambdayouch!03:00
khalednasrlambday, lol :D03:00
lambdaykhalednasr: what's the time there?03:00
khalednasrlambday, 4 am:)03:01
lambdaykhalednasr: hmm... 6:30 here... I'm gonna catch some sleep03:01
khalednasryeah me too03:02
lambdaykhalednasr: ciao tomorrow man.. nice discussion :)03:02
lambdaygood night03:02
khalednasrlambday, bye, nice talking to you :)03:02
lambdaykhalednasr: likewise :)03:02
-!- lambday [67157f4f@gateway/web/freenode/ip.103.21.127.79] has quit [Quit: Leaving.]03:02
-!- khalednasr [~k.nasr92@196.221.66.173] has quit [Quit: Leaving]03:04
shogun-buildbotbuild #708 of nightly_all is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_all/builds/70803:11
shogun-buildbotbuild #811 of nightly_default is complete: Failure [failed notebooks]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/811  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Fernando Iglesias <fernando.iglesiasg@gmail.com>, jiaolong <jiaolongxu@gmail.com>, Wu Lin <yorker.lin@gmail.com>, lambday04:40
shogun-buildbot<heavensdevil6909@gmail.com>04:40
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has joined #shogun07:00
-!- witness___ [uid10044@gateway/web/irccloud.com/x-brvezkphvqqatsak] has joined #shogun07:13
-!- pickle27 [~pickle27@192-0-136-118.cpe.teksavvy.com] has quit [Remote host closed the connection]07:33
-!- HeikoS [~heiko@0542590b.skybroadband.com] has joined #shogun08:49
-!- mode/#shogun [+o HeikoS] by ChanServ08:49
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun08:52
shogun-notifier-shogun: Parijat Mazumdar :develop * d923cb1 / / (4 files): https://github.com/shogun-toolbox/shogun/commit/d923cb10ed5e2ef489857362d45d6c7e9ed4af6508:52
shogun-notifier-shogun: pruning and missing values features added in CART08:52
shogun-notifier-shogun: Fernando Iglesias :develop * 4bfa55e / / (4 files): https://github.com/shogun-toolbox/shogun/commit/4bfa55e616861fb9627ddcf754ee605d5beac55108:52
shogun-notifier-shogun: Merge pull request #2255 from mazumdarparijat/CART08:52
shogun-notifier-shogun:08:52
shogun-notifier-shogun: prune method added and missing values handled08:52
-!- Saurabh7 [~Saurabh7@117.200.178.253] has joined #shogun09:05
thoralfHeikoS: around.09:43
-!- PirosB3 [~pirosb3@host80-223-dynamic.246-95-r.retail.telecomitalia.it] has joined #shogun10:04
-!- PirosB3 [~pirosb3@host80-223-dynamic.246-95-r.retail.telecomitalia.it] has quit [Ping timeout: 255 seconds]10:08
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has joined #shogun11:20
-!- mroemer [8602ac52@gateway/web/freenode/ip.134.2.172.82] has joined #shogun11:32
-!- mroemer [8602ac52@gateway/web/freenode/ip.134.2.172.82] has quit [Client Quit]11:34
shogun-buildbotbuild #320 of debian wheezy - memcheck is complete: Failure [failed memory check]  Build details are at http://buildbot.shogun-toolbox.org/builders/debian%20wheezy%20-%20memcheck/builds/320  blamelist: Fernando Iglesias <fernando.iglesiasg@gmail.com>, Parijat Mazumdar <mazumdarparijat@gmail.com>11:40
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]11:52
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has quit [Quit: PirosB3]12:17
-!- lisitsyn [~lisitsin@mxs.kg.ru] has joined #shogun12:25
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has joined #shogun12:31
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has quit [Quit: PirosB3]13:00
-!- khalednasr [~k.nasr92@196.221.76.69] has joined #shogun13:44
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has joined #shogun13:55
-!- [1]Saurabh7 [~Saurabh7@117.200.178.253] has joined #shogun14:12
-!- Saurabh7 [~Saurabh7@117.200.178.253] has quit [Ping timeout: 264 seconds]14:14
-!- [1]Saurabh7 is now known as Saurabh714:14
-!- kislay [~Abhijeet@27.116.52.186] has quit [Ping timeout: 252 seconds]14:16
-!- HeikoS [~heiko@0542590b.skybroadband.com] has quit [Quit: Leaving.]15:56
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has quit [Ping timeout: 240 seconds]16:11
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has joined #shogun16:12
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun16:12
-!- khalednasr [~k.nasr92@196.221.76.69] has quit [Quit: Leaving]16:22
-!- HeikoS [~heiko@pat-191-250.internal.eduroam.ucl.ac.uk] has joined #shogun16:27
-!- mode/#shogun [+o HeikoS] by ChanServ16:27
-!- HeikoS [~heiko@pat-191-250.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:07
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has joined #shogun17:19
-!- mode/#shogun [+o HeikoS] by ChanServ17:19
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]17:33
-!- kislay [~Abhijeet@27.116.52.105] has joined #shogun17:58
-!- abinash_panda [75d659e0@gateway/web/freenode/ip.117.214.89.224] has joined #shogun17:59
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has joined #shogun18:18
-!- mode/#shogun [+o HeikoS] by ChanServ18:18
-!- khalednasr [~k.nasr92@196.221.76.69] has joined #shogun18:18
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]18:25
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]18:32
-!- Saurabh7 [~Saurabh7@117.200.178.253] has quit [Ping timeout: 252 seconds]18:36
-!- Saurabh7 [~Saurabh7@59.88.38.163] has joined #shogun18:37
-!- pickle27f [~pickle27@216.191.231.218] has joined #shogun18:40
-!- Saurabh7 [~Saurabh7@59.88.38.163] has quit [Read error: Connection reset by peer]18:49
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has quit [Quit: PirosB3]18:51
-!- witness___ [uid10044@gateway/web/irccloud.com/x-brvezkphvqqatsak] has quit [Quit: Connection closed for inactivity]18:53
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has joined #shogun18:55
-!- kislay [~Abhijeet@27.116.52.105] has quit [Ping timeout: 240 seconds]19:12
-!- kislay [~Abhijeet@103.240.205.205] has joined #shogun19:29
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has joined #shogun19:31
-!- mode/#shogun [+o HeikoS] by ChanServ19:31
-!- khalednasr [~k.nasr92@196.221.76.69] has quit [Quit: Leaving]19:33
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has quit [Client Quit]19:34
-!- PirosB3 [~pirosb3@host48-206-static.58-79-b.business.telecomitalia.it] has quit [Quit: PirosB3]19:36
-!- abinash_panda [75d659e0@gateway/web/freenode/ip.117.214.89.224] has quit [Ping timeout: 240 seconds]19:53
-!- abinash_panda [75c8e0d7@gateway/web/freenode/ip.117.200.224.215] has joined #shogun20:00
-!- kislay [~Abhijeet@103.240.205.205] has quit [Ping timeout: 258 seconds]20:13
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has joined #shogun20:24
-!- mode/#shogun [+o HeikoS] by ChanServ20:25
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has quit [Client Quit]20:26
-!- PirosB3 [~pirosb3@host80-223-dynamic.246-95-r.retail.telecomitalia.it] has joined #shogun20:36
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has joined #shogun20:37
-!- mode/#shogun [+o HeikoS] by ChanServ20:37
-!- khalednasr [~k.nasr92@196.221.76.69] has joined #shogun20:41
-!- HeikoS [~heiko@nat-178-82.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]21:09
-!- thor|home [~thoralf@91-65-138-218-dynip.superkabel.de] has joined #shogun21:10
thor|homeHeyho.21:11
-!- khalednasr [~k.nasr92@196.221.76.69] has quit [Quit: Leaving]21:47
-!- PirosB3 [~pirosb3@host80-223-dynamic.246-95-r.retail.telecomitalia.it] has quit [Quit: PirosB3]22:08
abinash_pandaHey thor|home !22:11
thor|homeHey ;)22:12
thor|homeI'm just checking your PR.22:12
abinash_pandaOkay :)22:12
-!- abinash_panda [75c8e0d7@gateway/web/freenode/ip.117.200.224.215] has quit []22:16
-!- abinash_panda [~abinash@117.200.224.215] has joined #shogun22:24
-!- abinash_panda [~abinash@117.200.224.215] has quit [Client Quit]22:27
-!- abinash_panda [~abinash@117.200.224.215] has joined #shogun22:27
-!- abinash_panda [~abinash@117.200.224.215] has quit [Client Quit]22:28
-!- abinash_panda [75c8e0d7@gateway/web/freenode/ip.117.200.224.215] has joined #shogun22:29
-!- abinash_1anda [~abinash@117.200.224.215] has joined #shogun22:33
-!- abinash_1anda [~abinash@117.200.224.215] has quit [Client Quit]22:34
thor|homeabinash_panda: I commented your PR.  The code looks good and clean, but I'm missing the unit test and/or a small example.22:41
thor|homeabinash_panda: You already ran some small experiments, right?22:41
-!- abinash_1anda [~abinash@117.200.224.215] has joined #shogun22:42
-!- abinash_1anda [~abinash@117.200.224.215] has quit [Client Quit]22:42
abinash_pandathor|home: Yeah. I did some minor experiments with random data.22:43
abinash_pandathor|home: I would be completing unit tests22:44
thor|homeabinash_panda: Did you compare shogun-results to scikit-learn results?22:44
thor|homei.e. better/worse?22:44
-!- khalednasr [~k.nasr92@196.221.76.69] has joined #shogun22:44
abinash_pandathor|home: No, I have not yet compared them. Let me check now22:44
thor|homeAnd I saw you introduced a small memory leak http://buildbot.shogun-toolbox.org/memcheck/20140527-0803.html22:47
thor|homeI guess it is because you're calling `get_label()` without `SG_UNREF` on the returned label.22:48
abinash_pandathor|home: I checked the results. Both of them gave nearly same output except for few cases in which scikit-learn gave a lot of false negatives (and in those shogun gave some false positives).22:56
thor|homeabinash_panda: Cool.22:56
abinash_pandathor|home: I can run proper benchmarkings on larger data sets and would give a detailed report :)22:57
thor|homeabinash_panda: Do you have "real" datasets to check?22:58
abinash_pandathor|home: No. I was hoping that you could provide me some links.22:59
thor|homeCheck this: http://mulan.sourceforge.net/datasets.html22:59
thor|homeMaybe yeast is good enough.23:00
thor|home./data/multilabel/yeast_test.svm23:00
thor|home./data/multilabel/yeast_train.svm23:00
thor|homeWe already have it.23:00
abinash_pandaOkay. I would use it.23:01
thor|homehttp://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html23:02
thor|homelibsvm is a cool thing.  We can also compare with them.23:02
abinash_pandathor|home: So, I am thinking of first completing the unit tests for this class and after that create some benchmarks tests with libSVM and scikit-learn and would post them on my blog.23:04
thor|homeabinash_panda: Where do I find your blog?23:06
abinash_pandathor|home: Its abinashpanda.github.io. Currently, it doesn't have any articles regarding shogun and GSoC but I am planning to write some :)23:08
-!- pickle27f [~pickle27@216.191.231.218] has quit [Quit: This computer has gone to sleep]23:36
--- Log closed Wed May 28 00:00:07 2014

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!