IRC logs of #shogun for Tuesday, 2012-07-31

--- Log opened Tue Jul 31 00:00:17 2012
-!- heiko1 [~heiko@host86-181-156-213.range86-181.btcentralplus.com] has joined #shogun00:06
-!- heiko1 [~heiko@host86-181-156-213.range86-181.btcentralplus.com] has quit [Quit: Leaving.]00:25
-!- needsch [~user@ip-176-198-229-75.unitymediagroup.de] has quit [Ping timeout: 252 seconds]00:58
CIA-18shogun: Sergey Lisitsyn master * r3bda438 / (4 files in 2 dirs): A bunch of fixes for multitask algoritmhs - http://git.io/tUKTlQ01:24
-!- blackburn [~blackburn@109.226.100.87] has quit [Quit: Leaving.]01:26
-!- ckwidmer [8ca3fe9d@gateway/web/freenode/ip.140.163.254.157] has joined #shogun02:35
-!- puffin444_ [62e3926e@gateway/web/freenode/ip.98.227.146.110] has quit [Quit: Page closed]03:06
-!- emrecelikten [~emre@176.40.234.211] has quit [Ping timeout: 240 seconds]03:50
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 246 seconds]04:51
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun06:58
-!- uricamic [~uricamic@2001:718:2:1634:e506:de07:312c:a435] has joined #shogun07:35
-!- av3ngr [~av3ngr@60-241-222-244.static.tpgi.com.au] has joined #shogun08:57
-!- av3ngr [~av3ngr@60-241-222-244.static.tpgi.com.au] has left #shogun []08:58
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving]09:02
-!- pluskid [~pluskid@111.120.64.205] has joined #shogun09:22
-!- pluskid [~pluskid@111.120.64.205] has quit [Ping timeout: 260 seconds]09:35
-!- pluskid [~pluskid@108.171.196.83] has joined #shogun09:35
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has joined #shogun11:00
yoohi al11:01
-!- heiko [~heiko@host86-181-156-213.range86-181.btcentralplus.com] has joined #shogun11:38
-!- blackburn [~blackburn@109.226.100.87] has joined #shogun12:03
-!- emrecelikten [~emre@176.40.234.211] has joined #shogun12:03
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun12:06
-!- pluskid [~pluskid@108.171.196.83] has quit [Ping timeout: 260 seconds]12:11
-!- pluskid [~pluskid@111.120.64.205] has joined #shogun12:31
-!- needsch [~user@ip-176-198-229-75.unitymediagroup.de] has joined #shogun12:38
-!- heiko [~heiko@host86-181-156-213.range86-181.btcentralplus.com] has left #shogun []14:36
pluskidblackburn: what's the working cycle if I want to add some multiclass learning stuff to the shogun tutorial?15:07
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Operation timed out]15:32
-!- pluskid [~pluskid@111.120.64.205] has quit [Ping timeout: 260 seconds]15:53
-!- pluskid [~pluskid@108.171.196.83] has joined #shogun16:14
-!- pluskid [~pluskid@108.171.196.83] has quit [Quit: Leaving]16:30
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun16:41
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 252 seconds]16:48
-!- hoijui [~hoijui@141.23.65.251] has joined #shogun17:12
-!- gsomix [~gsomix@95.153.166.127] has joined #shogun17:13
-!- emrecelikten [~emre@176.40.234.211] has quit [Ping timeout: 264 seconds]17:16
-!- emrecelikten [~emre@176.42.217.59] has joined #shogun17:18
-!- uricamic [~uricamic@2001:718:2:1634:e506:de07:312c:a435] has quit [Quit: Leaving.]17:22
-!- yoo [2eda6d52@gateway/web/freenode/ip.46.218.109.82] has quit [Quit: Page closed]17:32
-!- gsomix [~gsomix@95.153.166.127] has quit [Ping timeout: 248 seconds]17:35
-!- heiko [~heiko@dhcp-184-16.internal.eduroam.ucl.ac.uk] has joined #shogun18:17
-!- hoijui [~hoijui@141.23.65.251] has quit [Ping timeout: 264 seconds]18:19
-!- emrecelikten [~emre@176.42.217.59] has quit [Ping timeout: 255 seconds]18:23
-!- emrecelikten [~emre@92.44.119.104] has joined #shogun18:25
-!- emrecelikten [~emre@92.44.119.104] has quit [Ping timeout: 260 seconds]18:29
-!- emrecelikten [~emre@92.44.119.53] has joined #shogun18:43
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun18:56
-!- hoijui [~hoijui@dslb-092-078-244-135.pools.arcor-ip.net] has joined #shogun19:07
@sonney2k!seen gsomix19:18
@sonney2kdroopy is dead - oh noooo19:19
-!- emrecelikten [~emre@92.44.119.53] has quit [Ping timeout: 260 seconds]19:29
blackburnsonney2k: did you check chiyuan's PR?19:34
-!- heiko [~heiko@dhcp-184-16.internal.eduroam.ucl.ac.uk] has left #shogun []19:56
-!- gsomix [~gsomix@95.153.161.255] has joined #shogun19:58
gsomixreport!19:59
gsomixjust a moment19:59
gsomixI'm writing :)19:59
n4nd0gsomix: what news this week? :)20:03
gsomixn4nd0, it seems, that 'no news'. I'm resting a little at sea. ^__^20:05
n4nd0gsomix: nice! enjoy it; where?20:05
gsomixn4nd0, http://bit.ly/McuADd20:05
blackburnyellow one20:06
n4nd0cool20:06
blackburnI've been to black sea - it is yellow believe me20:06
blackburn:D20:06
gsomixn4nd0, thanks. :)20:06
blackburngsomix: and I wdn't believe it is not20:06
gsomixblackburn, green at now.20:07
blackburnbasically because russians are dirty pigs20:07
blackburnwith no culture and nothing20:07
gsomixblackburn, huh. this is very much in the resorts... pigs, I mean20:09
blackburnomg snail eating cucumber here20:09
blackburnthe ugliest thing I've ever seen20:10
n4nd0blackburn: dirty pigs?20:13
n4nd0I bet you don't like that much Russia :P20:14
blackburnn4nd0: I don't like russians20:18
blackburnn4nd0: most of russians are totally rude, uneducated and angry - there is no reason to love this people20:20
blackburnn4nd0: well I generalize too much but russians you know in sweden are probably the best because they managed to leave :D20:21
n4nd0hehe20:21
-!- gsomix_ [~gsomix@95.153.184.16] has joined #shogun20:25
-!- gsomix [~gsomix@95.153.161.255] has quit [Ping timeout: 255 seconds]20:26
@sonney2kgsomix_, around now?20:29
@sonney2kblackburn, HUGE PR!20:29
@sonney2kn4nd0, yeah do PLiFs first then COFFIN stuff20:29
@sonney2kn4nd0, I hope you finally have some idea why this can be useful...20:30
n4nd0sonney2k: I have faith more than idea right now :O20:30
@sonney2kn4nd0, think of you want to train a 10 million dimensional problem with 50 million examples on your notebook20:31
@sonney2kthat is when computing features on demand is the only way20:32
n4nd0yes, I understand that20:33
n4nd0so COFFIN is a way to manage features on demand? or something else?20:33
@sonney2konly that yes20:34
@sonney2kyou compute *non-zero* features on demand20:34
n4nd0ok20:34
@sonney2kthis can be much faster than precomputing features20:34
@sonney2kbut can also be slower20:34
@sonney2kdepends on you Phi(x)20:34
@sonney2kand the sparsity of x / Phi etc20:35
@sonney2kn4nd0, in any case I can tell that the example I used in the coffin paper got reproduced on a 1000 node cluster at yahoo :)20:35
@sonney2kwith explicitly computed features :)20:36
n4nd0nice20:36
blackburnhmm we need cluster modelselection20:36
n4nd0the problem is that here the Phi depends both on features and labels20:36
gsomix_sonney2k, will be in 30 minutes. ok?20:37
@sonney2kgsomix_, I might be gone by then...20:37
@sonney2kn4nd0, what is the problem? I don't see it (yet?).20:38
-!- gsomix_ is now known as gsomix20:38
gsomixsonney2k, ok. I'm here.20:38
@sonney2kgsomix, so what is the state?20:39
@sonney2kblackburn, one way would be to store parts of the modsel tree / together with everything else (on disk) and then run that part on some node20:39
@sonney2kshouldn't be too hard20:40
blackburnsonney2k: technologically?20:40
blackburnconcept is clear for sure20:40
@sonney2kblackburn, well we can serialize the machine with everythingneeded20:40
@sonney2kso all that is needed is dump parts of the tree too20:40
@sonney2k...and load it back in20:41
gsomixsonney2k, there is problem with pointers. they breaks between get_buffer and release_buffer.20:41
gsomixand it's strange20:41
blackburnwell map reduce may be20:41
n4nd0sonney2k: we need them a CFeatures object that holds both features and labels?20:41
gsomixand only for SGVector.20:41
@sonney2kblackburn, maybe not :D20:42
blackburnsonney2k: what else? MPI? handmade solution20:42
blackburn?20:42
@sonney2kgsomix, what does get/releasebuffer point to for sgvectors?20:43
@sonney2kblackburn, I only have access to sun grid engine based clusters...20:43
n4nd0dinner time!20:43
-!- n4nd0 is now known as n4nd0_away20:44
blackburnsonney2k: I am pretty lame - does it mean you can't run say hadoop?20:44
@sonney2kn4nd0, where do you have features and labels accessible currently?20:44
@sonney2kblackburn, exactly20:44
blackburnsonney2k: what can be ran?20:44
@sonney2kblackburn, I have to call qsub <some executable / script >20:44
@sonney2kthen it will be run on some node20:44
blackburnohh qsub20:45
gsomixsonney2k, in get_buffer we allocate memory for shapes and strides.20:45
blackburnsonney2k: which technology would work on that kind of clusters?20:45
gsomixand put it in PyView20:46
@sonney2kgsomix, but you point to the memory of the SGVector?20:46
gsomixnope20:46
@sonney2kgsomix, where is that done20:46
gsomixinternal memory, only for buffer stuff.20:46
@sonney2kgsomix, hmm - could the operators of SGVector += etc conflict with the ones you have in your pybuf *20:47
n4nd0_awaysonney2k: the features labels are accesible in the CStructuredModel, see https://dl.dropbox.com/u/11020840/shogun/SOFramework_classes.pdf20:48
gsomixsonney2k, hardly. buffer stuff is independent of the operators.20:48
@sonney2kn4nd0_away, maybe a structureddotfeatures class that has access to both labels and features would be the right thing then - it could supply you with the operations you usually do in structuredmodel20:51
@sonney2kgsomix, well if pointers `break` someone else must be modifying them - did you check with valgrind?20:52
gsomixsonney2k, nope. can valgrind detect it? cool.20:53
@sonney2kgsomix, valgrind will detect any memory leaks / accidental memory access20:53
gsomixbtw python docs says, that this pointers should be const for other code.20:54
@sonney2k(it seems this one is not intentional so probably)20:54
gsomixok, I will check it.20:54
@sonney2kgsomix, anyway back to the big picture of the project - the last task (that I consider very important) are the typemaps for the model selection20:54
@sonney2kgsomix, IIRC you have some intense university studies starting again in september so it is better to start very soon (in 1-2 days) with that ...20:56
gsomixsonney2k, is there specification of syntax for model selection?20:56
@sonney2kand postpone the debugging again20:56
@sonney2kgsomix, well I sent you two emails with examples20:56
gsomixsonney2k, aha20:57
@sonney2kgsomix, btw pybuffer access for Labels should be much easier...21:00
gsomixsonney2k, yes, of course21:01
@sonney2kand that together with densefeatures is probably the most used. sgvector* stuff will only be used by people doing directors for rather complex stuff I guess21:01
gsomixsonney2k, and working with numpy without copying...21:01
gsomixso what's plan?21:01
@sonney2kgsomix, just do it all :D21:03
gsomixyay!21:03
@sonney2kgsomix, but lets prioritize - for pybuffers just do the stuff with labels for now (that should be done by end of tomorrow or?)21:04
@sonney2kgsomix, any estimates on how long numpy w/o copying would take?21:04
blackburnsonney2k: octave celebrates JIT21:04
@sonney2kblackburn, did you see my msg?21:04
blackburnyeah21:04
blackburnbut they STILL celebrate21:04
blackburn:D21:04
gsomixsonney2k, labels - tomorrow.21:04
@sonney2kblackburn, heheh21:05
gsomixsonney2k, w/o copying - 1-2 days.21:05
blackburnsonney2k: measure it in vodka/hour21:05
@sonney2kgsomix, ok then just do it21:05
blackburni.e.21:05
blackburnhow much vodka/hours would it take, gsomix?21:05
@sonney2kgsomix, IIRC we have a meeting on friday21:05
@sonney2kgsomix, so after that meeting it would be good if you can discuss with heiko about the modsel typemaps21:06
gsomixsonney2k, oh. P____p21:06
gsomixwhat's time?21:06
@sonney2kgsomix, because he knows how to create the parameter trees21:06
blackburnwe really need a hack for C1/C221:07
blackburnit *should* be in 2.021:07
@sonney2kblackburn, full ack21:07
blackburneverybody complains21:07
@sonney2kblackburn, can't we have the SGVector based solution with len=1 -> C / len=2 -> Cp Cn / len = n -> C[i]21:07
blackburnsonney2k: we could but it would take a while to get it work21:08
@sonney2kblackburn, only other alternative I see is to have a C member variable and a Cp / Cn member variable and a Cs member variable21:08
@sonney2kand then some flag what is to be used :-[21:09
blackburnI'd suggest to add C for now21:09
@sonney2kgsomix, 3rd of august 11 UTC21:09
@sonney2k(as usual)21:09
gsomixsonney2k, thanks.21:09
@sonney2kgsomix, can you make it this time?21:09
@sonney2kblackburn, or alternatively C2 = 0 indicates that C1 is to be used solely21:10
blackburnsonney2k: well and the other one is to add something that ties parameters to each other21:11
@sonney2kblackburn, btw I have *never* seen C1 / C2 to improve accuracy in practice...21:11
@sonney2kblackburn, which is tough ...21:11
blackburnsonney2k: why to have it then :D21:11
@sonney2kheh21:11
blackburnsonney2k: well actually nothing works in ML :D21:12
@sonney2kblackburn, seems like droopy is on vacations21:12
@sonney2kexcept for SVMs ;-)21:12
gsomixsonney2k, ok, I'll try... right now. I'm resting a little with gf at sea. sorry for that. :)21:12
blackburnsonney2k: I'm currently trying to model select multitask method on cancer data to achieve 0.62 AUC21:13
gsomixok, will be in 30 minutes and will work.21:13
blackburn30 minutes is not enough21:13
blackburnok I'm quiet :D21:13
blackburnsonney2k: what I meant is that nothing works :D21:14
blackburnsvm too however21:14
@sonney2kblackburn, which is already sth!21:15
@sonney2kblackburn, I need help with the code review of pluskids patch21:15
@sonney2kit is too big21:15
blackburnsonney2k: 0.1 better than random uhhhh :D21:15
blackburnsonney2k: well I've seen one thing there21:15
blackburnI didn't get21:15
@sonney2kgsomix, relax and have fun and then have fun again :D21:15
blackburnI do not understand why to have kernel factory21:15
@sonney2kblackburn, I asked that too21:16
blackburnI am a big fan of factories21:16
@sonney2kI've written ~10 comments or so21:16
-!- gsomix [~gsomix@95.153.184.16] has quit [Quit: Ex-Chat]21:16
blackburnI live in city full of factories21:16
blackburnbut still why to have it21:16
@sonney2kblackburn, no idea21:16
@sonney2kdidn't make sense to me either21:16
@sonney2kalright gtg too21:17
@sonney2kcu21:17
blackburnsee you21:17
blackburnwell you commented on most things already21:17
blackburnfactories were the only confusing things here21:18
@sonney2kwell and we have a lot of std:: stuff in there..21:49
@sonney2kqueue21:49
@sonney2kalgoritm21:49
@sonney2kwhatever21:49
@sonney2kblackburn, pluskid is like an std:: virus21:49
@sonney2k;-)21:49
blackburnsonney2k: heh I use std sometimes too21:50
@sonney2kblackburn, you bastard!21:50
blackburnsonney2k: I hate dynamicarray or how it is called21:50
blackburn:D21:50
@sonney2kblackburn, I guess you will never explain why :D21:54
blackburnsonney2k: will you ever explain why to use handmade data structures? :)21:55
n4nd0_awayserialization was an answer once I think22:01
-!- n4nd0_away is now known as n4nd022:01
blackburnbut internally?22:01
blackburnwe do not serialize everything22:01
n4nd0but we do serialize vectors, matrices, etc?22:02
n4nd0right?22:02
blackburnsure but I use it only for temporary stuff like dynamic sets and dynamic vectors22:03
n4nd0ok22:03
n4nd0maybe there were more difficulties with std ones?22:03
n4nd0blackburn: let me ask you something22:06
blackburnn4nd0: ask me22:06
n4nd0in our multiclass machines, the user is forced to use labels within {0, 1, ..., num_classes-1}22:06
n4nd0right?22:06
blackburnexactly22:07
n4nd0ok22:07
n4nd0I am making right now the same assumption for my HMSVMLabels and the features I use for the HMSVM22:08
n4nd0and I feel a bit lazy to change it :)22:08
blackburnI wish we had everything general22:08
n4nd0I will issue the PR like that and will hear from the lords22:08
blackburnbut we would end being lisp interpreter in the case22:09
n4nd0why?22:09
blackburnI mean next step is to allow some gaps here22:10
blackburnnext is to allow strings22:10
blackburnobjects22:10
blackburn:)22:10
blackburnand so on22:10
n4nd0is it in the plans to support list?22:12
n4nd0lisp*22:13
blackburn??22:13
blackburn:D22:13
blackburnwhy to have it?22:13
n4nd0haha I don't know22:13
n4nd0I am just trying to understand your previous comment :D22:13
blackburnI mean tries of making everything general have no end22:14
n4nd0aham ok! I understand know22:14
blackburnif we go for generality where to stop?22:14
n4nd0I understood your comment completely the other way round hehe22:14
blackburn:)22:15
n4nd0blackburn: another question :)22:18
n4nd0let's say I have a local variable in a function, an SGVector22:19
blackburnright22:19
n4nd0this function is going to be called lot of times during the execution of my algorithm22:19
n4nd0I want to avoid the allocation of memory for the structure every time is called22:19
blackburnpreallocate that vector then22:20
n4nd0I think that in java this could be done using static, for a local variable22:20
n4nd0I am not sure though22:20
n4nd0do I need to make this local variable a class member?22:20
n4nd0I don't really like this solution :S22:20
blackburnyeah I see no other way22:20
blackburnor put it to arguments :)22:21
n4nd0class member would be then22:21
blackburnI think I have an idea22:22
n4nd0blackburn: do you think this kind of considerations do actually have impact at the end of the day?22:22
n4nd0tell me22:22
blackburnwe should implement some pool22:22
blackburnwhich is global22:22
n4nd0summer is the right time for them22:22
blackburnheh sure22:22
blackburnso you do22:22
blackburnVectorPool::get(size)22:22
blackburnor so22:22
blackburnand it returns preallocated stuff22:22
blackburnallocations are not cheap but I don't know whether it really impacts there22:24
n4nd0I can test it before doing22:24
n4nd0check how long it takes and memory used22:24
n4nd0the idea of the pool is ok22:25
n4nd0but I don't see directly how it is avoided to use extra class members?22:26
n4nd0the VectorPool is required right?22:26
n4nd0but indeed it is an improvement22:27
n4nd0in my case I won't need just one SGVector22:27
blackburnn4nd0: vector pool can be global22:32
-!- hoijui [~hoijui@dslb-092-078-244-135.pools.arcor-ip.net] has quit [Quit: Leaving]22:47
blackburnn4nd0: I just received swedish spam letter :D23:11
n4nd0blackburn: oh, not from me :P23:11
n4nd0what does it say?23:11
blackburnthat I've won in UK lottery23:11
blackburn:D23:11
n4nd0nice23:12
blackburngoogle spam filters work baaad23:12
n4nd0they tell to a Russian in Swedish that he has won the lottery in UK?23:12
blackburnexactly they did23:12
n4nd0they are pretty bad spammers I think :DD23:12
--- Log closed Wed Aug 01 00:00:17 2012

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