--- Log opened Sat Apr 21 00:00:15 2012 | ||
--- Day changed Sat Apr 21 2012 | ||
wiking | https://github.com/shogun-toolbox/shogun/pull/475 | 00:00 |
---|---|---|
CIA-64 | shogun: Viktor Gal master * r68d1090 / doc/Doxyfile : Show inherited functions in the class documentation - http://git.io/Spcrfw | 00:03 |
CIA-64 | shogun: Soeren Sonnenburg master * rdc284a5 / doc/Doxyfile : | 00:03 |
CIA-64 | shogun: Merge pull request #475 from vigsterkr/master | 00:03 |
CIA-64 | shogun: Show the inherited functions in the doxygen doc - http://git.io/D5zEYQ | 00:03 |
gsomix | ok, homework is finished | 00:04 |
gsomix | I just will have watched this video before I fall asleep: http://www.youtube.com/watch?v=VznlDlNPw4Q | 00:08 |
gsomix | hehe | 00:08 |
gsomix | good night, guys | 00:08 |
@sonney2k | wiking, do you understand why the apply() function from CMulticlassMachine is not visible in CLibSVMMulticlass? | 00:14 |
@sonney2k | causing these errors: http://shogun-toolbox.org/buildbot/builders/octave_static/builds/691/steps/test_1/logs/stdio | 00:14 |
@sonney2k | I don't get it... | 00:14 |
wiking | mmm lemme check | 00:15 |
@sonney2k | hierarchy is a bit deep : Machine -> MulticlassMachine -> KernelMulticlassMachine -> MulticlassSvm -> LibSVMMulticlass | 00:16 |
wiking | mmm | 00:18 |
wiking | i don't even see apply() in shogun/classifier/svm/LibSVMMulticlass.h | 00:18 |
@sonney2k | it is not in LibSVMMulticlass | 00:18 |
@sonney2k | it is in MulticlassMachine | 00:18 |
wiking | oh yeah | 00:19 |
wiking | i see now | 00:19 |
wiking | ah ok | 00:20 |
wiking | virtual CLabels* apply(); | 00:20 |
@sonney2k | but all do class MulticlassSVM : public KernelMulticlassMachine | 00:20 |
@sonney2k | yeah | 00:20 |
@sonney2k | so it should be visible... | 00:21 |
wiking | lol this is really weird | 00:22 |
@sonney2k | wiking, it is crazy | 00:34 |
@sonney2k | if I define the apply() function in LibSVMMulticlass and just let it call CKernelMulticlassMachien::apply() then it works | 00:35 |
@sonney2k | wiking, here is the (subtle!) reason 23.9 in c++ faq http://www.parashift.com/c++-faq-lite/strange-inheritance.html | 00:37 |
wiking | "It means you're going to die. | 00:39 |
wiking | :D | 00:39 |
emrecelikten | :D | 00:39 |
wiking | hahaha | 00:40 |
wiking | so you'll need using | 00:40 |
wiking | aaah | 00:40 |
wiking | so this is what all the clang error is with hidding | 00:40 |
@sonney2k | wiking, actually the better fix is to remove apply(int) from LibSVMMulticlass | 00:40 |
wiking | "../shogun/lib/Array.h:134:30: note: hidden overloaded virtual function 'shogun::CArray<long double>::get_name' declared here | 00:41 |
wiking | inline virtual const char* get_name() const { return "Array"" | 00:41 |
wiking | and such | 00:41 |
@sonney2k | it should go in MulticlassMachine | 00:41 |
@sonney2k | then all would be good again | 00:41 |
wiking | ah not this one | 00:41 |
wiking | so 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 |
wiking | :> | 00:41 |
@sonney2k | wiking, 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: naywhayare | 01:02 | |
-!- Netsplit over, joins: naywhayare | 01:02 | |
CIA-64 | shogun: Soeren Sonnenburg master * r949fd1d / (2 files in 2 dirs): | 01:04 |
CIA-64 | shogun: workaround fix that fixes compile error of multiclass examples | 01:04 |
CIA-64 | shogun: real fix should remove apply(int) from MulticlassSVM (and move it | 01:04 |
CIA-64 | shogun: MulticlassMachine) instead - http://git.io/8bilYg | 01:04 |
@sonney2k | nite | 01:04 |
-!- Netsplit *.net <-> *.split quits: naywhayare | 01:05 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 01:06 | |
-!- Netsplit over, joins: naywhayare | 01:11 | |
-!- emrecelikten [~emre@176.40.238.20] has quit [Ping timeout: 245 seconds] | 02:06 | |
-!- PhilTillet [~Philippe@157.159.42.154] has joined #shogun | 02:18 | |
-!- hpsoar_ [7c108901@gateway/web/freenode/ip.124.16.137.1] has joined #shogun | 03:10 | |
-!- hpsoar_ [7c108901@gateway/web/freenode/ip.124.16.137.1] has quit [Quit: Page closed] | 03:51 | |
-!- PhilTillet [~Philippe@157.159.42.154] has quit [Ping timeout: 264 seconds] | 05:46 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 05:51 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 08:41 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 08:41 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 08:41 | |
-!- vikram360 [~vikram360@117.192.160.121] has joined #shogun | 08:58 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 09:00 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 09:05 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 09:05 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 09:05 | |
-!- vikram360 [~vikram360@117.192.160.121] has quit [Ping timeout: 240 seconds] | 09:40 | |
-!- vikram360 [~vikram360@117.192.191.63] has joined #shogun | 09:51 | |
-!- vikram360 [~vikram360@117.192.191.63] has quit [Ping timeout: 240 seconds] | 09:59 | |
-!- vikram360 [~vikram360@117.192.191.63] has joined #shogun | 09:59 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 10:58 | |
-!- blackburn [~qdrgsm@188.168.2.179] has joined #shogun | 10:59 | |
blackburn | lol I've been sleeping for 17 hrs | 10:59 |
blackburn | what did I miss? | 11:00 |
wiking | ahhaha | 11:05 |
wiking | rebase :> | 11:05 |
wiking | blackburn: apparently there's going to be 8 slots used | 11:05 |
wiking | for this years gsoc of shogun | 11:05 |
blackburn | wiking: is it supposed to be a surprise for me? ;) | 11:05 |
wiking | hehehe dunno | 11:06 |
n4nd0 | blackburn: 17 hours!?! that must be a record man | 11:11 |
blackburn | n4nd0: yeah but my sleep time has been tightly upper bounded with 4 hrs/day this week :D | 11:12 |
n4nd0 | hehe | 11:14 |
n4nd0 | blackburn: how did school stuff go anyway, everything good? | 11:14 |
blackburn | yeah I passed this shity optics | 11:14 |
blackburn | NO MORE OPTICS | 11:14 |
n4nd0 | cool | 11:14 |
n4nd0 | do they give the grades so fast? | 11:15 |
blackburn | n4nd0: yes it is pass/fail exam | 11:15 |
n4nd0 | ok, I see | 11:15 |
blackburn | 2 days, 9 hours remaining! | 11:21 |
gsomix | blackburn, "rabotatchs" | 11:22 |
blackburn | wrong | 11:22 |
gsomix | okay :( | 11:22 |
-!- pluskid [~pluskid@111.120.90.75] has joined #shogun | 11:31 | |
n4nd0 | pluskid: hey! I think I didn't tell you, but thank you for the reference to the video in the mailing list | 11:42 |
pluskid | n4nd0, u r wel~ :) | 11:42 |
n4nd0 | I think it is good | 11:42 |
pluskid | it 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 |
pluskid | sonney2k, sonne|work, around? | 11:46 |
-!- PhilTillet [~Philippe@157.159.42.154] has joined #shogun | 12:02 | |
-!- gsomix [~gsomix@83.234.54.246] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)] | 12:12 | |
n4nd0 | sonney2k: I got some results with the CT stuff | 12:41 |
@sonney2k | n4nd0, I am listening :) | 12:48 |
@sonney2k | pluskid, yeah well I guess it would have been better to compile for all interfaces and run make check-examples for such intrusive things | 12:49 |
n4nd0 | sonney2k: I have not made yet the comparison of just the distance functions | 12:49 |
n4nd0 | sonney2k: but the one with the whole KNN | 12:49 |
pluskid | sonney2k, OK, I'll remember this | 12:49 |
n4nd0 | sonney2k: for the whole KNN, JL is still faster | 12:49 |
pluskid | for the apply(int) issue, putting the "using" statement in MulticlassSVM will solve the problem | 12:50 |
pluskid | but there are other problems | 12:50 |
pluskid | I'm trying to fix them | 12:50 |
@sonney2k | n4nd0, so then we know that there are other problems | 12:50 |
@sonney2k | pluskid, I am not happy about the using thing | 12:50 |
pluskid | sonney2k, why? | 12:51 |
n4nd0 | sonney2k: yeah, there must a bottleneck somewhere else | 12:51 |
@sonney2k | pluskid, I mean the apply(int) function is not necessary in libsvmmulticlass | 12:51 |
@sonney2k | so why not move it into multiclassmachine | 12:51 |
pluskid | sonney2k, there *is* one apply(int) in multiclassmachine | 12:51 |
pluskid | which is marked as unimplemented | 12:51 |
@sonney2k | n4nd0, well compare the distance functions then the raw tree query /construction times and then we know | 12:51 |
n4nd0 | sonney2k: but I think we cannot forget that JL uses internally float and so on | 12:52 |
@sonney2k | pluskid, yeah but you can directly implement it | 12:52 |
@sonney2k | there | 12:52 |
@sonney2k | not in *svm kernelmulticlass* | 12:52 |
@sonney2k | n4nd0, yeah float should give speedup factor 2 | 12:52 |
n4nd0 | sonney2k: 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 |
blackburn | I'm currently moving things to multiclass | 12:53 |
blackburn | (just FYI) | 12:53 |
pluskid | blackburn, moving things like LaRank ? | 12:54 |
blackburn | yes | 12:54 |
@sonney2k | pluskid, so what do you think? | 12:54 |
pluskid | sonney2k, you mean an apply(int) for a *generic* multiclass machine? | 12:54 |
pluskid | Is it possible? | 12:55 |
@sonney2k | pluskid, you have an apply() in there for a generic multiclass machine | 12:55 |
@sonney2k | so apply(int) should be possible int he same way | 12:55 |
blackburn | yes it is possible | 12:56 |
pluskid | It is possible if we built on top of apply() or apply(Features *) | 12:56 |
pluskid | but | 12:56 |
pluskid | hmm... | 12:57 |
pluskid | let me think | 12:57 |
pluskid | I'm a little confused | 12:57 |
pluskid | so apply(num i), here i should indicate the index in the training samples, right? | 12:57 |
-!- harshit_ [~harshit@182.68.43.52] has joined #shogun | 12:58 | |
harshit_ | hi everyone :) | 12:58 |
blackburn | hi | 12:58 |
@sonney2k | pluskid, blackburn most important though is to get the buildbot happy again | 12:58 |
@sonney2k | seems like multiclass is totally borken now | 12:58 |
pluskid | sonney2k, working hard on that | 12:58 |
blackburn | sonney2k: why? | 12:59 |
pluskid | but in one-vs-one strategy, only a subset of the training samples are used to train each pair | 12:59 |
@sonney2k | no idea | 12:59 |
@sonney2k | check the buildbot logs | 12:59 |
blackburn | ah I see | 12:59 |
blackburn | should be easy to fix | 13:00 |
blackburn | kernel is not initialized hmm | 13:00 |
pluskid | blackburn, what do you mean? | 13:01 |
blackburn | pluskid: it fails on assertion m_kernel | 13:01 |
blackburn | in gmnp | 13:01 |
blackburn | and larank | 13:01 |
blackburn | I'll try to fix it | 13:01 |
pluskid | ok, thank you | 13:01 |
pluskid | sonney2k, I think I figured out why "apply(int) in MulticlassMachine is possible", I'll try to fix this | 13:03 |
* wiking wonders if there's a reason why nobody is putting out an example train/test set for latent svm :O | 13:04 | |
blackburn | wiking: no dataset at all? | 13:09 |
wiking | nothing | 13:10 |
wiking | there's no such thing as | 13:10 |
wiking | example.train and example.test | 13:10 |
wiking | so that there are the features out of box | 13:10 |
wiking | and u would just need to run the classifier on it | 13:10 |
wiking | everybody talks about using this and that dataset | 13:10 |
wiking | but then what they expect u to do is download the dataset, redo the whole feature extraction | 13:10 |
wiking | etc etc | 13:10 |
@sonney2k | wiking, email the people | 13:14 |
@sonney2k | that's why I usually did | 13:14 |
blackburn | yeah may be they will share? | 13:14 |
blackburn | n4nd0: could you please add some doc for jl covertree to avoid warnings? | 13:17 |
n4nd0 | blackburn: sure | 13:18 |
@sonney2k | n4nd0, btw how much faster did it get with the distance trick? | 13:18 |
n4nd0 | sonney2k: give me a moment to give you a more less accurate answer, I actually didn't compare that explicitily :P | 13:20 |
-!- harshit_ [~harshit@182.68.43.52] has quit [Ping timeout: 265 seconds] | 13:21 | |
-!- Netsplit *.net <-> *.split quits: naywhayare, PhilTillet, pluskid | 13:22 | |
blackburn | sonney2k: modular multiclass is totally ok | 13:27 |
@sonney2k | blackburn, good to hear | 13:27 |
@sonney2k | then I guess setting the kernel is gone for these multiclass machines in the static interface | 13:27 |
blackburn | yeap | 13:27 |
-!- Netsplit over, joins: PhilTillet, pluskid, naywhayare | 13:28 | |
@sonney2k | blackburn, so git log shogun/ui and then diff and all good :) | 13:28 |
blackburn | sonney2k: how can it help? | 13:28 |
blackburn | I don't think it is such a explicit regression | 13:29 |
pluskid | all back again | 13:29 |
blackburn | owh | 13:30 |
-!- harshit_ [~harshit@182.68.43.52] has joined #shogun | 13:32 | |
blackburn | sonney2k: I was right - requires some patching at GUIClassifier.cpp:613 | 13:32 |
n4nd0 | sonney2k: mmmm it is actually taking more time after the trick ... | 13:32 |
PhilTillet | pluskid, I think we were moved in some kind of parallel universe :o | 13:33 |
pluskid | PhilTillet, yes, and it seems they never noticed this | 13:34 |
PhilTillet | yes :) | 13:34 |
pluskid | I'm wondering what the IRC log will say after a while | 13:34 |
PhilTillet | :p | 13:34 |
blackburn | hah wtf? | 13:34 |
blackburn | split caused some msg misses? | 13:35 |
PhilTillet | yes there was something like a split :p | 13:35 |
PhilTillet | pluskid and I were moved to a parallel universe | 13:35 |
n4nd0 | sonney2k: it depends on the datasets, for one with vectors of dimension 10 the trick makes a bit slower | 13:36 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: Lost terminal] | 13:36 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 13:36 | |
n4nd0 | sonney2k: for the second dataset is like half time after the trick | 13:37 |
pluskid | blackburn, since both of us are working on multiclass, I would like to issue small pull requests | 13:42 |
blackburn | pluskid: what do you want to fix? | 13:43 |
pluskid | here's one moving apply(int) from multiclassSVM to multiclassMachine | 13:43 |
pluskid | in the pull request I just issued | 13:43 |
pluskid | so you have fixed all the other errors? | 13:43 |
pluskid | PhilTillet, it seems to be this: http://en.wikipedia.org/wiki/Netsplit | 13:45 |
blackburn | pluskid: no havin' a luv time with uninitialized kernel issue | 13:46 |
pluskid | blackburn, you will do it? or I will do it? | 13:46 |
blackburn | pluskid: I will | 13:47 |
pluskid | blackburn, thanks! | 13:47 |
PhilTillet | pluskid, indeed | 13:47 |
pluskid | are there any other errors to fix? | 13:47 |
pluskid | python_modular is OK now in my local box | 13:47 |
blackburn | pluskid: modular is ok | 13:47 |
blackburn | static is broken | 13:47 |
pluskid | hmm | 13:48 |
blackburn | pluskid: can you please rebase your patch once I commit my changes? | 13:48 |
blackburn | it would be really hard to merge it right now | 13:48 |
pluskid | blackburn, OK | 13:48 |
pluskid | blackburn, tell me after you commit | 13:48 |
blackburn | ok | 13:48 |
blackburn | pluskid: I actually renamed libsvmmulticlass | 13:48 |
blackburn | to multiclasslibsvm | 13:48 |
blackburn | and moved things | 13:48 |
pluskid | hmm | 13:49 |
pluskid | that makes merging complicated | 13:49 |
blackburn | yes | 13:49 |
pluskid | I'll handle it | 13:49 |
pluskid | since my changes here are much simpler | 13:49 |
-!- harshit_ [~harshit@182.68.43.52] has quit [Quit: Leaving] | 13:49 | |
blackburn | pluskid: hmm if you revert classifier.i and classifier/svm changes it would be easy | 13:50 |
pluskid | blackburn, but that's almost all my changes :p | 13:50 |
pluskid | however, don't worry, I'll deal with the merging | 13:51 |
blackburn | no, multiclass machine is the most important I thought | 13:51 |
blackburn | and multiclass svm | 13:51 |
pluskid | yes | 13:51 |
blackburn | I didn't modify it that much so it will ease merging | 13:51 |
pluskid | hmm | 13:51 |
blackburn | hah using stuff is something surprising for me | 13:51 |
pluskid | using is removed now :) | 13:52 |
blackburn | yes | 13:52 |
pluskid | apply(int) is moved to multiclassMachine | 13:52 |
n4nd0 | see you later guys! | 13:53 |
blackburn | see you | 13:53 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 13:53 | |
pluskid | cu | 13:54 |
blackburn | pluskid: hopefully fixed static issue - will try right now | 14:00 |
pluskid | blackburn, bless ^_^ | 14:00 |
blackburn | dman | 14:00 |
blackburn | failed | 14:00 |
blackburn | attempt #3 | 14:01 |
blackburn | oh | 14:06 |
blackburn | that's painful | 14:06 |
pluskid | hmm | 14:07 |
pluskid | basically, what's causing errors? | 14:08 |
blackburn | pluskid: separating things | 14:08 |
blackburn | pluskid: static handles it as SVM | 14:08 |
pluskid | "it" means multiclassSVM? | 14:08 |
blackburn | yes | 14:08 |
pluskid | that would be painful | 14:08 |
blackburn | yay! | 14:13 |
blackburn | pluskid: that works I think | 14:13 |
pluskid | blackburn, cool! | 14:14 |
-!- vikram360 [~vikram360@117.192.191.63] has quit [Ping timeout: 248 seconds] | 14:15 | |
blackburn | pluskid: I haven't thought it would be so intrusive hehe sorry | 14:22 |
pluskid | blackburn, me too | 14:22 |
pluskid | I totally forgetten about other interfaces | 14:22 |
CIA-64 | shogun: Sergey Lisitsyn master * r17ff86c / (41 files in 11 dirs): A bunch of multiclass fixes and improvements - http://git.io/oF9EBQ | 14:24 |
blackburn | pluskid: rebase your fix please | 14:24 |
pluskid | blackburn, ok | 14:24 |
blackburn | oh damn I shouldn't remove using | 14:25 |
blackburn | sh | 14:25 |
blackburn | okay we have to wait for your fix to make it compileable | 14:25 |
pluskid | ok | 14:25 |
pluskid | I'll try to be fast | 14:25 |
shogun-buildbot | build #764 of libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/764 blamelist: blackburn91@gmail.com | 14:29 |
pluskid | checking local compilation | 14:30 |
blackburn | oh | 14:30 |
blackburn | hehe | 14:30 |
pluskid | shogun-buildbot is faster than me, haha | 14:30 |
blackburn | I fucked up a little | 14:30 |
CIA-64 | shogun: Sergey Lisitsyn master * r9b94e78 / src/shogun/ui/GUIClassifier.cpp : Fix for GUIClassifier include - http://git.io/e8JmYw | 14:31 |
pluskid | it 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 again | 14:32 |
blackburn | pluskid: hmm really? here it needs to be recompiled each time *.h is changed | 14:32 |
blackburn | shogun-buildbot: I am so so sorry I didn't mean to break your heart | 14:33 |
blackburn | :D :D | 14:33 |
pluskid | I haven't checked carefully, but it seems the compile time becomes long each time when I check out to another branch | 14:33 |
blackburn | pluskid: I think it related to *.h changes | 14:33 |
pluskid | can shogun-buildbot talk? :) | 14:33 |
blackburn | pluskid: no, I am crazy - that's all ;) | 14:34 |
pluskid | blackburn, hmm, not sure, will check the next time | 14:34 |
pluskid | blackburn, I remember seeing him talk, maybe my memory is confused... | 14:35 |
blackburn | pluskid: all he answers is 'What you say!' | 14:35 |
pluskid | blackburn, oh, maybe that's what I saw | 14:35 |
blackburn | pluskid: I hope you use --disable-optimizations | 14:38 |
shogun-buildbot | build #765 of libshogun is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/765 | 14:40 |
pluskid | blackburn, in ./configure ? | 14:40 |
pluskid | why? | 14:40 |
blackburn | pluskid: much faster to compile | 14:40 |
pluskid | blackburn, thanks! | 14:40 |
pluskid | my laptop really compiles slow | 14:40 |
pluskid | I've already disabled all but python_modular interfaces | 14:41 |
blackburn | pluskid: -00 instead of -O3 | 14:41 |
blackburn | however interfaces would be slow still | 14:41 |
pluskid | hmm | 14:41 |
blackburn | a lot of generated code there | 14:41 |
blackburn | you also may use ccache | 14:41 |
pluskid | ccache? | 14:42 |
blackburn | and make -j2 | 14:42 |
blackburn | or even -j4 | 14:42 |
pluskid | I won't do that | 14:42 |
pluskid | I tried make -j before | 14:42 |
pluskid | whole GUI dead | 14:42 |
blackburn | ahh | 14:42 |
blackburn | not enough ram I guess | 14:42 |
-!- vikram360 [~vikram360@117.192.191.63] has joined #shogun | 14:42 | |
blackburn | hehe | 14:42 |
pluskid | only 2G here | 14:42 |
pluskid | I really miss the 8G PC in my lab | 14:43 |
pluskid | and the 256G-mem server... | 14:43 |
blackburn | you should buy new one with gsoc money hehe | 14:43 |
pluskid | haha, I guess I will be in school again after this summer, and hopefully there are powerful computers there | 14:44 |
pluskid | finished compiling | 14:44 |
pluskid | runing make check-examples | 14:44 |
blackburn | shit | 14:46 |
blackburn | I forgot lbshogun example | 14:46 |
pluskid | hmm | 14:48 |
blackburn | pluskid: so is your fix ready? | 14:49 |
pluskid | yes | 14:50 |
blackburn | rebased? | 14:50 |
pluskid | yes | 14:50 |
blackburn | nice | 14:50 |
pluskid | I'll issue the pull request | 14:50 |
pluskid | wait a minute | 14:50 |
pluskid | btw: classifier_libsvmmulticlass.cpp:4:52: fatal error: shogun/classifier/svm/LibSVMMulticlass.h: No such file or directory | 14:50 |
pluskid | shall I fix it here, or you fix? | 14:50 |
pluskid | you fix, since you can push directly to the shogun repo | 14:51 |
CIA-64 | shogun: Sergey Lisitsyn master * r0edfe54 / (3 files): Libshogun example fix - http://git.io/dTd5sw | 14:51 |
blackburn | pluskid: I fixed | 14:51 |
-!- karlnapf [~heiko@dhcp-169-206.internal.eduroam.ucl.ac.uk] has joined #shogun | 14:52 | |
blackburn | ok so I'll merge once you update your pr | 14:52 |
blackburn | karlnapf: hey there | 14:52 |
karlnapf | blackburn, hi :) | 14:52 |
pluskid | blackburn, see the pull request | 14:54 |
blackburn | karlnapf: we are having crazy -> multiclass transition this time | 14:54 |
karlnapf | blackburn, just saw a bit | 14:54 |
karlnapf | whats happening? | 14:54 |
CIA-64 | shogun: Chiyuan Zhang master * rbde47e7 / (4 files in 2 dirs): Move apply(int) from MulticlassSVM to MulticlassMachine - http://git.io/Bz5Gog | 14:55 |
CIA-64 | shogun: Sergey Lisitsyn master * rc473349 / (4 files in 2 dirs): Merge branch 'multiclass-fix2' of git://github.com/pluskid/shogun - http://git.io/m01e2A | 14:55 |
blackburn | karlnapf: we moved all multiclass svms to shogun/multiclass | 14:56 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 14:56 | |
karlnapf | oh wow | 14:56 |
karlnapf | but I guess thats good | 14:56 |
blackburn | pluskid: I hope it will work this time :) | 14:56 |
pluskid | blackburn, hope, too | 14:57 |
blackburn | karlnapf: yes as preparations for gsoc multiclass project | 14:57 |
pluskid | shogun-buildbot, come up | 14:57 |
karlnapf | all hail the buildbot :) | 14:57 |
blackburn | pluskid: I think it is some coffee/tea/vodka time | 14:57 |
blackburn | it would take a while | 14:57 |
pluskid | hmm | 14:58 |
blackburn | pluskid: I prefer vodka so see you a little later :D | 14:58 |
pluskid | blackburn, cu | 14:58 |
karlnapf | blackburn, bye | 14:59 |
blackburn | karlnapf: bye :) | 14:59 |
blackburn | however I am not going to vodka right now (april,23 is the vodka day heh) so brb in hour or so | 15:00 |
-!- pluskid [~pluskid@111.120.90.75] has quit [Ping timeout: 240 seconds] | 15:05 | |
-!- pluskid [~pluskid@173.254.214.60] has joined #shogun | 15:05 | |
-!- PhilTillet [~Philippe@157.159.42.154] has quit [Ping timeout: 240 seconds] | 15:15 | |
-!- vikram360 [~vikram360@117.192.191.63] has quit [Read error: Connection timed out] | 15:18 | |
-!- vikram360 [~vikram360@117.192.191.63] has joined #shogun | 15:18 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 15:48 | |
blackburn | uh | 16:11 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Operation timed out] | 16:23 | |
CIA-64 | shogun: Sergey Lisitsyn master * r4799988 / examples/undocumented/libshogun/classifier_multiclasslibsvm.cpp : Finally fixed multiclasslibsvm example - http://git.io/8ZNaHQ | 16:28 |
blackburn | DAMN | 16:43 |
-!- vikram360 [~vikram360@117.192.191.63] has quit [Ping timeout: 252 seconds] | 16:50 | |
CIA-64 | shogun: Sergey Lisitsyn master * r08e238f / src/shogun/ui/GUIClassifier.cpp : Fixed static interface multiclass handling - http://git.io/5dZiMA | 16:51 |
blackburn | fixed finally | 16:54 |
blackburn | pluskid: okay it seems buildbot will be happy this time | 16:55 |
pluskid | congrats! | 16:55 |
blackburn | pluskid: do you want new task? :) | 16:55 |
pluskid | but buildbot seems be asleep? :p | 16:55 |
blackburn | yeah a littl | 16:55 |
blackburn | e | 16:55 |
pluskid | blackburn, haha, what's it? | 16:55 |
blackburn | no idea - but I can always suggest something | 16:56 |
pluskid | for example? | 16:56 |
blackburn | hmm if you want an example I have to think about and get an idea hehe | 16:56 |
blackburn | pluskid: it actually depends on what you would like to do | 16:56 |
pluskid | blackburn, haha, that then depends on what idea I'm finally assigned (if I can luckily get one slot) | 16:58 |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 16:58 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 16:58 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 16:58 | |
pluskid | I have relatively wide interests, though | 16:58 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Client Quit] | 16:59 | |
blackburn | tight situation hehe | 17:00 |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 17:02 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 17:02 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 17:02 | |
pluskid | btw, other than machine learning related topics, I'm really interested in getting automatic ref-counting in shogun, but that would be a *really* huge project | 17:02 |
pluskid | and I'm not sure everybody likes it :p | 17:02 |
blackburn | pluskid: yes it is a good thing but it would override your main project right? | 17:05 |
pluskid | blackburn, yes | 17:05 |
pluskid | and such intrusive thing is really better to be tried in seasons where not so many people are working together | 17:06 |
pluskid | otherwise, merging would be a nightmare, haha | 17:06 |
blackburn | yeap | 17:07 |
-!- gsomix [~gsomix@85.26.234.22] has joined #shogun | 17:10 | |
gsomix | hello | 17:10 |
-!- karlnapf [~heiko@dhcp-169-206.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 245 seconds] | 17:13 | |
blackburn | pluskid: what do you think about DAG multiclass svm training? | 17:15 |
blackburn | shit again | 17:15 |
blackburn | it failed | 17:16 |
pluskid | blackburn, I have no idea about this | 17:16 |
pluskid | any reference? | 17:16 |
pluskid | or brief description? | 17:16 |
blackburn | hmm I am not aware of any good | 17:17 |
blackburn | the idea is clear - it is just a tree classifier | 17:17 |
pluskid | hmm | 17:18 |
pluskid | but where comes the tree structure? | 17:18 |
pluskid | pre-defined? | 17:18 |
blackburn | yes | 17:18 |
pluskid | by the user? | 17:18 |
blackburn | yes exactly | 17:18 |
blackburn | if you have classes 1,2,3,4 you would have something like | 17:18 |
blackburn | (1,2,3,4) | 17:19 |
blackburn | (1,2) (3,4) | 17:19 |
blackburn | (1) (2) (3) (4) | 17:19 |
pluskid | I see | 17:19 |
blackburn | so there you would need to define 3 classifiers | 17:19 |
blackburn | 1,2 vs 3,4 | 17:19 |
blackburn | and two 1 vs 2 and 3 vs 4 | 17:19 |
pluskid | a binary tree | 17:19 |
blackburn | yeap | 17:20 |
pluskid | I can do this, but is this really useful? | 17:20 |
-!- vikram360 [~vikram360@117.192.183.59] has joined #shogun | 17:20 | |
blackburn | yes it can be pretty useful | 17:20 |
blackburn | this approach constructs sth like lg K classifiers | 17:21 |
pluskid | hmm, maybe, but preparing a structure as the input can be a lot of work for the user | 17:21 |
pluskid | yes, it would be more efficient than OvR or OvO | 17:21 |
pluskid | though the performance might drops | 17:21 |
blackburn | this is not obvious for me actually | 17:22 |
pluskid | hmm | 17:22 |
blackburn | imagine classes lying at | 17:22 |
blackburn | (+-1,+-1) | 17:22 |
blackburn | how would OvR look like/ | 17:22 |
blackburn | ? | 17:22 |
pluskid | what do you mean by +-1 ? | 17:23 |
blackburn | (1,1) (1,-1) (-1,1) (-1,-1) | 17:23 |
pluskid | hmm, tree structure could be good in this example | 17:25 |
pluskid | as long as the tree is correctly constructured | 17:25 |
pluskid | :) | 17:25 |
blackburn | heh right | 17:25 |
pluskid | anyway, I think this is a worsewhile task for now | 17:25 |
pluskid | let the user to think about the tree structure, I will not care about that, haha | 17:26 |
pluskid | time to sleep now, cu tomorrow | 17:26 |
blackburn | ah it is late already | 17:26 |
blackburn | heh good night | 17:26 |
pluskid | nite | 17:26 |
-!- pluskid [~pluskid@173.254.214.60] has quit [Quit: Leaving] | 17:26 | |
-!- karlnapf [~heiko@dhcp-169-206.internal.eduroam.ucl.ac.uk] has joined #shogun | 17:29 | |
CIA-64 | shogun: Sergey Lisitsyn master * rd453d98 / src/shogun/ui/GUIClassifier.cpp : Fixed mkl applying in static - http://git.io/WrTxTA | 17:39 |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun | 17:43 | |
shogun-buildbot | build #699 of r_static is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/r_static/builds/699 | 17:50 |
shogun-buildbot | build #721 of cmdline_static is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cmdline_static/builds/721 | 17:54 |
shogun-buildbot | build #700 of octave_static is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/octave_static/builds/700 | 18:00 |
-!- karlnapf [~heiko@dhcp-169-206.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 248 seconds] | 18:01 | |
shogun-buildbot | build #687 of python_static is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/python_static/builds/687 | 18:04 |
blackburn | sonney2k: we are happy people again | 18:13 |
shogun-buildbot | build #512 of java_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/java_modular/builds/512 | 18:14 |
PhilTillet | Compiling spree | 18:15 |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Quit: Leaving] | 18:17 | |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun | 18:17 | |
gsomix | shogun-buildbot, good work! | 18:18 |
shogun-buildbot | What you say! | 18:18 |
gsomix | ^^'' | 18:19 |
shogun-buildbot | build #535 of octave_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/octave_modular/builds/535 | 18:22 |
shogun-buildbot | build #522 of csharp_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/csharp_modular/builds/522 | 18:30 |
shogun-buildbot | build #503 of ruby_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/ruby_modular/builds/503 | 18:50 |
wiking | hahahahaha | 18:54 |
wiking | we saw that shogun-buildbot | 18:55 |
wiking | :> | 18:55 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 19:04 | |
gsomix | n4nd0, hi | 19:07 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 248 seconds] | 19:21 | |
-!- blackburn [~qdrgsm@188.168.2.179] has quit [Ping timeout: 245 seconds] | 19:30 | |
-!- karlnapf [~heiko@host86-181-81-47.range86-181.btcentralplus.com] has joined #shogun | 19:50 | |
karlnapf | hi | 19:50 |
karlnapf | sonney2k, around? | 19:50 |
-!- blackburn [5bde8018@gateway/web/freenode/ip.91.222.128.24] has joined #shogun | 19:55 | |
karlnapf | blackburn, hi | 20:01 |
blackburn | karlnapf: hey | 20:01 |
karlnapf | I got a problem, perhaps you can help me | 20:01 |
blackburn | yes I read you message | 20:01 |
blackburn | but I didn't get the problem yet | 20:02 |
karlnapf | pretty strange | 20:02 |
blackburn | let me try to do that once again | 20:02 |
karlnapf | Ill send you a little program which demonstrates the problem | 20:03 |
karlnapf | http://pastebin.com/A0ijwE7Q | 20:03 |
karlnapf | now have a look at the output | 20:04 |
karlnapf | in conjunction with the method | 20:04 |
karlnapf | TParameter::new_sgserial | 20:04 |
karlnapf | in Parameter.cpp | 20:04 |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Ping timeout: 245 seconds] | 20:05 | |
blackburn | karlnapf: so the problem is that you need to have DynamicObjectArray in that map? | 20:05 |
karlnapf | I need to serialise a CDynamicObjectArray<CSGObject> | 20:06 |
karlnapf | but the new_sgserializable method returns NULL | 20:06 |
karlnapf | so I get this Warning | 20:07 |
blackburn | but it just reads from that generated map right? | 20:07 |
karlnapf | and I cannot load | 20:07 |
karlnapf | which generated map? | 20:07 |
karlnapf | class_list.cpp | 20:07 |
karlnapf | ? | 20:07 |
blackburn | yes | 20:07 |
karlnapf | yes | 20:07 |
blackburn | new_sgserializable just find in that map | 20:07 |
karlnapf | But its not as trivial as just adding it | 20:07 |
blackburn | karlnapf: btw don't you think it should be a stl map there? | 20:08 |
karlnapf | since I kind of need a type | 20:08 |
karlnapf | No, I want to have SG_REF/UNREF | 20:08 |
karlnapf | Otherwise I will get mad with memory problems | 20:08 |
karlnapf | Thats why we have these containers | 20:08 |
blackburn | I mean new_sgserializable does search using comparison with each key | 20:08 |
blackburn | no, not instead of dynobjarray | 20:09 |
karlnapf | ah ok | 20:09 |
karlnapf | in the class list | 20:09 |
blackburn | instead of new_sgserializable? | 20:09 |
karlnapf | well I dont care actually :) | 20:09 |
blackburn | that looks fucking awful for me | 20:09 |
blackburn | however it is not the problem now | 20:09 |
karlnapf | but, yes you are right | 20:09 |
blackburn | karlnapf: I think if you add it to interfaces/modular/SGBase.i or so | 20:11 |
blackburn | it would work | 20:11 |
karlnapf | mmh, but this is before the inferfaces | 20:11 |
karlnapf | I cannot run any of my libshogun serialization examples | 20:11 |
blackburn | class_list is constructed before? | 20:12 |
blackburn | ahhhhh | 20:12 |
wiking | ASDF!@# | 20:12 |
* wiking getting maaaad! | 20:12 | |
blackburn | karlnapf: but that classlist map is based on names listed in interfaces.. | 20:13 |
karlnapf | yes | 20:13 |
karlnapf | mmmh | 20:13 |
karlnapf | oh no | 20:13 |
blackburn | no? | 20:13 |
karlnapf | I think its not possible to have generic arrays which can have a CSGObject as type | 20:13 |
karlnapf | because this generic type could again be an array | 20:14 |
blackburn | why? | 20:14 |
blackburn | ahaha | 20:14 |
karlnapf | and then we cannot map these types to interfaces | 20:14 |
karlnapf | Each generic type has a single type in interfaces | 20:14 |
karlnapf | and you cannot do that recursively | 20:14 |
karlnapf | :( | 20:14 |
blackburn | sounds bad | 20:15 |
karlnapf | and thats exactly why CList is not generic | 20:15 |
karlnapf | fuck, I always wondered why that was | 20:15 |
karlnapf | goodbye type safety in CSGObject arrays :( | 20:15 |
blackburn | karlnapf: can't you have dynobjarray of csubset there? | 20:16 |
karlnapf | yes, but I need to change DynamicObjectArray to a non-generic type | 20:16 |
karlnapf | like CList | 20:17 |
karlnapf | but then you only know that your elements are CSGObject* | 20:17 |
karlnapf | not of which type | 20:17 |
-!- karlnapf [~heiko@host86-181-81-47.range86-181.btcentralplus.com] has quit [Ping timeout: 260 seconds] | 20:30 | |
@sonney2k | blackburn, 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 casts | 20:33 |
@sonney2k | I recall that karlnapf did prefer the first variant | 20:34 |
@sonney2k | and me the second | 20:34 |
blackburn | sonney2k: I do not get you | 20:34 |
blackburn | which problem it is? | 20:34 |
@sonney2k | CDynamicObjectArray being templated | 20:34 |
@sonney2k | vs. just using SGObject's as elements | 20:35 |
blackburn | I am ok with it but how to solve this problem? | 20:35 |
@sonney2k | just remove templates | 20:35 |
@sonney2k | and use SGObjects | 20:35 |
@sonney2k | solved | 20:35 |
blackburn | sonney2k: the only thing I do not like is new_sgserializable code | 20:35 |
@sonney2k | (1 million typecasts required then...) | 20:35 |
blackburn | where? | 20:35 |
@sonney2k | where SGObjectArray is used | 20:36 |
-!- karlnapf [~heiko@host86-181-81-47.range86-181.btcentralplus.com] has joined #shogun | 20:37 | |
@sonney2k | karlnapf, hmmhh is it soo bad to use SGObjects in there? | 20:38 |
@sonney2k | I know you have to typecast everywhere | 20:38 |
@sonney2k | but that's it | 20:38 |
karlnapf | sonney2k, no | 20:38 |
karlnapf | but do you remember that we discussed this about a year ago? | 20:39 |
@sonney2k | karlnapf, yes I just told blackburn that this is a YMMV case | 20:39 |
@sonney2k | either templates and no cast and assuming SG_REF/UNREF will work | 20:39 |
@sonney2k | or casting everythwere and knowing that SG_REF/UNREF work | 20:40 |
@sonney2k | you were favoring the first variant me the latter | 20:40 |
karlnapf | I remember :) | 20:40 |
@sonney2k | it is still like this I guess :) | 20:40 |
karlnapf | But the SGREF/UNREF is not so bad | 20:40 |
@sonney2k | because I wrote CList - and that uses the other way | 20:40 |
karlnapf | but its impossible so serialise generic arrays where the elements are CSGObjects | 20:41 |
karlnapf | well | 20:41 |
@sonney2k | I am fine with anything that works | 20:41 |
karlnapf | did not see that these days | 20:41 |
-!- emrecelikten [~Anubis@176.40.238.20] has joined #shogun | 20:41 | |
karlnapf | I think I will change it to be non-generic | 20:41 |
@sonney2k | ok | 20:41 |
karlnapf | lot of work, but shouldnt be too hard | 20:41 |
@sonney2k | not a lot of work | 20:41 |
karlnapf | then type-safety is lost | 20:41 |
karlnapf | yes I am using this thing in the parameter trees everywhere | 20:42 |
karlnapf | but anyway | 20:42 |
karlnapf | its easy so change :) | 20:42 |
@sonney2k | just remove the template and then do the missing casts (follow compiler errors) | 20:42 |
karlnapf | yes, will do that | 20:42 |
@sonney2k | thx | 20:42 |
karlnapf | btw then the new subset stuff should finally work | 20:42 |
karlnapf | Ill have diner now, see you | 20:43 |
blackburn | sonney2k: multiclass things are working again, I guess you know? | 20:43 |
@sonney2k | I have to modify the baby stroller now to add some board for the older child | 20:43 |
@sonney2k | cu | 20:43 |
blackburn | heh | 20:43 |
@sonney2k | blackburn, yeah I've read the log | 20:43 |
@sonney2k | s | 20:43 |
@sonney2k | blackburn, no idea what you changed though | 20:43 |
blackburn | sonney2k: interface handling | 20:43 |
@sonney2k | didn't read any patches - can you give me an update? | 20:44 |
blackburn | it handled all the things with cast to kernel machine | 20:44 |
blackburn | and now it checks whether it is a kernel multiclass machine | 20:44 |
@sonney2k | I see | 20:44 |
blackburn | before it was something like | 20:44 |
blackburn | casting and then calling the method | 20:44 |
@sonney2k | yeah I think everything in that function was svm | 20:44 |
blackburn | it compiles but addresses to some unexistent method | 20:44 |
blackburn | yes now it can be or svm either mc svm | 20:45 |
@sonney2k | makes sense | 20:45 |
@sonney2k | alright stroller is waiting... | 20:45 |
@sonney2k | brb | 20:45 |
@sonney2k | blackburn, btw - I have one question - shouldn't KernelMulticlassMachine not better be renamed to MulticlassKernelMachine? | 21:00 |
blackburn | sonney2k: I have no idea | 21:00 |
blackburn | actually yes | 21:00 |
blackburn | sonney2k: but is it really worth such refactoring? | 21:01 |
blackburn | both sounds ok I think | 21:02 |
blackburn | sonney2k: hmm I think we need to stay it as it is | 21:05 |
blackburn | reason: | 21:05 |
blackburn | both kernelmulticlassmachine and linearmulticlassmachine are descendants of multiclassmachnie | 21:05 |
blackburn | if it is multiclasskernelmachine it would look like it is a descendant of kernelmachine but that is not true | 21:06 |
@sonney2k | blackburn, good argument! | 21:20 |
* sonney2k returns from the stroller job :) | 21:21 | |
@sonney2k | blackburn, this is how it looks like (in theory) http://www.buggyboard.info/image.php?src=buggies/354/X3Gimage2.jpg | 21:21 |
blackburn | sonney2k: hehe so what did you change? | 21:22 |
@sonney2k | blackburn, I added this buggy board | 21:22 |
@sonney2k | attach some connectors to the orig strolley | 21:23 |
@sonney2k | stroller | 21:23 |
blackburn | to the bottom? | 21:23 |
blackburn | what is the purpose? | 21:23 |
@sonney2k | http://www.kinderpods.com/images/images_big/KT100260_5.jpg | 21:23 |
@sonney2k | that's the purpose | 21:24 |
blackburn | ah | 21:24 |
blackburn | heh | 21:24 |
blackburn | nice | 21:24 |
@sonney2k | 1 kid standing on it while the other can rest :D | 21:24 |
@sonney2k | only 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 :D | 21:25 |
blackburn | heh yeah would be exciting still to see around | 21:25 |
blackburn | sonney2k: can't new_sgserializable in shogun/base/class_list.cpp.templ be faster? | 21:25 |
wiking | yeees | 21:25 |
wiking | https://github.com/kjmillerCURIS/spl/tree/fc487837aa5774d4811ad1696f09da9d28cc49d2/multi_spl/AlternateConvexSearch/test | 21:25 |
wiking | !!! | 21:25 |
blackburn | wiking: the dataset? | 21:26 |
wiking | yep! | 21:26 |
blackburn | even code is here | 21:28 |
wiking | yeah i give a fuck about that one | 21:32 |
wiking | of course now the problem is that it's a structural svm :D | 21:33 |
wiking | hahaha | 21:33 |
wiking | anyways i can mod i hope the data set | 21:33 |
wiking | these are the kind of code that drives me fucking nuts. in the src hardcoded: kernelFile = '/afs/cs.stanford.edu/u/rwitten/projects/multi_kernel_spl/data/allkernels_info.txt' | 21:39 |
wiking | ;) | 21:39 |
wiking | good to know that stanford uses ads :D | 21:39 |
@sonney2k | blackburn, yes of course | 21:40 |
@sonney2k | binary search at least | 21:40 |
blackburn | sonney2k: I suggest to patch it to gsomix :) | 21:41 |
blackburn | wiking: I always laugh on such paths | 21:41 |
@sonney2k | blackburn, well it is not really that important isn't i? | 21:41 |
@sonney2k | I mean when in serialization loading the data is slow not determining the class name or? | 21:42 |
@sonney2k | otherwise gsomix's hashmap is the thing to use | 21:42 |
blackburn | sonney2k: heh right but doing some different patches could be fun | 21:42 |
blackburn | and some not beautiful code there heh | 21:43 |
blackburn | sonney2k: okay next question while you are around | 21:44 |
blackburn | Copyright/Written | 21:44 |
blackburn | what is separation? | 21:44 |
blackburn | what is the reason to keep both in new file's copyrights? | 21:45 |
@sonney2k | blackburn, lots of stuff is copyright tu berlin / fraunhofer / max-planck | 21:45 |
@sonney2k | even though I've written it | 21:45 |
blackburn | but new? | 21:45 |
@sonney2k | for new files it doesn't matter | 21:46 |
blackburn | does this copyright prolongate? | 21:46 |
@sonney2k | I mean I even prefer giving the copyright to the students | 21:46 |
@sonney2k | I mean they can choose a (gpl compatible) license and use their code and release it under some other license if they want | 21:46 |
blackburn | yeap | 21:46 |
@sonney2k | from this year on :) | 21:47 |
@sonney2k | last year it was all (C) fraunhofer, tu, max-planck | 21:47 |
blackburn | I was thinking about some more general like Shogun team or so | 21:48 |
blackburn | but it makes no sense ,right? | 21:48 |
@sonney2k | blackburn, for new ones you mean? | 21:48 |
blackburn | sonney2k: yes | 21:49 |
blackburn | sonney2k: and what about prolongation? | 21:49 |
@sonney2k | you mean 2010->2011->2012? | 21:49 |
blackburn | yes | 21:49 |
blackburn | if it is 1999-2008 | 21:49 |
blackburn | should we update it to 2012? | 21:49 |
blackburn | or start new copyright | 21:49 |
@sonney2k | start new | 21:51 |
blackburn | ok | 21:51 |
@sonney2k | I 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 there | 21:52 |
blackburn | sonney2k: I will prepare some list of classes we need to doc | 21:53 |
blackburn | for our doc madness :D | 21:53 |
blackburn | and some assignments I think | 21:54 |
gsomix | http://cs10363.userapi.com/u105967609/-14/y_6342d09d.jpg | 21:56 |
blackburn | kugelshreiber lol | 21:58 |
@sonney2k | blackburn, 'dostoprimetschatchelnosti' is better or what? | 22:04 |
blackburn | sonney2k: LOL | 22:04 |
blackburn | sonney2k: recall me how to say it in german then? | 22:04 |
blackburn | I bet it is not shorter ;) | 22:04 |
@sonney2k | sehenswuerdigkeiten :D | 22:06 |
blackburn | lol | 22:06 |
blackburn | that is not easier to spell | 22:06 |
blackburn | I'd say harder however I am able to | 22:07 |
blackburn | hmmm my connection sucks | 22:08 |
blackburn | time for rest a little more heh | 22:10 |
blackburn | see you | 22:11 |
-!- blackburn [5bde8018@gateway/web/freenode/ip.91.222.128.24] has quit [Quit: Page closed] | 22:11 | |
gsomix | math homework - done => time to sleep | 22:20 |
gsomix | good night, guys | 22:20 |
@sonney2k | cu all | 22:29 |
-!- gsomix [~gsomix@85.26.234.22] has quit [Ping timeout: 244 seconds] | 22:34 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 22:35 | |
@sonney2k | n4nd0, so how big where the data? | 22:39 |
@sonney2k | dims and number of examples I mean | 22:39 |
n4nd0 | sonney2k: in both cases I used 10k vectors for training, 10k vectors to classify | 22:40 |
n4nd0 | in one of the examples the dimension is 10 | 22:40 |
n4nd0 | in the other one is larger | 22:40 |
n4nd0 | for the one that is larger, KNN after the trick (x-y)? = x? + y? ... | 22:41 |
n4nd0 | was faster | 22:41 |
n4nd0 | for the other, it turned out to be slower | 22:41 |
n4nd0 | sonney2k: for the larger one, the dimension is exactly equal to 580 | 22:43 |
n4nd0 | sonney2k: what do you think? | 22:43 |
@sonney2k | n4nd0, what exactly did you compare? | 22:45 |
@sonney2k | KNN + covertree runtime? | 22:45 |
n4nd0 | yes | 22:46 |
@sonney2k | I 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 |
n4nd0 | maybe the bound in the distance helped | 22:49 |
n4nd0 | but also, I think I don't really get why doing the decomposition should be that effective | 22:49 |
n4nd0 | when 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 |
n4nd0 | but doing the decomposition we don't save this since it is still required to compute the part 2?x?y | 22:51 |
n4nd0 | do you see my point? There must be something I am not thinking correctly | 22:51 |
@sonney2k | n4nd0, you can apply the bound to ||x||^2 too btw | 22:54 |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun | 22:55 | |
n4nd0 | yeah, I can do thtat | 22:58 |
n4nd0 | that* | 22:58 |
n4nd0 | mmm no wait, I don't think so | 22:59 |
n4nd0 | since we do | 22:59 |
n4nd0 | x^2 + y^2 - 2?x?y | 22:59 |
@sonney2k | ok | 22:59 |
n4nd0 | we cannot be sure about the bound before 2?x?y is computed since it has a negative sign | 22:59 |
n4nd0 | agree? | 22:59 |
@sonney2k | yes | 23:00 |
n4nd0 | anyway, what about what I asked ^? | 23:00 |
n4nd0 | why should this trick makes things much faster? | 23:00 |
@sonney2k | n4nd0, problem is you need to do some systematic evaluation - with all the unsure factors it is hard to come to any conclusion | 23:00 |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Quit: Leaving] | 23:01 | |
-!- PhilTillet [~Philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun | 23:01 | |
@sonney2k | n4nd0, 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 |
@sonney2k | see a lot less operations | 23:02 |
n4nd0 | ok | 23:02 |
@sonney2k | and one can use *fast* blas routines | 23:02 |
n4nd0 | not a good idea to think of it in terms of O(?) notation | 23:03 |
@sonney2k | not at all | 23:03 |
@sonney2k | n4nd0, but you should really time things seperately, just computing distance matrix (element by element) with JL's impl / this one / old one | 23:03 |
n4nd0 | sonney2k: with systematic evaluation the thing that you suggest is to test the modules individually, e.g. test how *just* the different distance functions perform | 23:03 |
n4nd0 | ok, you already answered :D | 23:03 |
@sonney2k | then cover tree construction times in shogun's JL covertree | 23:04 |
@sonney2k | and in JLs covertree | 23:04 |
@sonney2k | and query | 23:04 |
@sonney2k | only then we will know | 23:04 |
n4nd0 | sonney2k: I am a bit unsure about testing the distance function | 23:04 |
@sonney2k | why? | 23:05 |
n4nd0 | sonney2k: since this is called from the cover tree construction or query | 23:05 |
n4nd0 | I think the idea would be to count how many times it is called building the cover tree + querying it | 23:05 |
n4nd0 | later do a test that calls the different distance functions this number of times | 23:06 |
@sonney2k | n4nd0, well then accumulate the time that is spend in computing the distance in there | 23:06 |
@sonney2k | just have 3 variables | 23:06 |
@sonney2k | 1 construction time (excludes distance comput) | 23:06 |
@sonney2k | 2 distance comput | 23:06 |
@sonney2k | 3 query time (w/o distance comput) | 23:07 |
n4nd0 | aham, I like the idea, I didn't consider it at all | 23:07 |
* n4nd0 is taking notes | 23:07 | |
@sonney2k | n4nd0, please give this a shot ... and I am very interested in seeing these results | 23:09 |
@sonney2k | n4nd0, ahh btw if you use atlas - where did you get it from? | 23:09 |
n4nd0 | sonney2k: yeah | 23:09 |
n4nd0 | mm I don't know what you mean | 23:10 |
@sonney2k | which atlas library did you use and did you compile it your own? | 23:10 |
n4nd0 | this is the atlas library I have installed | 23:11 |
n4nd0 | libatlas-base-dev 3.8.4-3build1 | 23:11 |
n4nd0 | but I didn't do anything special to do this | 23:12 |
n4nd0 | I am sorry, but I don't get your question :S | 23:12 |
@sonney2k | n4nd0, atlas shipped with ubuntu / debian is orders of magnitude slower than what you can get when compiling it your own | 23:13 |
@sonney2k | to do so (on ubuntu / debian) do | 23:13 |
@sonney2k | cd /tmp | 23:13 |
@sonney2k | apt-get source atlas | 23:13 |
@sonney2k | cd atlas-* | 23:14 |
@sonney2k | fakeroot ./debian/rules custom | 23:14 |
@sonney2k | then you get a new package that you can install which is optimized for your system | 23:14 |
n4nd0 | interesting | 23:14 |
@sonney2k | it really makes a *HUGE* difference | 23:14 |
n4nd0 | cool, I am doing it right now | 23:15 |
@sonney2k | it is like enabling optimizations like sse or so | 23:16 |
@sonney2k | anyways I have to sleep now - looking forward to see the results | 23:16 |
@sonney2k | cu | 23:16 |
n4nd0 | good night | 23:17 |
PhilTillet | n4nd0, that trick with dot(x-y,x-y) is interesting :p | 23:19 |
PhilTillet | I had not really understood the point either :p | 23:19 |
n4nd0 | so the idea is that in order to compute the Euclidean distance between two points | 23:19 |
n4nd0 | something like | 23:20 |
n4nd0 | ||x-y|| | 23:20 |
PhilTillet | yes I get it now | 23:20 |
n4nd0 | ok | 23:20 |
PhilTillet | :p | 23:20 |
n4nd0 | it is already implemented in GaussianKernel if you are interested in any case | 23:20 |
PhilTillet | I mean, when I implemented gaussian kernel for GPU | 23:20 |
PhilTillet | i didn't understant that trick | 23:20 |
PhilTillet | :p | 23:20 |
PhilTillet | so I didn't use it | 23:20 |
n4nd0 | haha ok | 23:21 |
PhilTillet | O(.) is misleading | 23:22 |
PhilTillet | :p | 23:22 |
n4nd0 | yeah, for this example it doesn't explain it | 23:23 |
n4nd0 | one has to go a bit more to the # operations | 23:23 |
PhilTillet | yep :p | 23:24 |
PhilTillet | after all, I guess n is still 3times faster than n | 23:24 |
PhilTillet | than 3n* | 23:24 |
PhilTillet | XD | 23:24 |
PhilTillet | I think algorithmics can be a trap | 23:26 |
PhilTillet | cause a lot of implementation stuffs have to be taken into account :p | 23:26 |
n4nd0 | well, it is from *theoretical* CS | 23:28 |
n4nd0 | I like it quite a lot anyway | 23:28 |
PhilTillet | yes | 23:28 |
PhilTillet | :D | 23:28 |
PhilTillet | both are super useful | 23:28 |
--- Log closed Sun Apr 22 00:00:19 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!