Open in new window / Try shogun cloud
--- Log opened Sat Apr 21 00:00:15 2012
--- Day changed Sat Apr 21 2012
CIA-64shogun: Viktor Gal master * r68d1090 / doc/Doxyfile : Show inherited functions in the class documentation -
CIA-64shogun: Soeren Sonnenburg master * rdc284a5 / doc/Doxyfile :00:03
CIA-64shogun: Merge pull request #475 from vigsterkr/master00:03
CIA-64shogun: Show the inherited functions in the doxygen doc -
gsomixok, homework is finished00:04
gsomixI just will have watched this video before I fall asleep:
gsomixgood night, guys00:08
@sonney2kwiking, do you understand why the apply() function from CMulticlassMachine is not visible in CLibSVMMulticlass?00:14
@sonney2kcausing these errors:
@sonney2kI don't get it...00:14
wikingmmm lemme check00:15
@sonney2khierarchy is a bit deep : Machine -> MulticlassMachine -> KernelMulticlassMachine -> MulticlassSvm -> LibSVMMulticlass00:16
wikingi don't even see apply() in shogun/classifier/svm/LibSVMMulticlass.h00:18
@sonney2kit is not in LibSVMMulticlass00:18
@sonney2kit is in MulticlassMachine00:18
wikingoh yeah00:19
wikingi see now00:19
wikingah ok00:20
wikingvirtual CLabels* apply();00:20
@sonney2kbut all do class MulticlassSVM : public KernelMulticlassMachine00:20
@sonney2kso it should be visible...00:21
wikinglol this is really weird00:22
@sonney2kwiking, it is crazy00:34
@sonney2kif I define the apply() function in LibSVMMulticlass and just let it call CKernelMulticlassMachien::apply() then it works00:35
@sonney2kwiking, here is the (subtle!) reason 23.9 in c++ faq
wiking"It means you're going to die.00:39
wikingso you'll need using00:40
wikingso this is what all the clang error is with hidding00:40
@sonney2kwiking, actually the better fix is to remove apply(int) from LibSVMMulticlass00:40
wiking"../shogun/lib/Array.h:134:30: note: hidden overloaded virtual function 'shogun::CArray<long double>::get_name' declared here00:41
wiking                inline virtual const char* get_name() const { return "Array""00:41
wikingand such00:41
@sonney2kit should go in MulticlassMachine00:41
@sonney2kthen all would be good again00:41
wikingah not this one00:41
wikingso like this one:00:41
wiking"ib/Array3.h:308:30: warning: 'shogun::CArray3<long long>::get_name' hides overloaded virtual function [-Woverloaded-virtual]00:41
wiking                inline virtual const char* get_name() { return "Array3"; }"00:41
@sonney2kwiking, CArray and friends are obsolete and scheduled for removal by gsomix :)00:42
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]00:57
-!- Netsplit *.net <-> *.split quits: naywhayare01:02
-!- Netsplit over, joins: naywhayare01:02
CIA-64shogun: Soeren Sonnenburg master * r949fd1d / (2 files in 2 dirs):01:04
CIA-64shogun: workaround fix that fixes compile error of multiclass examples01:04
CIA-64shogun: real fix should remove apply(int) from MulticlassSVM (and move it01:04
CIA-64shogun:  MulticlassMachine) instead -
-!- Netsplit *.net <-> *.split quits: naywhayare01:05
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun01:06
-!- Netsplit over, joins: naywhayare01:11
-!- emrecelikten [~emre@] has quit [Ping timeout: 245 seconds]02:06
-!- PhilTillet [~Philippe@] has joined #shogun02:18
-!- hpsoar_ [7c108901@gateway/web/freenode/ip.] has joined #shogun03:10
-!- hpsoar_ [7c108901@gateway/web/freenode/ip.] has quit [Quit: Page closed]03:51
-!- PhilTillet [~Philippe@] has quit [Ping timeout: 264 seconds]05:46
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]05:51
-!- wiking [] has joined #shogun08:41
-!- wiking [] has quit [Changing host]08:41
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun08:41
-!- vikram360 [~vikram360@] has joined #shogun08:58
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]09:00
-!- wiking [] has joined #shogun09:05
-!- wiking [] has quit [Changing host]09:05
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:05
-!- vikram360 [~vikram360@] has quit [Ping timeout: 240 seconds]09:40
-!- vikram360 [~vikram360@] has joined #shogun09:51
-!- vikram360 [~vikram360@] has quit [Ping timeout: 240 seconds]09:59
-!- vikram360 [~vikram360@] has joined #shogun09:59
-!- n4nd0 [] has joined #shogun10:58
-!- blackburn [~qdrgsm@] has joined #shogun10:59
blackburnlol I've been sleeping for 17 hrs10:59
blackburnwhat did I miss?11:00
wikingrebase :>11:05
wikingblackburn: apparently there's going to be 8 slots used11:05
wikingfor this years gsoc of shogun11:05
blackburnwiking: is it supposed to be a surprise for me? ;)11:05
wikinghehehe dunno11:06
n4nd0blackburn: 17 hours!?! that must be a record man11:11
blackburnn4nd0: yeah but my sleep time has been tightly upper bounded with 4 hrs/day this week :D11:12
n4nd0blackburn: how did school stuff go anyway, everything good?11:14
blackburnyeah I passed this shity optics11:14
blackburnNO MORE OPTICS11:14
n4nd0do they give the grades so fast?11:15
blackburnn4nd0: yes it is pass/fail exam11:15
n4nd0ok, I see11:15
blackburn2 days, 9 hours remaining!11:21
gsomixblackburn, "rabotatchs"11:22
gsomixokay :(11:22
-!- pluskid [~pluskid@] has joined #shogun11:31
n4nd0pluskid: hey! I think I didn't tell you, but thank you for the reference to the video in the mailing list11:42
pluskidn4nd0, u r wel~ :)11:42
n4nd0I think it is good11:42
pluskidit seems my last patches have caused a lot of warnings/errors, and sonney2k helped me to fix many, I should also thank him!11:43
pluskidsonney2k, sonne|work, around?11:46
-!- PhilTillet [~Philippe@] has joined #shogun12:02
-!- gsomix [~gsomix@] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)]12:12
n4nd0sonney2k: I got some results with the CT stuff12:41
@sonney2kn4nd0, I am listening :)12:48
@sonney2kpluskid, yeah well I guess it would have been better to compile for all interfaces and run make check-examples for such intrusive things12:49
n4nd0sonney2k: I have not made yet the comparison of just the distance functions12:49
n4nd0sonney2k: but the one with the whole KNN12:49
pluskidsonney2k, OK, I'll remember this12:49
n4nd0sonney2k: for the whole KNN, JL is still faster12:49
pluskidfor the apply(int) issue, putting the "using" statement in MulticlassSVM will solve the problem12:50
pluskidbut there are other problems12:50
pluskidI'm trying to fix them12:50
@sonney2kn4nd0, so then we know that there are other problems12:50
@sonney2kpluskid, I am not happy about the using thing12:50
pluskidsonney2k, why?12:51
n4nd0sonney2k: yeah, there must a bottleneck somewhere else12:51
@sonney2kpluskid, I mean the apply(int) function is not necessary in libsvmmulticlass12:51
@sonney2kso why not move it into multiclassmachine12:51
pluskidsonney2k, there *is* one apply(int) in multiclassmachine12:51
pluskidwhich is marked as unimplemented12:51
@sonney2kn4nd0, well compare the distance functions then the raw tree query /construction times and then we know12:51
n4nd0sonney2k: but I think we cannot forget that JL uses internally float and so on12:52
@sonney2kpluskid, yeah but you can directly implement it12:52
@sonney2knot in *svm kernelmulticlass*12:52
@sonney2kn4nd0, yeah float should give speedup factor 212:52
n4nd0sonney2k: do you think that if making a profile of the code and comparing the total time in JL's distance function with the total time in our distance function gives a fair comparison of them?12:53
blackburnI'm currently moving things to multiclass12:53
blackburn(just FYI)12:53
pluskidblackburn, moving things like LaRank ?12:54
@sonney2kpluskid, so what do you think?12:54
pluskidsonney2k, you mean an apply(int) for a *generic* multiclass machine?12:54
pluskidIs it possible?12:55
@sonney2kpluskid, you have an apply() in there for a generic multiclass machine12:55
@sonney2kso apply(int) should be possible int he same way12:55
blackburnyes it is possible12:56
pluskidIt is possible if we built on top of apply() or apply(Features *)12:56
pluskidlet me think12:57
pluskidI'm a little confused12:57
pluskidso apply(num i), here i should indicate the index in the training samples, right?12:57
-!- harshit_ [~harshit@] has joined #shogun12:58
harshit_hi everyone :)12:58
@sonney2kpluskid, blackburn most important though is to get the buildbot happy again12:58
@sonney2kseems like multiclass is totally borken now12:58
pluskidsonney2k, working hard on that12:58
blackburnsonney2k: why?12:59
pluskidbut in one-vs-one strategy, only a subset of the training samples are used to train each pair12:59
@sonney2kno idea12:59
@sonney2kcheck the buildbot logs12:59
blackburnah I see12:59
blackburnshould be easy to fix13:00
blackburnkernel is not initialized hmm13:00
pluskidblackburn, what do you mean?13:01
blackburnpluskid: it fails on assertion m_kernel13:01
blackburnin gmnp13:01
blackburnand larank13:01
blackburnI'll try to fix it13:01
pluskidok, thank you13:01
pluskidsonney2k, I think I figured out why "apply(int) in MulticlassMachine is possible", I'll try to fix this13:03
* wiking wonders if there's a reason why nobody is putting out an example train/test set for latent svm :O13:04
blackburnwiking: no dataset at all?13:09
wikingthere's no such thing as13:10
wikingexample.train and example.test13:10
wikingso that there are the features out of box13:10
wikingand u would just need to run the classifier on it13:10
wikingeverybody talks about using this and that dataset13:10
wikingbut then what they expect u to do is download the dataset, redo the whole feature extraction13:10
wikingetc etc13:10
@sonney2kwiking, email the people13:14
@sonney2kthat's why I usually did13:14
blackburnyeah may be they will share?13:14
blackburnn4nd0: could you please add some doc for jl covertree to avoid warnings?13:17
n4nd0blackburn: sure13:18
@sonney2kn4nd0, btw how much faster did it get with the distance trick?13:18
n4nd0sonney2k: give me a moment to give you a more less accurate answer, I actually didn't compare that explicitily :P13:20
-!- harshit_ [~harshit@] has quit [Ping timeout: 265 seconds]13:21
-!- Netsplit *.net <-> *.split quits: naywhayare, PhilTillet, pluskid13:22
blackburnsonney2k: modular multiclass is totally ok13:27
@sonney2kblackburn, good to hear13:27
@sonney2kthen I guess setting the kernel is gone for these multiclass machines in the static interface13:27
-!- Netsplit over, joins: PhilTillet, pluskid, naywhayare13:28
@sonney2kblackburn, so git log shogun/ui and then diff and all good :)13:28
blackburnsonney2k: how can it help?13:28
blackburnI don't think it is such a explicit regression13:29
pluskidall back again13:29
-!- harshit_ [~harshit@] has joined #shogun13:32
blackburnsonney2k: I was right - requires some patching at GUIClassifier.cpp:61313:32
n4nd0sonney2k: mmmm it is actually taking more time after the trick ...13:32
PhilTilletpluskid, I think we were moved in some kind of parallel universe :o13:33
pluskidPhilTillet, yes, and it seems they never noticed this13:34
PhilTilletyes :)13:34
pluskidI'm wondering what the IRC log will say after a while13:34
blackburnhah wtf?13:34
blackburnsplit caused some msg misses?13:35
PhilTilletyes there was something like a split :p13:35
PhilTilletpluskid and I were moved to a parallel universe13:35
n4nd0sonney2k: it depends on the datasets, for one with vectors of dimension 10 the trick makes a bit slower13:36
-!- n4nd0 [] has quit [Quit: Lost terminal]13:36
-!- n4nd0 [] has joined #shogun13:36
n4nd0sonney2k: for the second dataset is like half time after the trick13:37
pluskidblackburn, since both of us are working on multiclass, I would like to issue small pull requests13:42
blackburnpluskid: what do you want to fix?13:43
pluskidhere's one moving apply(int) from multiclassSVM to multiclassMachine13:43
pluskidin the pull request I just issued13:43
pluskidso you have fixed all the other errors?13:43
pluskidPhilTillet, it seems to be this:
blackburnpluskid: no havin' a luv time with uninitialized kernel issue13:46
pluskidblackburn, you will do it? or I will do it?13:46
blackburnpluskid: I will13:47
pluskidblackburn, thanks!13:47
PhilTilletpluskid, indeed13:47
pluskidare there any other errors to fix?13:47
pluskidpython_modular is OK now in my local box13:47
blackburnpluskid: modular is ok13:47
blackburnstatic is broken13:47
blackburnpluskid: can you please rebase your patch once I commit my changes?13:48
blackburnit would be really hard to merge it right now13:48
pluskidblackburn, OK13:48
pluskidblackburn, tell me after you commit13:48
blackburnpluskid: I actually renamed libsvmmulticlass13:48
blackburnto multiclasslibsvm13:48
blackburnand moved things13:48
pluskidthat makes merging complicated13:49
pluskidI'll handle it13:49
pluskidsince my changes here are much simpler13:49
-!- harshit_ [~harshit@] has quit [Quit: Leaving]13:49
blackburnpluskid: hmm if you revert classifier.i and classifier/svm changes it would be easy13:50
pluskidblackburn, but that's almost all my changes :p13:50
pluskidhowever, don't worry, I'll deal with the merging13:51
blackburnno, multiclass machine is the most important I thought13:51
blackburnand multiclass svm13:51
blackburnI didn't modify it that much so it will ease merging13:51
blackburnhah using stuff is something surprising for me13:51
pluskidusing is removed now :)13:52
pluskidapply(int) is moved to multiclassMachine13:52
n4nd0see you later guys!13:53
blackburnsee you13:53
-!- n4nd0 [] has quit [Quit: leaving]13:53
blackburnpluskid: hopefully fixed static issue - will try right now14:00
pluskidblackburn, bless ^_^14:00
blackburnattempt #314:01
blackburnthat's painful14:06
pluskidbasically, what's causing errors?14:08
blackburnpluskid: separating things14:08
blackburnpluskid: static handles it as SVM14:08
pluskid"it" means multiclassSVM?14:08
pluskidthat would be painful14:08
blackburnpluskid: that works I think14:13
pluskidblackburn, cool!14:14
-!- vikram360 [~vikram360@] has quit [Ping timeout: 248 seconds]14:15
blackburnpluskid: I haven't thought it would be so intrusive hehe sorry14:22
pluskidblackburn, me too14:22
pluskidI totally forgetten about other interfaces14:22
CIA-64shogun: Sergey Lisitsyn master * r17ff86c / (41 files in 11 dirs): A bunch of multiclass fixes and improvements -
blackburnpluskid: rebase your fix please14:24
pluskidblackburn, ok14:24
blackburnoh damn I shouldn't remove using14:25
blackburnokay we have to wait for your fix to make it compileable14:25
pluskidI'll try to be fast14:25
shogun-buildbotbuild #764 of libshogun is complete: Failure [failed compile]  Build details are at  blamelist: blackburn91@gmail.com14:29
pluskidchecking local compilation14:30
pluskidshogun-buildbot is faster than me, haha14:30
blackburnI fucked up a little14:30
CIA-64shogun: Sergey Lisitsyn master * r9b94e78 / src/shogun/ui/GUIClassifier.cpp : Fix for GUIClassifier include -
pluskidit seems each time I checked out a new branch, all file's timestamp is updated by git, and the whole thing needs to be compile again14:32
blackburnpluskid: hmm really? here it needs to be recompiled each time *.h is changed14:32
blackburnshogun-buildbot: I am so so sorry I didn't mean to break your heart14:33
blackburn:D :D14:33
pluskidI haven't checked carefully, but it seems the compile time becomes long each time when I check out to another branch14:33
blackburnpluskid: I think it related to *.h changes14:33
pluskidcan shogun-buildbot talk? :)14:33
blackburnpluskid: no, I am crazy - that's all ;)14:34
pluskidblackburn, hmm, not sure, will check the next time14:34
pluskidblackburn, I remember seeing him talk, maybe my memory is confused...14:35
blackburnpluskid: all he answers is 'What you say!'14:35
pluskidblackburn, oh, maybe that's what I saw14:35
blackburnpluskid: I hope you use --disable-optimizations14:38
shogun-buildbotbuild #765 of libshogun is complete: Success [build successful]  Build details are at
pluskidblackburn, in ./configure ?14:40
blackburnpluskid: much faster to compile14:40
pluskidblackburn, thanks!14:40
pluskidmy laptop really compiles slow14:40
pluskidI've already disabled all but python_modular interfaces14:41
blackburnpluskid: -00 instead of -O314:41
blackburnhowever interfaces would be slow still14:41
blackburna lot of generated code there14:41
blackburnyou also may use ccache14:41
blackburnand make -j214:42
blackburnor even -j414:42
pluskidI won't do that14:42
pluskidI tried make -j before14:42
pluskidwhole GUI dead14:42
blackburnnot enough ram I guess14:42
-!- vikram360 [~vikram360@] has joined #shogun14:42
pluskidonly 2G here14:42
pluskidI really miss the 8G PC in my lab14:43
pluskidand the 256G-mem server...14:43
blackburnyou should buy new one with gsoc money hehe14:43
pluskidhaha, I guess I will be in school again after this summer, and hopefully there are powerful computers there14:44
pluskidfinished compiling14:44
pluskidruning make check-examples14:44
blackburnI forgot lbshogun example14:46
blackburnpluskid: so is your fix ready?14:49
pluskidI'll issue the pull request14:50
pluskidwait a minute14:50
pluskidbtw: classifier_libsvmmulticlass.cpp:4:52: fatal error: shogun/classifier/svm/LibSVMMulticlass.h: No such file or directory14:50
pluskidshall I fix it here, or you fix?14:50
pluskidyou fix, since you can push directly to the shogun repo14:51
CIA-64shogun: Sergey Lisitsyn master * r0edfe54 / (3 files): Libshogun example fix -
blackburnpluskid: I fixed14:51
-!- karlnapf [] has joined #shogun14:52
blackburnok so I'll merge once you update your pr14:52
blackburnkarlnapf: hey there14:52
karlnapfblackburn, hi :)14:52
pluskidblackburn, see the pull request14:54
blackburnkarlnapf: we are having crazy -> multiclass transition this time14:54
karlnapfblackburn, just saw a bit14:54
karlnapfwhats happening?14:54
CIA-64shogun: Chiyuan Zhang master * rbde47e7 / (4 files in 2 dirs): Move apply(int) from MulticlassSVM to MulticlassMachine -
CIA-64shogun: Sergey Lisitsyn master * rc473349 / (4 files in 2 dirs): Merge branch 'multiclass-fix2' of git:// -
blackburnkarlnapf: we moved all multiclass svms to shogun/multiclass14:56
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]14:56
karlnapfoh wow14:56
karlnapfbut I guess thats good14:56
blackburnpluskid: I hope it will work this time :)14:56
pluskidblackburn, hope, too14:57
blackburnkarlnapf: yes as preparations for gsoc multiclass project14:57
pluskidshogun-buildbot, come up14:57
karlnapfall hail the buildbot :)14:57
blackburnpluskid: I think it is some coffee/tea/vodka time14:57
blackburnit would take a while14:57
blackburnpluskid: I prefer vodka so see you a little later :D14:58
pluskidblackburn, cu14:58
karlnapfblackburn, bye14:59
blackburnkarlnapf: bye :)14:59
blackburnhowever I am not going to vodka right now (april,23 is the vodka day heh) so brb in hour or so15:00
-!- pluskid [~pluskid@] has quit [Ping timeout: 240 seconds]15:05
-!- pluskid [~pluskid@] has joined #shogun15:05
-!- PhilTillet [~Philippe@] has quit [Ping timeout: 240 seconds]15:15
-!- vikram360 [~vikram360@] has quit [Read error: Connection timed out]15:18
-!- vikram360 [~vikram360@] has joined #shogun15:18
-!- n4nd0 [] has joined #shogun15:48
-!- n4nd0 [] has quit [Read error: Operation timed out]16:23
CIA-64shogun: Sergey Lisitsyn master * r4799988 / examples/undocumented/libshogun/classifier_multiclasslibsvm.cpp : Finally fixed multiclasslibsvm example -
-!- vikram360 [~vikram360@] has quit [Ping timeout: 252 seconds]16:50
CIA-64shogun: Sergey Lisitsyn master * r08e238f / src/shogun/ui/GUIClassifier.cpp : Fixed static interface multiclass handling -
blackburnfixed finally16:54
blackburnpluskid: okay it seems buildbot will be happy this time16:55
blackburnpluskid: do you want new task? :)16:55
pluskidbut buildbot seems be asleep? :p16:55
blackburnyeah a littl16:55
pluskidblackburn, haha, what's it?16:55
blackburnno idea - but I can always suggest something16:56
pluskidfor example?16:56
blackburnhmm if you want an example I have to think about and get an idea hehe16:56
blackburnpluskid: it actually depends on what you would like to do16:56
pluskidblackburn, haha, that then depends on what idea I'm finally assigned (if I can luckily get one slot)16:58
-!- wiking [] has joined #shogun16:58
-!- wiking [] has quit [Changing host]16:58
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:58
pluskidI have relatively wide interests, though16:58
-!- wiking [~wiking@huwico/staff/wiking] has quit [Client Quit]16:59
blackburntight situation hehe17:00
-!- wiking [] has joined #shogun17:02
-!- wiking [] has quit [Changing host]17:02
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun17:02
pluskidbtw, other than machine learning related topics, I'm really interested in getting automatic ref-counting in shogun, but that would be a *really* huge project17:02
pluskidand I'm not sure everybody likes it :p17:02
blackburnpluskid: yes it is a good thing but it would override your main project right?17:05
pluskidblackburn, yes17:05
pluskidand such intrusive thing is really better to be tried in seasons where not so many people are working together17:06
pluskidotherwise, merging would be a nightmare, haha17:06
-!- gsomix [~gsomix@] has joined #shogun17:10
-!- karlnapf [] has quit [Ping timeout: 245 seconds]17:13
blackburnpluskid: what do you think about DAG multiclass svm training?17:15
blackburnshit again17:15
blackburnit failed17:16
pluskidblackburn, I have no idea about this17:16
pluskidany reference?17:16
pluskidor brief description?17:16
blackburnhmm I am not aware of any good17:17
blackburnthe idea is clear - it is just a tree classifier17:17
pluskidbut where comes the tree structure?17:18
pluskidby the user?17:18
blackburnyes exactly17:18
blackburnif you have classes 1,2,3,4 you would have something like17:18
blackburn(1,2)      (3,4)17:19
blackburn(1)       (2)           (3)         (4)17:19
pluskidI see17:19
blackburnso there you would need to define 3 classifiers17:19
blackburn1,2 vs 3,417:19
blackburnand two 1 vs 2 and 3 vs 417:19
pluskida binary tree17:19
pluskidI can do this, but is this really useful?17:20
-!- vikram360 [~vikram360@] has joined #shogun17:20
blackburnyes it can be pretty useful17:20
blackburnthis approach constructs sth like lg K classifiers17:21
pluskidhmm, maybe, but preparing a structure as the input can be a lot of work for the user17:21
pluskidyes, it would be more efficient than OvR or OvO17:21
pluskidthough the performance might drops17:21
blackburnthis is not obvious for me actually17:22
blackburnimagine classes lying at17:22
blackburnhow would OvR look like/17:22
pluskidwhat do you mean by +-1 ?17:23
blackburn(1,1) (1,-1) (-1,1) (-1,-1)17:23
pluskidhmm, tree structure could be good in this example17:25
pluskidas long as the tree is correctly constructured17:25
blackburnheh right17:25
pluskidanyway, I think this is a worsewhile task for now17:25
pluskidlet the user to think about the tree structure, I will not care about that, haha17:26
pluskidtime to sleep now, cu tomorrow17:26
blackburnah it is late already17:26
blackburnheh good night17:26
-!- pluskid [~pluskid@] has quit [Quit: Leaving]17:26
-!- karlnapf [] has joined #shogun17:29
CIA-64shogun: Sergey Lisitsyn master * rd453d98 / src/shogun/ui/GUIClassifier.cpp : Fixed mkl applying in static -
-!- PhilTillet [] has joined #shogun17:43
shogun-buildbotbuild #699 of r_static is complete: Success [build successful]  Build details are at
shogun-buildbotbuild #721 of cmdline_static is complete: Success [build successful]  Build details are at
shogun-buildbotbuild #700 of octave_static is complete: Success [build successful]  Build details are at
-!- karlnapf [] has quit [Ping timeout: 248 seconds]18:01
shogun-buildbotbuild #687 of python_static is complete: Success [build successful]  Build details are at
blackburnsonney2k: we are happy people again18:13
shogun-buildbotbuild #512 of java_modular is complete: Success [build successful]  Build details are at
PhilTilletCompiling spree18:15
-!- PhilTillet [] has quit [Quit: Leaving]18:17
-!- PhilTillet [] has joined #shogun18:17
gsomixshogun-buildbot, good work!18:18
shogun-buildbotWhat you say!18:18
shogun-buildbotbuild #535 of octave_modular is complete: Success [build successful]  Build details are at
shogun-buildbotbuild #522 of csharp_modular is complete: Success [build successful]  Build details are at
shogun-buildbotbuild #503 of ruby_modular is complete: Success [build successful]  Build details are at
wikingwe saw that shogun-buildbot18:55
-!- n4nd0 [] has joined #shogun19:04
gsomixn4nd0, hi19:07
-!- n4nd0 [] has quit [Ping timeout: 248 seconds]19:21
-!- blackburn [~qdrgsm@] has quit [Ping timeout: 245 seconds]19:30
-!- karlnapf [] has joined #shogun19:50
karlnapfsonney2k, around?19:50
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has joined #shogun19:55
karlnapfblackburn, hi20:01
blackburnkarlnapf: hey20:01
karlnapfI got a problem, perhaps you can help me20:01
blackburnyes I read you message20:01
blackburnbut I didn't get the problem yet20:02
karlnapfpretty strange20:02
blackburnlet me try to do that once again20:02
karlnapfIll send you a little program which demonstrates the problem20:03
karlnapfnow have a look at the output20:04
karlnapfin conjunction with the method20:04
karlnapfin Parameter.cpp20:04
-!- PhilTillet [] has quit [Ping timeout: 245 seconds]20:05
blackburnkarlnapf: so the problem is that you need to have DynamicObjectArray in that map?20:05
karlnapfI need to serialise a CDynamicObjectArray<CSGObject>20:06
karlnapfbut the new_sgserializable method returns NULL20:06
karlnapfso I get this Warning20:07
blackburnbut it just reads from that generated map right?20:07
karlnapfand I cannot load20:07
karlnapfwhich generated map?20:07
blackburnnew_sgserializable just find in that map20:07
karlnapfBut its not as trivial as just adding it20:07
blackburnkarlnapf: btw don't you think it should be a stl map there?20:08
karlnapfsince I kind of need a type20:08
karlnapfNo, I want to have SG_REF/UNREF20:08
karlnapfOtherwise I will get mad with memory problems20:08
karlnapfThats why we have these containers20:08
blackburnI mean new_sgserializable does search using comparison with each key20:08
blackburnno, not instead of dynobjarray20:09
karlnapfah ok20:09
karlnapfin the class list20:09
blackburninstead of new_sgserializable?20:09
karlnapfwell I dont care actually :)20:09
blackburnthat looks fucking awful for me20:09
blackburnhowever it is not the problem now20:09
karlnapfbut, yes you are right20:09
blackburnkarlnapf: I think if you add it to interfaces/modular/SGBase.i or so20:11
blackburnit would work20:11
karlnapfmmh, but this is before the inferfaces20:11
karlnapfI cannot run any of my libshogun serialization examples20:11
blackburnclass_list is constructed before?20:12
* wiking getting maaaad!20:12
blackburnkarlnapf: but that classlist map is based on names listed in interfaces..20:13
karlnapfoh no20:13
karlnapfI think its not possible to have generic arrays which can have a CSGObject as type20:13
karlnapfbecause this generic type could again be an array20:14
karlnapfand then we cannot map these types to interfaces20:14
karlnapfEach generic type has a single type in interfaces20:14
karlnapfand you cannot do that recursively20:14
karlnapf :(20:14
blackburnsounds bad20:15
karlnapfand thats exactly why CList is not generic20:15
karlnapffuck, I always wondered why that was20:15
karlnapfgoodbye type safety in CSGObject arrays :(20:15
blackburnkarlnapf: can't you have dynobjarray of csubset there?20:16
karlnapfyes, but I need to change DynamicObjectArray to a non-generic type20:16
karlnapflike CList20:17
karlnapfbut then you only know that your elements are CSGObject*20:17
karlnapfnot of which type20:17
-!- karlnapf [] has quit [Ping timeout: 260 seconds]20:30
@sonney2kblackburn, hmmhh I think it is ok to have SGObject in there - it is a YMMV case to have these templated stuff and type safety or just SGObject and casts20:33
@sonney2kI recall that karlnapf did prefer the first variant20:34
@sonney2kand me the second20:34
blackburnsonney2k: I do not get you20:34
blackburnwhich problem it is?20:34
@sonney2kCDynamicObjectArray being templated20:34
@sonney2kvs. just using SGObject's as elements20:35
blackburnI am ok with it but how to solve this problem?20:35
@sonney2kjust remove templates20:35
@sonney2kand use SGObjects20:35
blackburnsonney2k: the only thing I do not like is new_sgserializable code20:35
@sonney2k(1 million typecasts required then...)20:35
@sonney2kwhere SGObjectArray is used20:36
-!- karlnapf [] has joined #shogun20:37
@sonney2kkarlnapf, hmmhh is it soo bad to use SGObjects in there?20:38
@sonney2kI know you have to typecast everywhere20:38
@sonney2kbut that's it20:38
karlnapfsonney2k, no20:38
karlnapfbut do you remember that we discussed this about a year ago?20:39
@sonney2kkarlnapf, yes I just told blackburn that this is a YMMV case20:39
@sonney2keither templates and no cast and assuming SG_REF/UNREF will work20:39
@sonney2kor casting everythwere and knowing that SG_REF/UNREF work20:40
@sonney2kyou were favoring the first variant me the latter20:40
karlnapfI remember :)20:40
@sonney2kit is still like this I guess :)20:40
karlnapfBut the SGREF/UNREF is not so bad20:40
@sonney2kbecause I wrote CList - and that uses the other way20:40
karlnapfbut its impossible so serialise generic arrays where the elements are CSGObjects20:41
@sonney2kI am fine with anything that works20:41
karlnapfdid not see that these days20:41
-!- emrecelikten [~Anubis@] has joined #shogun20:41
karlnapfI think I will change it to be non-generic20:41
karlnapflot of work, but shouldnt be too hard20:41
@sonney2knot a lot of work20:41
karlnapfthen type-safety is lost20:41
karlnapfyes I am using this thing in the parameter trees everywhere20:42
karlnapfbut anyway20:42
karlnapfits easy so change :)20:42
@sonney2kjust remove the template and then do the missing casts (follow compiler errors)20:42
karlnapfyes, will do that20:42
karlnapfbtw then the new subset stuff should finally work20:42
karlnapfIll have diner now, see you20:43
blackburnsonney2k: multiclass things are working again, I guess you know?20:43
@sonney2kI have to modify the baby stroller now to add some board for the older child20:43
@sonney2kblackburn, yeah I've read the log20:43
@sonney2kblackburn, no idea what you changed though20:43
blackburnsonney2k: interface handling20:43
@sonney2kdidn't read any patches - can you give me an update?20:44
blackburnit handled all the things with cast to kernel machine20:44
blackburnand now it checks whether it is a kernel multiclass machine20:44
@sonney2kI see20:44
blackburnbefore it was something like20:44
blackburncasting and then calling the method20:44
@sonney2kyeah I think everything in that function was svm20:44
blackburnit compiles but addresses to some unexistent method20:44
blackburnyes now it can be or svm either mc svm20:45
@sonney2kmakes sense20:45
@sonney2kalright stroller is waiting...20:45
@sonney2kblackburn, btw - I have one question - shouldn't KernelMulticlassMachine not better be renamed to MulticlassKernelMachine?21:00
blackburnsonney2k: I have no idea21:00
blackburnactually yes21:00
blackburnsonney2k: but is it really worth such refactoring?21:01
blackburnboth sounds ok I think21:02
blackburnsonney2k: hmm I think we need to stay it as it is21:05
blackburnboth kernelmulticlassmachine and linearmulticlassmachine are descendants of multiclassmachnie21:05
blackburnif it is multiclasskernelmachine it would look like it is a descendant of kernelmachine but that is not true21:06
@sonney2kblackburn, good argument!21:20
* sonney2k returns from the stroller job :)21:21
@sonney2kblackburn, this is how it looks like (in theory)
blackburnsonney2k: hehe so what did you change?21:22
@sonney2kblackburn, I added this buggy board21:22
@sonney2kattach some connectors to the orig strolley21:23
blackburnto the bottom?21:23
blackburnwhat is the purpose?21:23
@sonney2kthat's the purpose21:24
@sonney2k1 kid standing on it while the other can rest :D21:24
@sonney2konly problem might be that the old one is not tall enough to see anything - but still I guess it is exciting if you don't have to walk :D21:25
blackburnheh yeah would be exciting still to see around21:25
blackburnsonney2k: can't new_sgserializable in shogun/base/class_list.cpp.templ be  faster?21:25
blackburnwiking: the dataset?21:26
blackburneven code is here21:28
wikingyeah i give a fuck about that one21:32
wikingof course now the problem is that it's a structural svm :D21:33
wikinganyways i can mod i hope the data set21:33
wikingthese are the kind of code that drives me fucking nuts. in the src hardcoded: kernelFile = '/afs/'21:39
wikinggood to know that stanford uses ads :D21:39
@sonney2kblackburn, yes of course21:40
@sonney2kbinary search at least21:40
blackburnsonney2k: I suggest to patch it to gsomix :)21:41
blackburnwiking: I always laugh on such paths21:41
@sonney2kblackburn, well it is not really that important isn't i?21:41
@sonney2kI mean when in serialization loading the data is slow not determining the class name or?21:42
@sonney2kotherwise gsomix's hashmap is the thing to use21:42
blackburnsonney2k: heh right but doing some different patches could be fun21:42
blackburnand some not beautiful code there heh21:43
blackburnsonney2k: okay next question while you are around21:44
blackburnwhat is separation?21:44
blackburnwhat is the reason to keep both in new file's copyrights?21:45
@sonney2kblackburn, lots of stuff is copyright tu berlin / fraunhofer / max-planck21:45
@sonney2keven though I've written it21:45
blackburnbut new?21:45
@sonney2kfor new files it doesn't matter21:46
blackburndoes this copyright prolongate?21:46
@sonney2kI mean I even prefer giving the copyright to the students21:46
@sonney2kI mean they can choose a (gpl compatible) license and use their code and release it under some other license if they want21:46
@sonney2kfrom this year on :)21:47
@sonney2klast year it was all (C) fraunhofer, tu, max-planck21:47
blackburnI was thinking about some more general like Shogun team or so21:48
blackburnbut it makes no sense ,right?21:48
@sonney2kblackburn, for new ones you mean?21:48
blackburnsonney2k: yes21:49
blackburnsonney2k: and what about prolongation?21:49
@sonney2kyou mean 2010->2011->2012?21:49
blackburnif it is 1999-200821:49
blackburnshould we update it to 2012?21:49
blackburnor start new copyright21:49
@sonney2kstart new21:51
@sonney2kI am usually to lazy to update these things... but in principle the rule would be everyone who touches a files also has a (C) line in there21:52
blackburnsonney2k: I will prepare some list of classes we need to doc21:53
blackburnfor our doc madness :D21:53
blackburnand some assignments I think21:54
blackburnkugelshreiber lol21:58
@sonney2kblackburn, 'dostoprimetschatchelnosti' is better or what?22:04
blackburnsonney2k: LOL22:04
blackburnsonney2k: recall me how to say it in german then?22:04
blackburnI bet it is not shorter ;)22:04
@sonney2ksehenswuerdigkeiten :D22:06
blackburnthat is not easier to spell22:06
blackburnI'd say harder however I am able to22:07
blackburnhmmm my connection sucks22:08
blackburntime for rest a little more heh22:10
blackburnsee you22:11
-!- blackburn [5bde8018@gateway/web/freenode/ip.] has quit [Quit: Page closed]22:11
gsomixmath homework - done => time to sleep22:20
gsomixgood night, guys22:20
@sonney2kcu all22:29
-!- gsomix [~gsomix@] has quit [Ping timeout: 244 seconds]22:34
-!- n4nd0 [] has joined #shogun22:35
@sonney2kn4nd0, so how big where the data?22:39
@sonney2kdims and number of examples I mean22:39
n4nd0sonney2k: in both cases I used 10k vectors for training, 10k vectors to classify22:40
n4nd0in one of the examples the dimension is 1022:40
n4nd0in the other one is larger22:40
n4nd0for the one that is larger, KNN after the trick (x-y)? = x? + y? ...22:41
n4nd0was faster22:41
n4nd0for the other, it turned out to be slower22:41
n4nd0sonney2k: for the larger one, the dimension is exactly equal to 58022:43
n4nd0sonney2k: what do you think?22:43
@sonney2kn4nd0, what exactly did you compare?22:45
@sonney2kKNN + covertree runtime?22:45
@sonney2kI fail to see how it possibly can be faster - except if one has to do ||x-y|| for very few pairs of (x,y)22:47
n4nd0maybe the bound in the distance helped22:49
n4nd0but also, I think I don't really get why doing the decomposition should be that effective22:49
n4nd0when doing ||x-y|| I understand that the fact that it makes it to be "slow" to compute is that one needs to traverse the whole vector (providing that no bound is used)22:50
n4nd0but doing the decomposition we don't save this since it is still required to compute the part 2?x?y22:51
n4nd0do you see my point? There must be something I am not thinking correctly22:51
@sonney2kn4nd0, you can apply the bound to ||x||^2 too btw22:54
-!- PhilTillet [] has joined #shogun22:55
n4nd0yeah, I can do thtat22:58
n4nd0mmm no wait, I don't think so22:59
n4nd0since we do22:59
n4nd0x^2 + y^2 - 2?x?y22:59
n4nd0we cannot be sure about the bound before 2?x?y is computed since it has a negative sign22:59
n4nd0anyway, what about what I asked ^?23:00
n4nd0why should this trick makes things much faster?23:00
@sonney2kn4nd0, problem is you need to do some systematic evaluation - with all the unsure factors it is hard to come to any conclusion23:00
-!- PhilTillet [] has quit [Quit: Leaving]23:01
-!- PhilTillet [] has joined #shogun23:01
@sonney2kn4nd0, because one just has to compute \sum_i x_i y_i instead of \sum_i (x_i - y_i)*(x_i-y_i)23:01
@sonney2ksee a lot less operations23:02
@sonney2kand one can use *fast* blas routines23:02
n4nd0not a good idea to think of it in terms of O(?) notation23:03
@sonney2knot at all23:03
@sonney2kn4nd0, but you should really time things seperately, just computing distance matrix (element by element) with JL's impl / this one / old one23:03
n4nd0sonney2k: with systematic evaluation the thing that you suggest is to test the modules individually, e.g. test how *just* the different distance functions perform23:03
n4nd0ok, you already answered :D23:03
@sonney2kthen cover tree construction times in shogun's JL covertree23:04
@sonney2kand in JLs covertree23:04
@sonney2kand query23:04
@sonney2konly then we will know23:04
n4nd0sonney2k: I am a bit unsure about testing the distance function23:04
n4nd0sonney2k: since this is called from the cover tree construction or query23:05
n4nd0I think the idea would be to count how many times it is called building the cover tree + querying it23:05
n4nd0later do a test that calls the different distance functions this number of times23:06
@sonney2kn4nd0, well then accumulate the time that is spend in computing the distance in there23:06
@sonney2kjust have 3 variables23:06
@sonney2k1 construction time (excludes distance comput)23:06
@sonney2k2 distance comput23:06
@sonney2k3 query time (w/o distance comput)23:07
n4nd0aham, I like the idea, I didn't consider it at all23:07
* n4nd0 is taking notes23:07
@sonney2kn4nd0, please give this a shot ... and I am very interested in seeing these results23:09
@sonney2kn4nd0, ahh btw if you use atlas - where did you get it from?23:09
n4nd0sonney2k: yeah23:09
n4nd0mm I don't know what you mean23:10
@sonney2kwhich atlas library did you use and did you compile it your own?23:10
n4nd0this is the atlas library I have installed23:11
n4nd0libatlas-base-dev                              3.8.4-3build123:11
n4nd0but I didn't do anything special to do this23:12
n4nd0I am sorry, but I don't get your question :S23:12
@sonney2kn4nd0, atlas shipped with ubuntu / debian is orders of magnitude slower than what you can get when compiling it your own23:13
@sonney2kto do so (on ubuntu / debian) do23:13
@sonney2kcd /tmp23:13
@sonney2kapt-get source atlas23:13
@sonney2kcd atlas-*23:14
@sonney2kfakeroot ./debian/rules custom23:14
@sonney2kthen you get a new package that you can install which is optimized for your system23:14
@sonney2kit really makes a *HUGE* difference23:14
n4nd0cool, I am doing it right now23:15
@sonney2kit is like enabling optimizations like sse or so23:16
@sonney2kanyways I have to sleep now - looking forward to see the results23:16
n4nd0good night23:17
PhilTilletn4nd0, that trick with dot(x-y,x-y) is interesting :p23:19
PhilTilletI had not really understood the point either :p23:19
n4nd0so the idea is that in order to compute the Euclidean distance between two points23:19
n4nd0something like23:20
PhilTilletyes I get it now23:20
n4nd0it is already implemented in GaussianKernel if you are interested in any case23:20
PhilTilletI mean, when I implemented gaussian kernel for GPU23:20
PhilTilleti didn't understant that trick23:20
PhilTilletso I didn't use it23:20
n4nd0haha ok23:21
PhilTilletO(.) is misleading23:22
n4nd0yeah, for this example it doesn't explain it23:23
n4nd0one has to go a bit more to the # operations23:23
PhilTilletyep :p23:24
PhilTilletafter all, I guess n is still 3times faster than n23:24
PhilTilletthan 3n*23:24
PhilTilletI think algorithmics can be a trap23:26
PhilTilletcause a lot of implementation stuffs have to be taken into account :p23:26
n4nd0well, it is from *theoretical* CS23:28
n4nd0I like it quite a lot anyway23:28
PhilTilletboth are super useful23:28
--- Log closed Sun Apr 22 00:00:19 2012