IRC logs of #shogun for Monday, 2012-05-07

--- Log opened Mon May 07 00:00:37 2012
-!- blackburn [~qdrgsm@83.234.54.222] has quit [Quit: Leaving.]00:07
-!- gsomix [~gsomix@188.168.4.126] has quit [Ping timeout: 252 seconds]00:46
-!- vikram360 [~vikram360@117.192.165.53] has quit [Ping timeout: 272 seconds]02:56
-!- vikram360 [~vikram360@117.192.171.225] has joined #shogun05:07
-!- vikram360 [~vikram360@117.192.171.225] has quit [Ping timeout: 276 seconds]05:15
-!- vikram360 [~vikram360@117.192.167.45] has joined #shogun05:16
-!- vikram360 [~vikram360@117.192.167.45] has quit [Ping timeout: 252 seconds]06:45
-!- vikram360 [~vikram360@117.192.181.205] has joined #shogun06:46
-!- vikram360 [~vikram360@117.192.181.205] has quit [Ping timeout: 272 seconds]07:18
-!- av3ngr [~av3ngr@106.70.204.200] has joined #shogun07:29
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]08:15
-!- blackburn [~qdrgsm@83.234.54.222] has joined #shogun08:17
@sonney2kblackburn, did you make progress on mc?08:19
blackburnsonney2k: no - looks crazy..08:19
blackburnit should be subset thing..08:20
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun08:20
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host]08:20
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun08:20
@sonney2kblackburn, yeah I think so too08:22
@sonney2kit is really hard to trace for me too08:22
@sonney2kI guess heiko could do that much better...08:22
CIA-113shogun: Soeren Sonnenburg master * re6ca6cf / examples/undocumented/libshogun/library_indirect_object.cpp : fix memory leak in example - http://git.io/9JGvZQ08:24
CIA-113shogun: Soeren Sonnenburg master * r3141ae8 / examples/undocumented/libshogun/Makefile : add more heavy valgrind check options - http://git.io/2XwnFw08:24
@sonney2kblackburn, maybe you have a look at converter_stochasticproximityembedding08:24
@sonney2kit has a mem leak08:24
@sonney2kshould be easy to trace08:24
@sonney2kgot to leave train now08:25
blackburnok08:25
-!- vikram360 [~vikram360@117.192.174.33] has joined #shogun08:31
-!- sonne|work [~sonnenbu@194.78.35.195] has joined #shogun08:37
wikinghey08:45
sonne|workwiking: ho08:48
wikingsorry i couldn't help until now, but the weekend actually i took off :P08:48
sonne|workwiking: well we kept some tough ones only for you :D08:49
wikinggreat :)08:49
blackburnbtw we have holidays here08:49
blackburn:D08:49
blackburnup to 9th08:49
wikingi've just fetched the latest shogun and building just now08:49
wikingyeye it's been built08:50
sonne|workwiking: install and go to ../examples/undocumented/libshogun08:52
sonne|workthen run make valgrind-check08:52
sonne|workor check-valgrind :)08:52
wikingok08:52
sonne|workall the ones that still have errors > 1 need inspection08:52
blackburnsonne|work: not trivial in spe :/ no idea what is wrong yet08:52
-!- uricamic [~uricamic@2001:718:2:1634:f2de:f1ff:fecf:a6a5] has joined #shogun08:52
sonne|workblackburn: hmmhh it looked easy08:53
sonne|workbut I cannot look at it before this evening08:53
blackburnwhat is wrong for sure is delete instead of free08:53
sonne|workhmm not so sure about it08:53
sonne|workbut  I have some work now08:53
blackburnno delete[] after calloc is wrong08:53
blackburnok08:53
sonne|workuhh08:54
sonne|workwe should never use delete[]08:54
sonne|work*never* ever08:54
blackburnyeah08:54
wikingoookeeey it's building08:55
wikingand actually now valgrinding08:55
wikingheheh ok i'll put the output to pastebin08:56
wikingso that we know where are still errors08:56
wikinglol yeah mc linear machine is full with leaks08:57
sonne|workyeah that is our fav08:58
wikingyeah i can see why ;\008:59
wiking:>08:59
wikingput this in the topic please: http://pastebin.com/uF4pv3vP09:08
blackburnsonne|work: fixed09:17
CIA-113shogun: Sergey Lisitsyn master * rb66f1ac / src/shogun/converter/StochasticProximityEmbedding.cpp : Fixed memleak in SPE - http://git.io/XAlFXg09:17
blackburnwiking: could you please paste the output of valgrind ./converter_isomap?09:25
blackburnI have no errors there..09:25
wikingblackburn: just a sec09:26
wikingblackburn: http://pastebin.com/cWW3fVVe09:28
blackburnehhh09:29
blackburnwtf09:29
blackburnwiking: why does it use some ImageLoader??09:31
wikingyou ask me?09:31
wikingi've just ran the command u asked me to do09:31
blackburnwiking: what is os you are using?09:32
wikingpsx09:32
wiking*osx09:32
blackburnoh..09:32
wikingbut this is your real leak: =81281== 24 bytes in 1 blocks are definitely lost in loss record 2 of 1009:32
blackburnwiking: it is os specific I guess :)09:32
blackburnyes09:32
blackburnthe problem is that it gives no line09:32
blackburnmy valgrind gives :P09:33
blackburnhehe09:33
blackburnwiking: could you please add --leak-check=full option?09:33
wikingit was with that09:33
blackburndamn :(09:34
blackburnahh09:37
blackburnwiking: you have no arpack - that's why you see it09:38
CIA-113shogun: Sergey Lisitsyn master * r8539b0f / src/shogun/converter/MultidimensionalScaling.cpp : Fixed memleak in mds - http://git.io/9iAbkw09:39
blackburnwiking: could you please try latest?09:39
-!- av3ngr [~av3ngr@106.70.204.200] has quit [Quit: That's all folks!]09:41
wikingfyi: [ERROR] KernelMulticlassMachine: No left hand side specified09:43
blackburnwiking: which example?09:43
wikingmkl09:43
wiking./classifier_mklmulticlass09:44
blackburnaham!09:44
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking]09:51
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun09:53
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host]09:53
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:53
sonne|workblackburn: hmm10:11
sonne|workdid that ever work?10:11
blackburnsonne|work: mkl?10:11
blackburnshould be yeah10:11
sonne|workis that a subset thing again? the  error it doesn't really make sense to me10:12
sonne|workI meankernels should still be there.10:12
blackburnsonne|work: can be10:12
blackburnI don't know whether multiclass machines10:12
blackburndo handle custom kernels in a proper way10:13
blackburnand combined too10:13
blackburnah right10:13
blackburnkernel multiclass machine won't work at all..10:13
blackburnhowever..10:15
blackburnsonne|work: does alex have broken '_' key?10:17
blackburnunreadable methods10:17
-!- eric___ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has joined #shogun10:21
eric___hi all10:21
-!- eric_ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has joined #shogun10:36
eric_hi10:36
-!- eric___ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has quit [Ping timeout: 245 seconds]10:38
eric_allo ?10:42
blackburneric_: hey10:46
blackburnsonne|work: do you know gcc has __PRETTY_FUNCTION__ macros?11:20
sonne|workwhat for?11:20
sonne|workno11:20
blackburnsonne|work: outputs name of function11:21
blackburnI think it worths to add it to SGIO11:21
blackburnto make debug easier11:21
sonne|workfeel free11:21
eric_sonne|work: do you know if there is some advancement in code for multiclass crossvalidation ? Is there a repository where I can find smthg to improve/debug ?11:25
sonne|workblackburn: actually11:25
sonne|workhttp://gcc.gnu.org/onlinedocs/gcc/Function-Names.html11:25
sonne|work__func__ seems to be a C99 compat way11:25
sonne|workok we are using C++ but hey maybe some c++ compilers support it nevertheless11:25
blackburnsonne|work: hehe I'd rather enable it only for GCC and C++11:26
blackburnthe only men need it is we11:26
sonne|workeric_: due to current transition things are broken11:27
wikingeric_: couldn't done anything about it yet sorry11:29
eric_sonne|work, wiking: ok thx. the best way to follow advancement of this subject is to come here and ask again ?11:30
wikingeric_: well check the commit logs11:30
wiking:)11:30
eric_wiking: official github ?11:31
wikingeric_: i'm just testing now the multi class crossval with a libsvm dataset example11:31
wikingand i'll see what are the actual errors11:31
wikingeric_: yep11:31
blackburneric_: we don't have any other dev line11:31
eric_wiking: ok thanks, It would be great to test it too as soon as you thing it is commitable. good dev.11:32
wikinghow do i read the labels with AsciiFile?11:44
eric_wiking: I read data (features, labels) with cv import/export yml files. It handles stl multimap. Then I "push_back" in SG matrix.11:51
wikingeric_: heheh yeah but i rather use shogun api11:52
eric_wiking: sure11:52
eric_wiking: and load method with CFile* arg doesnt work ?11:53
wikingeric_: the problem is that i can do get_matrix with ascii file11:54
wikingbut i suppose that'll have only the features in the matrix11:54
wikingnot the labels11:54
wikingbut maybe i'm mistaken and the first column is actually is going to be the labelling11:55
wikingbut currently i still have a problem with calling get_matrix :D11:55
blackburnwiking: examples/libshogun/classifier_multiclasslinearmachine.cpp11:55
eric_is there smthg like labels SGSerializable* Labels [ version_parameter int32 1 labels SGVector<float64> 20 ({8}{8}{5}{5}{4}{4}{9}{9}{1}{1}{7}{7}{6}{6}{3}{3}{2}{2}{0}{0}) subset SGSerializable* null [] ] in your ascii file ?11:56
wikingblackburn: but here the labeling and the features are in two separate file11:56
wikingblackburn: i thought we have an api for libsvm/svmlight file11:56
blackburnno idea :D11:57
wikingheheh well yeah11:58
sonne|workyes we have or at least had at some point11:58
-!- vikram360 [~vikram360@117.192.174.33] has quit [Ping timeout: 276 seconds]11:58
blackburnI see only header11:58
sonne|workI guess that method just got erased11:58
sonne|workremoved I mean11:58
wikingsonney2k blackburn  yeah11:58
sonne|workllooks like we should keep it :)11:59
-!- vikram360 [~vikram360@117.192.171.228] has joined #shogun11:59
wikingi guess we should put it back or reimplement it11:59
wiking:)11:59
blackburnI don't think we should contain a lot of IO11:59
wikingwell just for being able to use dataset straight from libsvm/svmlight12:00
wikingafaik it should be supported12:00
wikingmoreover we say on shogun's webpage that we support that format12:00
blackburnwiking: :D12:12
wikingheheh ok CContingencyTableEvaluation works only with binary labelling12:15
wikingok now i'm getting there12:21
wikingstore_model_features is not implemented for MulticlassLibSVM12:21
wikingeric_: ok so i think i know now what's the problem12:32
wikingeric_: what svm are u using12:32
blackburnwiking: how would it work with multiclass? ;)13:04
wikingblackburn: yeah well realized... anyways now there's another problem13:04
wikingwith neither having data_locking support nor store_model_features...13:05
wikingin none of the multi class machines13:05
wikingso this way there's no way one can do a xval13:05
blackburnwiking: hmm feel free to implement ;)13:05
wikingnow at least i know why :)13:05
blackburnlooks not so difficult13:05
wikingI'm just wondering which one could be done faster13:06
blackburnsonne|work: about openmp - I want to check (or somebody to check) if it is really slower13:20
blackburnif not I believe we should use openmp - much faster to develop13:20
blackburnwiking: do you have openmp experience?13:21
wikingyeah some13:21
blackburnwiking: any performance issues?13:21
wikingit really depends how u use it13:21
blackburnyeah I know13:21
wikingso when the first time i've used it it wasn't so good13:22
blackburnbut still - some sources claim it is even faster than openmp13:22
wikingbut then again if u use the threads in a good way13:22
wikingthen it is significant13:22
wikingi mean the performance difference13:22
blackburnerrr13:22
blackburnthan pthreads13:22
wikingyep13:23
blackburnI believe it can be possible but need to check in shogun context13:23
-!- pluskid [~pluskid@li400-235.members.linode.com] has joined #shogun13:23
blackburnI should force myself to continue preparing for exam13:24
pluskidsonney2k, sonne|work  around?13:26
blackburnwiking: it will really reduce LoC13:26
pluskidI'm skimming through the git log, and find a place that was changed back and forth by you and me13:27
pluskidsonney2k: in MulticlassOneVsOneStrategy.cpp, train_prepare_next13:29
pluskidnote the returning SGVector (subset) has a different length from the original created one. If you prefer this solution, I think at least we should re-assign the length of the "subset" object to "tot" before returning13:30
blackburnpluskid: sorry I have to continue my preparations - but could you please test if with your changes multiclasslinearmachine example do not fail?13:34
pluskidblackburn: ok13:36
sonne|workpluskid: yes that was correct13:40
pluskidsonne|work: so you'll fix it?13:40
sonne|workpluskid: no it is correct the way it was before your fix13:41
pluskidhmm, let me think...13:41
eric_wiking: CLibSVMMultiClass13:41
sonne|worktot is the total length in the end13:41
sonne|workpluskid: please think loud ... there is always the option that I made a mistake too13:42
sonne|works/too//13:42
pluskidsonne|work: I don't think tot will be the total length in the end13:42
sonne|workpluskid: ok why not? it is inc' in the if and the else branch13:43
sonne|worktotal length times13:43
pluskidif ... else if13:43
sonne|workahh13:43
blackburnwhat are you talking about?13:43
blackburnI can't stand13:43
blackburnmc machine?13:44
sonne|workblackburn: prepare your exam!13:44
pluskidin multiclass, OvO only a pair of class is trained one time, so some examples are skipped, so tot will be less than total13:44
sonne|workpluskid: I will do subset.resize(tot) then13:45
blackburntot is number of vectors of only 2 classes13:45
pluskidsonne|work: yes, that's also good13:45
sonne|workpluskid: that explains the crashers right?13:45
pluskidwhich crasher?13:46
CIA-113shogun: Soeren Sonnenburg master * r090a330 / src/shogun/multiclass/MulticlassOneVsOneStrategy.cpp : resize SGVector to match total size - http://git.io/n2izQg13:46
sonne|workin linearmulticlassmachine?13:46
sonne|workand other stuff13:46
pluskidin the latest code?13:46
pluskidI fixed several yesterday13:46
pluskidjust back from the hospital today, I'll check if there's still some crashes in mc13:47
sonne|workcan someone try if make check-valgrind works now in examples/undocumented/libshogun?13:47
blackburnI can :D13:47
sonne|workpluskid: uhh? badly sick or 'just' cold?13:47
sonne|workblackburn: youuu...!13:47
blackburnI can do everything but not to prepare13:47
pluskidsonne|work: maybe badly cold...13:47
blackburnhmm may be I should wash floor here13:47
pluskidmuch better after 4 days of intravenous curing13:47
wikingeric_: ok so i'm just doing the fix ...13:47
sonne|workyeah not good13:47
blackburnsonne|work: not compileable13:48
blackburnsg vector has no resize13:48
eric_wiking: great13:48
sonne|workblackburn: just try it13:48
sonne|work^ openmp I mean13:49
sonne|workwhat?13:49
blackburnsonne|work: I will13:49
sonne|workahh13:49
sonne|workit is called resize_vector13:49
blackburnaham13:49
blackburnhere it comes13:49
sonne|workmaybe we should shorten these function names13:49
CIA-113shogun: Sergey Lisitsyn master * r545afa3 / src/shogun/multiclass/MulticlassOneVsOneStrategy.cpp : Fixed wrong method call - http://git.io/1ea3CA13:49
sonne|workpluskid: then get well soon!13:50
CIA-113shogun: Sergey Lisitsyn master * r3bae7fc / (2 files): Checks for multiclass svms - http://git.io/8TMyEw13:50
pluskidsonne|work: thanks, that's also my hope13:51
blackburnI have prepared 3 of 35 questions for my exam :D13:51
pluskidblackburn: then continue13:51
blackburnquite easy and this makes me procrastinate even more13:51
pluskidwhat course btw?13:52
shogun-buildbotbuild #852 of libshogun is complete: Failure [failed compile]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/852  blamelist: sonne@debian.org13:52
blackburnpluskid: digital signal processing13:52
pluskidoops13:53
blackburnqdrgsm@qdrgsm-laptop:~/Shogun/shogun/examples/undocumented/libshogun$ python classifier_multiclasslinearmachine.cpp13:53
blackburn  File "classifier_multiclasslinearmachine.cpp", line 1313:53
blackburn    using namespace shogun;13:53
blackburn                  ^13:53
blackburnSyntaxError: invalid syntax13:53
blackburn:D :D :D13:53
CIA-113shogun: Sergey Lisitsyn master * rcbb46be / examples/undocumented/libshogun/classifier_multiclasslinearmachine.cpp : Fixed multiclass linearmachine example - http://git.io/yJpibg13:54
blackburnsonne|work: YAY13:55
blackburnall ok??13:55
sonne|workdid you check?13:55
sonne|workwell we will see what the buildbot says...13:56
pluskidhow to only run python_modular check-examples?13:56
shogun-buildbotbuild #853 of libshogun is complete: Success [build successful]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/85313:56
blackburnsonne|work: structure dynprog crashes13:56
blackburnterribly with double free13:56
blackburnpluskid: random ECOC is a little unstable13:57
pluskidblackburn: producing SG_ERROR?13:57
blackburncomplains he failed to make a codebook within given number of iterations13:57
sonne|workblackburn: the dynprog stuff should be easy to fix13:58
pluskidblackburn: yes, I can disable the SG_ERROR though13:58
blackburnpluskid: will it work then?13:58
pluskidblackburn: no13:58
blackburn:D13:58
blackburnpluskid: can you explain why does it fail?13:59
pluskidI don't get any good idea here13:59
pluskidit produce random coding13:59
pluskidcodebook13:59
blackburnhuh that's clear from name ;)13:59
pluskidwith sparsity, so zero is also produced13:59
blackburndo you ignore zeroes?13:59
pluskidconsider a row of all-zero13:59
pluskidor only zero and +1; or only zero and -114:00
blackburnpluskid: does it happen sometimes?14:00
pluskidif it happens in a single row, the whole codebook should be discarded14:00
pluskidor *column*, in the usual sense of how the ECOC codebook is put14:01
blackburnpluskid: can we launch something crazy here to resemble everything?14:01
blackburnwhat is distribution?14:01
pluskidrand(0, 1)14:01
pluskid0.3 zero, 0.35 +1 0.35 -114:01
pluskiduniform distrib14:02
pluskidmaybe our num class is small here14:02
pluskidonly 4 classes, random sample 4 numbers in {0,-1,+1}14:02
blackburnI think if some shuffle changes anything here14:02
pluskidit is very likely to get 4 numbers without +1 or -114:02
blackburnyeah14:02
pluskidmy previous solution is to continue iteration until a good codebook is found14:03
blackburnyeah it converges I believe14:03
pluskidbut it runs tooooooooooooo long sometimes14:03
pluskidso I do this and let the user know...14:03
pluskidI don't know which is better14:03
pluskidcurrently we've already using 10000 iterations14:04
sonne|workpluskid: why not sample from good codebooks14:04
pluskidthe suggested num-iter in the paper is ... let me find14:04
sonne|worki.e. generate all valid ones14:04
sonne|workand then permute14:04
blackburnsonne|work: ??14:04
blackburnand where to store?14:04
pluskidsonne|work: impossible i think14:04
pluskidexponential14:04
blackburnyeah14:04
blackburnwould be shogun-codebooks repo14:05
blackburn:D14:05
blackburnpluskid: may be some reshuffling can help there?14:05
sonne|workyou don't have to store them all in memory14:05
sonne|workI mean you want only a certain number many14:05
pluskidblackburn: what do you mean by that?14:06
sonne|workpluskid: you generate only valid codebooks14:06
blackburnpluskid: hmm no any heuristics would break probabilities14:06
blackburnpluskid: can we set 0 probability to 0 in example?14:07
pluskidsonne|work: how to generate only valid codebooks? I'm currently generating and discarding invalid codebooks14:07
pluskidblackburn: that would then be the RandomDenseECOC14:07
blackburn:D14:07
blackburn0.01?14:07
blackburn:D14:07
blackburnjust to make example less random14:07
blackburnhowever still probability to fail14:08
blackburnI don't like any probabilities here14:08
sonne|workpluskid: how do you check a codebook is valid?14:08
pluskidsonne|work: both +1 and -1 occur14:08
blackburnsonne|work: contains +1 and -114:08
pluskidhmm, suggested max-iter in the paper is also 10,00014:09
pluskidmaybe we can simple remove the random sparse ecoc from example14:09
pluskidsince it is virtually the same as random dense, except the prob of 014:09
blackburnpluskid: or give working codebook to it?14:10
sonne|workso each example get +1 or -1 assigned or what?14:10
blackburnsonne|work: each element of codebook14:10
sonne|workblackburn: ?14:10
blackburnsonne|work: it contains rows14:10
blackburnlike 0 1 0 1 - 1 0 -114:10
blackburnfor each class14:10
blackburndescribing how group of classes interact14:11
pluskidhaha, blackburn totally forgot about his exam14:11
blackburn:D14:11
blackburnpluskid: am I right?14:11
pluskidyes14:11
sonne|workblackburn: what is the shape of a codebook?14:11
pluskid<blackburn> pluskid: or give working codebook to it?14:11
sonne|workas in #rows, #cols14:11
blackburnlen of code14:12
blackburnand num of classes14:12
pluskidyes14:12
pluskid<blackburn> pluskid: or give working codebook to it?14:12
sonne|worklen of code can be arbitrary?14:12
pluskid^^^^ what does this mean?14:12
blackburnsonne|work: yes14:12
blackburnpluskid: can we set given codebook?14:12
sonne|workblackburn: and what do 0 -1 1 stand for?14:12
blackburnsonne|work: hmm for example 1 -1 -1 -1 is OvR14:12
sonne|worknot used, neg class, pos class?14:13
pluskidblackburn: yes, but that would not be the RandomSparseECOCEncoder any more14:13
blackburnyes14:13
blackburnpluskid: I mean some generated by random sparse ecoc encoder codebook?14:13
blackburnsonne|work: for 3 classes OvR is14:13
blackburn1 -1 -114:13
blackburn-1 1 -114:13
blackburn-1 -1 114:13
sonne|workand the problem is that when you sample you sometimes don't have a +1 and -1 in there right?14:14
blackburnsonne|work: exactly14:14
blackburnonly zeros14:14
blackburnor only zeros and 114:14
blackburnor anything like that14:14
pluskidblackburn: I mean we have a ECOCStrategy which can use any valid codebook, what's failing here is not our Strategy but an Encoder that failed to produce a valid codebook14:14
sonne|workso why not select 1 position for +1 and one for -1 and then do the standard random sampling you do?14:14
sonne|workthe position can be selected by randomly shuffling14:15
blackburnsonne|work: breaks probabilities (probably :D)14:15
sonne|workwhy? I mean if you drop invalid codings later anyways?14:15
blackburnsonne|work: valid encodings are still pure random14:16
sonne|workno14:16
sonne|workthey have a +1 and a -114:16
blackburnsonne|work: does probability of containing +1 and -1 changes14:16
sonne|workso if you choose a position for +1 and -1 randomly and the rest in the same way it is random in the same way14:17
blackburnif you set it unconditionally?14:17
sonne|workblackburn: well pluskid can veryify14:17
blackburnsonne|work: I am unsure but tend you are right14:17
sonne|workjust do both approaches and plot the distribution :)14:18
pluskidI'm not sure, too14:18
blackburnkind of base stuff we can't experiment here :D14:18
sonne|workblackburn: no but we can verify if what we do is correct14:18
blackburnI mean to do it w/o any experimental support14:18
sonne|workwhy that? this 'experiment' takes a few minutes only anyways14:19
blackburnsonne|work: I mean we can do it w/o any checking14:20
blackburncan't14:20
blackburn:E14:20
blackburndamn14:20
sonne|workyeah14:20
sonne|workagreed14:20
blackburnsun is shining the weather is sweet14:21
pluskidok, I'll check that14:21
blackburnhow can I prepare to my exam damn :D14:21
sonne|workblackburn: throw your computer out of the window, close the curtain and let someone lock you in14:23
blackburn:D14:24
-!- vikram360 [~vikram360@117.192.171.228] has quit [Ping timeout: 256 seconds]14:24
-!- vikram360 [~vikram360@117.216.144.237] has joined #shogun14:25
blackburnhmm vapnik textbook seem to be so interesting when you have to learn other stuff14:26
blackburnsonne|work: have you ever tried to read vapnik stuff in russian? :D14:28
sonne|workpluskid: I think we cannot help blackburn14:28
blackburn:D :D14:28
blackburnokay back to dsp14:28
sonne|work /kick blackburn14:28
blackburn:D14:29
pluskidhaha14:29
pluskiddon't worry, he said it is easy14:29
blackburnstupid easy sometimes14:30
sonne|workw/ numpy :)14:34
pluskidblackburn, sonne|work : the prob does changes14:34
pluskidhttps://gist.github.com/262752114:34
pluskidbut I think this solution can be a good idea, though14:34
blackburnanalytics? ;)14:34
pluskidblackburn: yes, I think this is better than code experiment :D14:35
pluskidbad thing is that we can no longer share code between RandomSparse and RandomDense :p14:35
blackburnnot always :)14:35
blackburnI like fourier and other integral transforms sooo much14:38
pluskidreally?14:39
blackburnyeah14:39
blackburnand spectral things too14:39
blackburnI am not religious but I want to keep some underlying concept for some reason :D14:39
blackburnpluskid: I've felt in love with spectral stuff when I was young ^W working on dimensionality reduction :D14:41
blackburnit is really cool to see how swissroll unroll using some alignment matrix14:41
pluskidhaha, true14:41
pluskiddo you love Riemannian Geometry?14:41
pluskidbtw: go back to your exam, please~~14:42
blackburnpluskid: I wish I understood anything from riemannian geometry14:42
blackburnhehe ok14:43
blackburnpluskid: now I am really curious to try mellin transform14:45
pluskidnever heard about that14:45
blackburnit is scale invariant14:45
pluskidit is for what?14:45
blackburnjust like fourier, laplace, etc14:45
blackburnbut scale invariant :)14:46
blackburnshit14:46
blackburnI want to implement it right now and try14:46
blackburn:D14:46
pluskidhaha14:46
pluskidwait a day14:46
blackburnyeah!14:46
blackburnI can :D14:46
pluskidbrb14:47
-!- vikram360 [~vikram360@117.216.144.237] has quit [Ping timeout: 248 seconds]14:55
blackburnsonne|work: 8/35 :P15:03
blackburntime to shogun! :D joke15:04
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 260 seconds]15:43
blackburnpluskid: but you said it changes probabilites?16:13
blackburnah16:13
blackburnI see description in header16:13
pluskidblackburn: yeah, I think this is an acceptable solution16:14
blackburnagree16:14
CIA-113shogun: Chiyuan Zhang master * r32a078c / (4 files): A new method for ECOC Random Sparse to avoid invalid code - http://git.io/DBs7hg16:14
CIA-113shogun: Chiyuan Zhang master * r01dff0d / src/shogun/multiclass/ecoc/ECOCRandomSparseEncoder.h : get_default_code_length no longer needed to be virtual - http://git.io/6o6dmg16:14
CIA-113shogun: Sergey Lisitsyn master * ra6dd589 / (4 files): Merge branch 'ecoc-random-sparse' of https://github.com/pluskid/shogun - http://git.io/Q8bJDQ16:14
blackburnpluskid: is it possible to codebook OvO?16:17
pluskidblackburn: yes, there's already one16:20
pluskidECOCOVOEncoder16:20
blackburnyeah I missed it somehow16:20
blackburnpluskid: then I do not understand it at some point16:21
pluskidhowever, they are slightly different from traditional OvO & OvR, because of decoding16:21
pluskidi.e. how to get the final classification result from a bunch of binary results16:21
blackburnpluskid: is there any differencies in ovr and ovo encoding?16:22
pluskidblackburn: ovr vs. ovo ?16:22
blackburnyes16:22
pluskidblackburn: yes, ovr is dense, ovo is sparse :D16:22
blackburnoh right16:23
blackburnI see now16:23
blackburnOvO has N(N-1)/2 length16:24
pluskidyeah16:24
blackburnpluskid: I've got some crasher with random ecoc hmm16:29
pluskidblackburn: hmm, how to produce it?16:29
blackburnlet me try with valgrind (it is pretty slow)16:30
pluskidok16:30
blackburnuh wow16:31
blackburnpluskid: not ecoc issue probably..16:32
pluskidhmm16:32
blackburnsome crazy things out there :D16:32
pluskidwhat's happening?16:32
blackburn==8764== Source and destination overlap in memcpy(0x15ca7040, 0x15ca7040, 5944320)16:32
blackburn==8764==    at 0x4C2A1C4: memcpy (mc_replace_strmem.c:635)16:32
blackburn==8764==    by 0x11B0FB4D: get_copy(void*, unsigned long) (modshogun_wrap.cxx:5169)16:32
pluskidwhat's modshogun_wrap.cxx:5169 ? SWIG would be hard to debug...16:33
blackburnpluskid: I guess something wrong with my script16:35
blackburnthis can't be true :D16:35
pluskidhaha16:35
-!- karlnapf [~heiko@host86-182-166-18.range86-182.btcentralplus.com] has joined #shogun16:36
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun16:51
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host]16:51
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:51
@sonney2kRe16:52
@sonney2kblackburn, can you check how much they overlap16:52
@sonney2kactually they are the same16:52
@sonney2kmemcpy(0x15ca7040, 0x15ca7040, 5944320)16:52
@sonney2kblackburn, is len of  5944320 reasonable?16:52
blackburnsonney2k: no idea :D16:53
@sonney2k6MB?16:53
blackburnyes should be something like that16:53
@sonney2kblackburn, how big is the stuff you copy?16:53
@sonney2kok16:53
@sonney2kthen it makes sense16:53
@sonney2kpluskid, just reading your gist16:55
blackburnI can't stop valgrind with that example :D16:55
@sonney2kdon't understand it yet but I guess you are saying things are differnent16:55
pluskidsonney2k: yes, different if I'm correct, but acceptable16:56
pluskidI mean acceptable if we explicitly document it16:56
pluskidand since the user generally never care about the probabilities16:56
@sonney2kpluskid, I don't really udnerstand what you wrote16:59
pluskidsonney2k: I'm calculating the prob of getting 0, +1 and -1 for a position16:59
@sonney2kok so if uniformly sampling it is all 1/317:00
@sonney2kright?17:00
pluskidyes17:00
pluskidif we use our alternative method17:00
pluskidto get 0, first you should not be randomly selected as the two positions17:00
* sonney2k watches valgrind - yay the examples work again :)17:01
pluskidthe prob is C(2,N-1) / C(2,N)17:01
pluskidhere N is num classes, assume it is 417:01
@sonney2kpluskid, ok17:02
@sonney2kpluskid, actually the 1/3 is not correct since we remove cases where we don't have a -1 and +1 at least17:02
pluskidyes17:02
@sonney2kI mean even in the uniform sampling case17:02
pluskidsonney2k: no17:02
pluskidsonney2k: we are rejecting the whole codebook, not single code position17:02
@sonney2kpluskid, why? I thought we drop all cases17:03
@sonney2kahh17:03
@sonney2kok17:03
@sonney2kbut still17:03
@sonney2kthe whole codebook then needs modelling17:03
@sonney2kbasically concatenation of one code then17:03
@sonney2kerr to one code17:04
@sonney2kand there will be more +1/-1s than usual in there17:04
pluskidthat's true, we are not sampling from the space of all codebooks17:05
pluskidnot uniform sampling from all codebooks17:05
@sonney2kyeah17:07
@sonney2kI fail to solve this analytically17:07
@sonney2khave to leave train17:09
@sonney2kpluskid, thanks for the fix and cu hopefully tomorrow17:09
pluskidsonney2k: haha, cu17:09
pluskidtime to sleep soon here17:09
-!- eric_ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has quit [Quit: Page closed]17:12
-!- pluskid [~pluskid@li400-235.members.linode.com] has quit [Quit: Leaving]17:16
-!- uricamic [~uricamic@2001:718:2:1634:f2de:f1ff:fecf:a6a5] has quit [Quit: Leaving.]17:20
CIA-113shogun: Heiko Strathmann master * r302bc24 / (2 files):17:26
CIA-113shogun: m_values variable is now split to array/length instead of SGVector due to messy17:26
CIA-113shogun: problems. Parameter registration removed - http://git.io/WlOeNw17:26
CIA-113shogun: Heiko Strathmann master * rcd00a95 / src/shogun/modelselection/ModelSelectionParameters.h : serialization is now forbidden - http://git.io/VQKUZg17:26
CIA-113shogun: Heiko Strathmann master * r8105d5f / (2 files):17:26
CIA-113shogun: Merge pull request #503 from karlnapf/master17:26
CIA-113shogun: get rid of SGVector<void/char> - http://git.io/VDh6YA17:26
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has joined #shogun17:35
n4nd0yaay! back to normal life :)17:36
blackburnn4nd0: oh congrats17:36
blackburnhow was your exam?17:36
n4nd0blackburn, I think it was ok, we'll see17:39
blackburnn4nd0: do you have results of other exams yet?17:39
blackburnI have last one on DSP17:39
blackburntomorrow17:39
n4nd0not yet17:40
n4nd0I didn't even get the one I did two Thursdays ago yet17:40
blackburnI see17:41
blackburnn4nd0: so you are free to do some stuff?17:41
n4nd0yeah!17:42
blackburnn4nd0: you were talking about some umls?17:42
n4nd0yes, Nico suggested to prepare them17:43
n4nd0I saw he started some code sketch in gist as well17:43
blackburnI just tried to sketch some domain adaptation example17:44
blackburn:D17:44
blackburncan't enhance accuracy17:44
blackburnit is 1.0 :D17:44
n4nd0in gist you mean?17:44
blackburnno17:44
-!- gsomix [~gsomix@178.45.90.39] has joined #shogun17:49
blackburn??????????? ???????17:50
karlnapfI love the new SGVector system :)17:58
gsomixhi all17:58
karlnapfhi17:58
blackburnkarlnapf: is there any bugs so far?17:59
karlnapfblackburn, dont know, I am currently another one17:59
karlnapfbut the --enable-trace-mallocs still doesnt work17:59
karlnapfwhich would be an enormous help17:59
blackburngsomix:17:59
gsomixin progress18:00
karlnapfI did not mean to stress anybody btw :)18:01
blackburnkarlnapf: it is ok, RIGHT GSOMIX? :D18:01
karlnapflol :D18:01
gsomixblackburn, yes, master.18:01
blackburnkarlnapf: index_t in subsets is confusing for python :(18:03
karlnapfblackburn, what?18:03
karlnapfdoesnt compile?18:04
blackburnkarlnapf: subsets are SGVector<uint32_t>18:04
blackburnbut in python default int is signed18:04
blackburnso you have to explicitly set type18:04
karlnapfwhere did I do the uint32_t18:04
blackburnactually I think we can handle this18:04
blackburnkarlnapf: orrr18:04
blackburnah18:04
blackburnkarlnapf: sorry not u18:04
karlnapfkk :)18:05
blackburnbut still doesn't fit18:05
blackburnkarlnapf: hmm let me check default type18:05
karlnapfindex_t = int32_t18:05
blackburnyes18:05
karlnapfi am using index_t everywhere18:05
blackburnkarlnapf: yes that's ok18:05
blackburnkarlnapf: ah! got it18:05
blackburnit seems swig does not generate while it is index_t18:06
blackburnand default int in python is 6418:06
blackburn:D18:06
blackburnI guess it can be solved with typemaps18:06
karlnapfmmh18:07
gsomix>> 0 Blocks are allocated:18:09
gsomixhorray!18:09
blackburnsonney2k: have you seen? http://google-opensource.blogspot.com/2012/05/introducing-ceres-solver-nonlinear.html18:11
blackburnit is portable - callback classes18:12
-!- PhilTillet [~philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun18:14
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has quit [Ping timeout: 276 seconds]18:20
blackburnkarlnapf: need advice18:31
karlnapfblackburn, yes?18:31
blackburnwhat does low auROC and high accuracy mean?18:31
karlnapfehm18:31
karlnapfauROC = area under ROC curve?18:32
blackburnyeah18:32
blackburnaccuracy =  0.518:32
blackburnauROC =  0.74557518:32
blackburnaccuracy =  0.517518:32
blackburnauROC =  0.37157518:32
blackburnany idea what I have lost there?18:32
blackburnaccuracy increased but ROC felt down18:32
karlnapfwhich problem?18:32
karlnapfmight have to do with symmetry of the problem18:32
blackburnno, dataset is well balanced18:33
karlnapfyou can get a bad classifier while the ROC score is large18:33
blackburn200 vs 20018:33
karlnapfmmmh18:33
blackburnI am doing some experiments with domain adaptation18:33
blackburnfirst one is SVM trained on source domain18:33
blackburnapplied to target domain18:33
karlnapfI usually dont use ROC because of all these caveats one might run into18:33
karlnapflet me think isnt there a case when you can have high accuracy but low roc?18:34
blackburnand second one is SVM trained on subset of target domain regularized against SVM trained on source domain18:34
blackburnhmmm18:34
blackburnit really depends on parameters..18:34
blackburnaccuracy =  0.518:34
blackburnauROC =  0.7304518:34
blackburnaccuracy =  0.657518:34
blackburnauROC =  0.78897518:34
blackburnmuch better now :D18:35
karlnapfwhat did you do?18:35
blackburnchanged C18:35
karlnapfwell18:35
karlnapfhow is the ROC computed anyway?18:35
blackburntwo C and two widths18:35
blackburncrazy18:35
karlnapfwe dont have the signoid fitting for SVMs18:35
karlnapfwhat score is used?18:35
blackburnwhy do you need to have sigmoid fitting there?18:35
karlnapfROC needs a non-binary classifier score18:36
karlnapfwhat is used here?18:36
blackburnoutputs of svm18:36
karlnapfa i see18:36
blackburnFP/(FN+TN)18:36
blackburnTP/(FP+TP)18:36
karlnapfsorry then, if the classes are balanced I dont know where this should come from18:38
blackburnkarlnapf: me too18:38
blackburnkarlnapf: ah one more q18:38
karlnapfhave you tried f1 measure?18:38
blackburnnot yet18:38
karlnapfthats usually the most robust18:38
blackburnI just don't know how to fit values here18:39
karlnapfwhich ones?18:39
blackburnC, width18:39
karlnapfmmh you might use my mighty grid-search framework :)18:39
blackburnkarlnapf: that's a crazy case here..18:39
karlnapfstart with a coarse search (exponential 2^-5 to 2^10 or so)18:40
karlnapffind best pair and refine from there18:40
blackburnkarlnapf: I have 4 parameters :D18:40
karlnapfoh18:40
blackburnC of source svm18:40
karlnapfwell, you only told me about 2 :)18:40
blackburnwidth of source kernel18:40
blackburnC of target svm18:40
blackburnand no idea if width should be the same18:40
karlnapfand the domain is different?18:40
blackburnyes18:40
karlnapfthen probably not the same18:40
karlnapfI would let that run over night18:41
blackburnkarlnapf: I do not really want results but to grasp how does it change18:41
blackburnhowever slight improvement is here and I should be happy18:42
karlnapfwith 4 parameter I would say one cannot really imagine that18:42
blackburnyeah 4d spaces are hard to grasp :D18:42
-!- vikram360 [~vikram360@117.216.144.237] has joined #shogun18:44
blackburnpff everything is so ill-posed18:44
blackburnkarlnapf: it seems your supervisor is the expert in things like kernel mean matching, right?18:48
blackburnkarlnapf: hahaha I should make it linear probably18:54
blackburngot 1.0 finally18:54
-!- PhilTillet [~philippe@vir78-1-82-232-38-145.fbx.proxad.net] has quit [Remote host closed the connection]18:54
karlnapfblackburn, congrats :)18:55
blackburn:D18:55
blackburnokay now I see it works more or less18:55
karlnapfblackburn, yes, arthur does a lot of kernel based statistical stuff18:55
blackburnkarlnapf: is he overloaded with his work?18:56
karlnapfwell scientists tend to be overloaded all the time :)18:56
blackburnI mean is there a chance I ask him for some advice?18:56
karlnapfhe's quite busy, but you can probably send him a mail18:56
karlnapfwhats the problem though?18:56
blackburnnothing just estimate for my future work18:56
blackburnkarlnapf: KMM is useful for DA18:57
blackburnso if there is the expert like arthur I can ask him if I am stucked :D18:57
karlnapflol i dont know both of these abreviations :)18:57
blackburnkernel mean matching18:57
blackburndomain adaptation18:57
karlnapfk18:59
karlnapfmmh18:59
karlnapfkernel mean matching is?18:59
karlnapfthe MMD metric?18:59
blackburnkarlnapf: no I don't think so19:00
blackburnkarlnapf: it is a method to match test and train domains19:00
karlnapfmmh, I mean you can still ask :)19:02
karlnapfbut I am unsure whether he has time to dig into that -- which is probably necessary19:02
blackburnheh ok19:02
blackburnhttp://dl.dropbox.com/u/10139213/share/0000_0_0_0_15_0_1.pgm19:06
blackburnhttp://dl.dropbox.com/u/10139213/share/0000_02176.pgm19:06
blackburnkarlnapf: ^ that's how my domains look like19:06
karlnapfwhat is the overall image in this kind of stuff?19:07
blackburnkarlnapf: what do you mean?19:07
karlnapfexplain to me what you are doing?19:07
karlnapf :)19:07
blackburnkarlnapf: 3d image is source (train) domain19:08
blackburnreal image is target (test) domain19:08
blackburnkarlnapf: I do binary classification on that data19:08
karlnapfwhat are the classes?19:09
blackburntwo different guys19:09
gsomixkarlnapf, about trace-mallocs.19:10
karlnapfk, well nice stuff is that19:10
karlnapfgsomix, yes?19:10
karlnapfis it working :) ?19:10
gsomixkarlnapf, I'm afraid, but it seems, that it works... again19:10
gsomixhehe =___=19:10
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has joined #shogun19:10
karlnapfnice :)19:11
gsomixkarlnapf, can you merge it?19:11
karlnapfyes let me check19:11
gsomixkarlnapf, ok, just few minutes19:13
blackburnoh shit19:13
blackburnexam19:13
blackburn:D19:13
n4nd0hey guys, a question19:13
blackburnn4nd0: yes?19:13
n4nd0I think my background in optimization is rather low19:14
-!- cronor [~cronor@g225030209.adsl.alicedsl.de] has joined #shogun19:14
n4nd0it will probably be quite good for me to read about it19:14
n4nd0do you have any recommendation?19:14
blackburnaham!19:15
n4nd0I mean for example the different optimization problems that arise with SVMs19:15
blackburnyes19:16
n4nd0with the different formulations and the like19:16
n4nd0do you think it is a good idea to read about that from a more general point of view?19:16
blackburnn4nd0: ftp://cmp.felk.cvut.cz/pub/cmp/articles/franc/Franc-PhD05.pdf19:16
n4nd0let me see19:16
blackburnwell formulations of binary svm are pretty similar19:17
blackburnthey are not really changing19:17
blackburnexcept some crazy (like DA stuff) things19:17
blackburnformulations of multiclass svm are much more interesting I think :D19:18
karlnapfn4nd019:18
karlnapfthere is a very nice book about convex optimization19:18
karlnapfStephen Boyd19:19
karlnapfDepartment of Electrical Engineering19:19
karlnapfStanford University19:19
karlnapfLieven Vandenberghe19:19
karlnapfElectrical Engineering Department19:19
karlnapfUniversity of California, Los Angeles19:19
karlnapfI think its free to download19:19
karlnapfif not, I might have a digital copy floating around somewhere19:19
blackburnkarlnapf: that 6** pages thing?19:19
karlnapfwell not everything19:20
karlnapfI mean for understanding the SVM stuff19:20
blackburn:D19:20
karlnapfyou basically need to understand only the Lagrangian stuff19:20
blackburnyeah it is pretty simple19:20
blackburnn4nd0: are you able to derive dual from primal?19:20
karlnapfbut n4nd0, dont worry, this takes some time to get19:20
blackburnand do you know what is primal and dual?19:21
n4nd0blackburn, yes19:21
blackburnyes for both?19:21
n4nd0blackburn, yeah19:21
karlnapfI would start with optimizing quadratic forms, do newton, line search and Lagrangian stuff19:21
karlnapfthen you already can do a lot19:21
n4nd0blackburn, right now it would probably take some minutes19:21
n4nd0blackburn, but that is something I learnt last year in a course19:21
blackburnn4nd0: SO is very similar to C-S multiclass19:22
blackburnlet me write it down19:22
n4nd0what does C-S stand for?19:23
@sonney2kcrammer singer :)19:24
blackburnhttp://latex.codecogs.com/gif.latex?\min_{w}%20\sum_w%20\|w_m\|^2%20+%20C%20\sum_i%20\xi_i,%20\\%20\langle%20w_{y_i},%20x_i%20\rangle%20-%20\langle%20w_{m},%20x_i%20\rangle%20\leq%20d(y_i,m)%20-%20\xi_i,%20\\%20\text{where}~~~%20d(y_i,m)%20=%20[y_i=m]19:24
@sonney2kblackburn, yes it is the natural extension19:24
blackburnn4nd0: IIRC in wikipedia there is a formulation of SO19:24
@sonney2konly problem is that the argmax can be very expensive19:24
@sonney2kkarlnapf, still there?19:25
karlnapfsonney2k, yes19:25
blackburnn4nd0: you could try to derive dual and match how SO can be C-S19:25
karlnapfsonney2k, I found the reason for the error with the x-val and regression example19:25
@sonney2kkarlnapf, I was wondering about model selection / serialization with the new SGVector / Matrix stuff19:25
karlnapfthe locking is responsible19:25
@sonney2kkarlnapf, what was it?19:25
karlnapfsubset/locking related thing19:25
blackburnn4nd0: http://www.stanford.edu/~boyd/cvxbook/ that's the book19:26
karlnapfhavent completely found out, but training without locking works19:26
karlnapfsonney2k, what did you mean with that?19:26
@sonney2kkarlnapf, hmm19:26
blackburnhahah my formulation is wrong sorry19:26
@sonney2kkarlnapf, locking is supposed to fix the data and precompute the kernel matrix19:26
@sonney2kno more right?19:26
blackburnd(y_i,m) = 1 - [y_i = m]19:26
karlnapfyes, but it adds subsets to the custom kernel for that, and also to labels19:27
@sonney2kkarlnapf, ok what I mean is that I don't know how we can serialize/deserialze with new sgvector19:27
karlnapfI am in the process of figuring it out :)19:27
@sonney2kkarlnapf, I recall that we were just using ptrs + len and did fill things in19:27
karlnapfoh you mean version wise?19:27
@sonney2kbut now you need correct refcounts too19:27
@sonney2kversion wise is even worse19:27
n4nd0blackburn, and what about the sum over w?19:28
blackburnn4nd0: hah19:28
blackburntotally wrong sorry19:28
@sonney2ki changed a couple of double* / int class member variables but that certainly will no longer work when loading19:28
blackburnsum over ms19:28
n4nd0blackburn, :)19:28
karlnapfsonney2k, you mean de-serialising a vector in general?19:28
@sonney2kn4nd0, so did you finish your exam? all good?19:29
n4nd0sonney2k, pretty tiring but it was ok19:29
blackburnsonney2k: have you seen my cool pics? ;)19:29
-!- vikram360 [~vikram360@117.216.144.237] has quit [Ping timeout: 265 seconds]19:29
n4nd0sonney2k, I still find very curious when they make us in the exams step by step the convolution of two pulses19:30
n4nd0after five years doing the same :D19:30
n4nd0they make us do*19:30
@sonney2kblackburn, about ceres - yes I have seen it. You think we should better just use it for least squares stuff?19:30
blackburnsonney2k: it should be cool19:31
blackburnhey it comes from google19:31
blackburn:D19:31
blackburnI believe we can fit it there pretty nice19:31
@sonney2kkarlnapf, yes19:32
@sonney2kkarlnapf, and not that soon sgmatrix etc will follow19:32
blackburnn4nd0: I am going to take some convolutions tomorrow19:32
blackburnand Z transforms19:32
blackburnhehe19:33
@sonney2kI mean it seems things compile now so I can continue with SGMatrix/ SparseMatrix / StringList19:33
@sonney2kbecause I *really* like the new SGVector stuff19:33
blackburnMOAR BLOOD19:33
@sonney2ksoooo much easier to use19:33
karlnapfyes indeed19:33
karlnapfvery nice stuff19:33
n4nd0blackburn, you'll have some fun there :D19:33
karlnapfmmh, I still dont really get the problem you mentioned sonney2k19:33
blackburnn4nd0: now recalling FFT :D19:34
@sonney2know we just need a few more helper functions to do general tasks with vectors / matrices and then all good19:34
@sonney2kkarlnapf, do all libshogun examples run for you?19:34
n4nd0blackburn, you know what? FFT is actually very useful19:34
@sonney2kbecause here base_map_parameters.h has a problem19:34
@sonney2k.cpp19:34
blackburnn4nd0: I am a big fan of any transforms19:34
blackburnI said it today already to pluskid :D19:34
karlnapfsonney2k, yes, in my last patch that example worked19:35
@sonney2kkarlnapf, ==17961== Invalid free() / delete / delete[] / realloc()19:35
@sonney2kok19:35
@sonney2klet me git pull19:35
@sonney2kkarlnapf, btw does that mean we cannot use SGVector/Matrix etc in x-validation?19:35
karlnapfyes we can19:35
@sonney2kn4nd0, good to hear19:35
@sonney2kkarlnapf, that is what I wanted to hear :D19:36
karlnapfits only that the parameter tree cannot be serialised :)19:36
@sonney2kkarlnapf, what did you remove19:36
n4nd0blackburn, DFT is used in wifi, 3G and 4G! it is everywhere :)19:36
karlnapfhowever, currently only two types are supported19:36
@sonney2kahh why would one want to do that anyways?19:36
blackburnn4nd0: yes I know ;)19:36
karlnapfsonney2k, yes indeed, I replaces this generic vector for the values by array/len to get rid of SGVector<char>19:36
karlnapfmodel-selection for matrices, I wonder if anybody will ever request this :D19:37
* sonney2k never needed fft/dft ...19:37
@sonney2kkarlnapf, in 2 years :)19:38
karlnapfyes :) shogun 2.019:38
karlnapfalso comes with cluster support :D19:38
@sonney2kkarlnapf, we hope to have shogun 2.0 this year btw19:39
@sonney2kwe are changing too much to justify a 1.x release19:39
blackburnsonney2k: there should be a room for some transforms in genomes :D19:39
blackburnsonney2k:  hmm wait some operations can be done with fft19:40
@sonney2kblackburn, I know viruses that can :D19:40
karlnapfnice19:40
karlnapfbut we only had shogun1.0 and 1.119:40
blackburnsonney2k: but matching?19:40
blackburnit can be done in fourier domain19:40
@sonney2kwhat do you want to match?19:41
blackburnsequences may be? I am not an expert you know :)19:41
n4nd0blackburn, what matching are you talking about?19:41
n4nd0blackburn, matched filter?19:41
n4nd0wow 20 seconds lag ...19:42
cronorhey guys19:44
karlnapfgotta go, take care all19:44
n4nd0karlnapf, bye, take care you too19:45
cronorbye karlnapf19:45
@sonney2kkarlnapf, there are still errors19:45
@sonney2kin base_map_parameters19:46
blackburnn4nd0: hmm I lost my idea :D19:46
@sonney2kkarlnapf, base_load_file_parameters19:46
@sonney2kkarlnapf, base_load_all_file_parameters19:46
@sonney2kkarlnapf, to reproduce run make check-valgrind19:46
blackburnsonney2k: isn't matching of two sequencies important in bioinf?19:46
@sonney2kseems like these are memory leaks in there19:47
@sonney2kblackburn, yes but even considering dft or so on dna sounds a lot slower than doing the matching...19:47
blackburnsonney2k: O(n log n)19:48
blackburnare other matchers faster?19:48
@sonney2klinear time (in query)... but it depends on what you want to do19:49
@sonney2kalright then19:50
@sonney2kI guess I should continue with SGMatrix now19:50
@sonney2kand blackburn - don't you have an exam?19:50
blackburnsonney2k: not now19:50
blackburn:D19:50
blackburnin 13 hours19:50
blackburntoo much time19:50
@sonney2k- 2 hrs sleep19:50
@sonney2k11 hrs19:50
@sonney2kyeah19:51
@sonney2kblackburn, go fix some bugs!19:51
blackburnsleep? what for? :D19:51
blackburnsonney2k: do we have any?19:51
@sonney2kgsomix, btw did you do the reformatting changes in the code? you had a couple of if(...)19:51
blackburnI'd rather learn DSP :D :D19:51
@sonney2kblackburn, haha19:51
gsomixsonney2k, aha.19:51
* sonney2k opens pandoras box19:53
@sonney2kaka SGMatrix19:53
blackburnsonney2k: I tried chris' DA svm19:53
blackburnworks!19:53
blackburnsonney2k: ah 1 minute19:53
blackburnI asked karlnapf before may be you know19:53
blackburnwhat does low auROC but high accuracy mean?19:54
n4nd0wooow I have passed databases!!!19:54
blackburnn4nd0: congrats ;)19:54
blackburnwe knew that19:54
@sonney2kblackburn, data is unbalanced19:54
n4nd0I did so !%# bad the exam19:54
blackburnbad?19:54
n4nd0I was not sure at all19:54
@sonney2kerr wait no19:54
n4nd0terrible19:54
blackburnwait so bad or passed? :D19:55
@sonney2kblackburn, what are the numbers?19:55
n4nd0I did it terrible, bat managed to pass19:55
n4nd0haha19:55
n4nd0but*19:55
blackburnsonney2k: was something like 0.6 accuracy and 0.2 auROC19:55
@sonney2kn4nd0, thats all that counts19:55
@sonney2kblackburn, 0.2 auROC???19:56
blackburnyes19:56
@sonney2kblackburn, you know that 0.5 is the worst you can get19:56
@sonney2k(random classifier)19:56
n4nd0sonney2k, yeah! :) 9 credits less left19:56
blackburnthere is a bug then19:56
blackburnorrr19:56
@sonney2kso 1-(your classifier)19:56
@sonney2kworks better19:56
blackburnsonney2k: yes I fixed that alraedy19:56
@sonney2kand gets 80% auROC19:56
@sonney2kblackburn, fixed what?19:56
blackburnnormalization and parameters19:56
blackburnbut was curious what does it mean19:57
@sonney2kblackburn, of what?19:57
blackburnof svms19:57
blackburnsonney2k:19:57
blackburnsource->target19:57
blackburnaccuracy =  0.812519:57
blackburnauROC =  0.92562519:57
blackburnDA19:57
blackburnaccuracy =  0.877519:57
blackburnauROC =  1.019:57
@sonney2kblackburn, it sounds like you swapped labels +1 <-> -119:57
@sonney2kon test data19:57
blackburnsource is http://dl.dropbox.com/u/10139213/share/0000_0_0_0_15_0_1.png19:57
blackburntarget is http://dl.dropbox.com/u/10139213/share/0000_02176.png19:57
blackburnsonney2k: cool example isn't it?19:57
@sonney2kI don't get it20:01
blackburnsonney2k: I train svm on source 3d data20:01
blackburnand train svm regularized against that source svm on 10 examples of target real photo20:02
@sonney2kbtw, how shall we do sgvector refcount business?20:02
blackburnand apply to whole target data20:02
blackburnsonney2k: ?20:02
@sonney2kI mean shall we have a common base class for SGMatrix/Vector ...?20:02
blackburnsonney2k: what can it share?20:02
blackburnref?20:03
@sonney2kthe ref/unref20:03
blackburnnot really needed I think20:03
@sonney2knot so sure20:03
@sonney2kcode is > 100 lines20:04
@sonney2ktimes 520:04
@sonney2kclasses20:04
@sonney2kbetter use inheritance...20:04
blackburnsonney2k: I don't mind20:04
@sonney2kany ideas for a proper name20:04
blackburnSGDataStructure :D20:05
@sonney2kblackburn, and then only have refcounts in there :D20:05
blackburnsonney2k: no idea!20:05
blackburnreally no idea20:05
@sonney2kor we use SGBase and also derive SGObject from ti20:06
@sonney2kit20:06
@sonney2khmmhh sgobject is different ... it is always used as ptr20:07
blackburnsonney2k: what will SGBase contain?20:07
blackburnno20:07
@sonney2kblackburn, refcounting only20:07
blackburnthat wouldnot work20:08
blackburnmoreover we planned to try shared ptrs20:08
blackburnsonney2k: may be we can sell a place for some adv there?20:08
blackburnSGCocaCola?20:08
@sonney2kblackburn, SGGarbageCollector?20:09
blackburnmay be SGAlways - I always love their advertisement20:09
blackburnehm20:09
@sonney2kor SGRefCounter20:10
blackburnit is not a garbage collector20:10
blackburnand not a ref counter20:10
@sonney2kblackburn, https://en.wikipedia.org/wiki/Reference_counting20:10
blackburnsonney2k: yes - not a collectOR20:10
@sonney2kwhy not?20:10
blackburnsonney2k: because collector is an entity that does garbage collecting20:11
@sonney2kso what is ref/unref doing?20:11
blackburnsonney2k: SGReferencedStructure20:11
blackburnsonney2k: so each vector is a GC?20:11
@sonney2kit is a garbage collection algroith20:11
@sonney2kalgorithm20:11
blackburnno that name is wrong - it is confusing20:12
@sonney2kblackburn, SGRefcountedObject ?20:12
@sonney2kor SGReferenceCountedObject?20:12
blackburnsonney2k: we need to make a borderline between SGObject and that class ;)20:13
blackburnisn't SGObject ref counted?20:13
@sonney2kwiking, n4nd0, karlnapf, gsomix - any other opinions?20:13
@sonney2kblackburn, yes that is why I wanted to have a common base class20:13
blackburnsonney2k: that can be bad20:14
@sonney2kbut it doesn't really work - we use SGObjects as ptrs only20:14
@sonney2kso the whole mechanism is different20:14
blackburnI'd call it SGReferencedStructure20:14
@sonney2kit is an object...20:15
blackburnSGReferencedData20:15
@sonney2kok20:15
@sonney2klets use this20:15
blackburnif we put an Object word here we would make it confusing20:15
n4nd0I don't see clear what we need here about this20:15
blackburnbecause they would be both Objects20:15
@sonney2kn4nd0, a name for a class20:15
blackburnboth referenced20:15
blackburnbut one called referenced20:15
blackburnand one not20:15
@sonney2kthe base class of SGVector/Matrix ...20:16
@sonney2kthat will do refcounting20:16
blackburnSGRDAO!20:16
blackburn:D20:16
blackburnShogun referenced data access object :D20:16
@sonney2k SGReferencedData it is!20:16
blackburnI like ref'd data20:16
blackburnn4nd0: if you want to do some intrusive penetration20:17
blackburn:D20:17
blackburnyou can separate labels20:17
blackburnbinary/multiclass20:17
wikingsonney2k: have to read the log20:18
n4nd0what about structured labels?20:18
@sonney2kn4nd0, but I recall that you didn't finish the benchmark for the covertrees or did you?20:19
blackburnhah20:19
@sonney2kwiking, go ahead :)20:19
blackburnsonney2k: I think we should start with labels20:19
wikingblackburn: please don't implement a garbage collector for cpp, there's a good reason why it does not have one20:19
blackburnwiking: ?? I don't want to :D20:20
@sonney2kfear and loathing on #shogun20:21
n4nd0sonney2k, the next step was to try it out doing the distance computation using lapack20:21
blackburnsonney2k: n4nd0: I'll do this benchmark when I will be changing neighbors searching in EDRT20:21
@sonney2kblackburn, n4nd0 the 2xy thing?20:22
wikingi would go with the KISS story: why we don't do a shared pointer story?20:22
blackburnlove story20:22
wikingof course the problem now would be (as it's implemented in boost) that we would need to redefine all the function arguments20:23
wikingbut then again if we do the SGReferencedData20:23
n4nd0sonney2k, I think we talked about doing the norm or distance with blas20:24
wikingthen you would inherit SGMatrix from that?20:24
@sonney2khmhh - the assignment operator= is class specific right?20:24
wikingor you would have SGMatrixReferenced?20:24
n4nd0sonney2k, not even doing the 2xy trick20:24
blackburnsonney2k: yeah20:24
@sonney2kn4nd0, that doesn't work - blas doesn't have a function for that20:24
@sonney2kwiking, yes20:24
@sonney2kblackburn, ok20:25
wikingso we would have SGMatrix and then do the referenced trick with SGMatrixReferenced20:25
wikingwell in that case that would require as well a whole lot of function arg rewriting in a lot of functions as far as i can see now, or?20:25
n4nd0sonney2k, then it would be with the 2xy trick20:25
@sonney2kwiking, no20:26
gsomixkarlnapf, done20:26
wikingsonney2k: how?20:27
@sonney2kwe do SGRef* and derive SGMatrix from that class20:27
@sonney2kdone20:27
wikingok i see20:27
wikingbut still currently the api is like20:27
wikingsomething(SGVector/SGMatrix....20:27
wikingor?20:27
wikingor SGMatrix/SGVector something (....)20:27
@sonney2kwhat?20:27
wikinga typical function i mean.. in shogun20:28
wikingit looks like that, in case of SGMatrix/Vector20:28
wikingok sorry i see what you mean20:28
@sonney2kgsomix, why did you remove the hashset example?20:29
wikingthe only question here is, that now we are doing our own way, but for example in c++11 we already would have std::shared_ptr. so i'm just wondering why we wouldn't just implement shared_ptr in case there's no support for it, i.e. if there's no c++11 support, and use that?20:29
@sonney2kgsomix, otherwise the patch looks good to merge from my side20:29
wikingi mean essentially we'll do the same thing with SGReferencedData20:30
gsomixsonney2k, oh. I will do new CSet and examples for CMap and CSet later.20:30
wikingbut imho it'd be good if we try to go with some standards too...20:30
@sonney2kwiking, it is a very simple mechanism w/o overhead20:30
@sonney2kgsomix, ok20:30
blackburnwiking: help me to convince sonney2k to use more stl :D20:30
CIA-113shogun: Evgeniy Andreev master * r15cb774 / (4 files in 2 dirs): deleted CSet, added CMap - http://git.io/EMhyAA20:31
CIA-113shogun: Evgeniy Andreev master * r074c5da / (4 files in 3 dirs): CSet<MemoryBlock> to CMap<void*, MemoryBlock> - http://git.io/2QZdMg20:31
CIA-113shogun: Evgeniy Andreev master * r0e70022 / (src/shogun/lib/Map.h src/shogun/lib/memory.cpp): fixes for tracing mallocs - http://git.io/TpoyHw20:31
CIA-113shogun: Soeren Sonnenburg master * rf04183b / (8 files in 4 dirs):20:31
CIA-113shogun: Merge pull request #504 from gsomix/CSet20:31
CIA-113shogun: ?Map for mallocs tracing - http://git.io/Q8hg1w20:31
blackburnI admit I do not really like we have to give gsomix tasks like that20:31
@sonney2kblackburn, ?20:31
wikingsonney2k: yes simple but none-standard. and imho there's a good reason to go with standard solution if one is available20:31
blackburnsonney2k: he spent time reimplementing map20:31
blackburnand debugging it20:31
gsomixoh, politics :)20:31
blackburnwhile it is already available20:32
wikingsonney2k: i don't want to say stupid things so i'll check it now, but i think std::shared_ptr (just as in case of boost) is intended to be implemented with template inline functions... and if that's true, i don't see any overhead20:33
shogun-buildbotbuild #859 of libshogun is complete: Failure [failed compile]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/859  blamelist: gsomix@gmail.com20:34
gsomixwut?20:35
wikingsonney2k: moreover things like being thread-safe would be solved as well...20:36
wikingand if you do thread-safe implementation for SGReferencedData then you are basically at the same state...20:37
blackburnwait wait20:37
blackburnSGVector is not thread safe??20:37
blackburnhey that sucks20:37
blackburnwiking: how does it work with shared ptrs?20:38
wikingblackburn: as usual20:38
blackburnis it shared_prt<Class>?20:38
wikingusing some kind of a locking mechanism that is atomic20:38
wikingyeah otherwise it's like that20:38
wikingyou pass around shared_ptr<Class>20:38
blackburnwiking: I se20:40
blackburne20:40
wikingshared_ptr has been developed as part of boost library for some time now, so it has became quite standard and it has became the part of std in c++1120:40
CIA-113shogun: Sergey Lisitsyn master * r5238cb0 / src/shogun/features/Labels.cpp : Removed wrong include - http://git.io/hWgiQA20:40
wikingi mean thread safeness is required for ref counting, if we use threads20:40
blackburnwe tend to not use sgvectors in threads20:40
blackburnbut python can20:41
blackburnhmm20:41
blackburnoooooor20:41
blackburnit can't sorr20:41
wikingblackburn: well you were just talking about openmp ;)20:41
blackburnwiking: there would not be any sgvectors actually20:42
wikingblackburn: not this time :D20:42
wikingi mean how can u assure that at a moment there won't be an implementation that doesn't use the same sgvector from different threads... the only thing you can do of course is to explicitly say that SGVector should not be used from threads.20:42
wikingbut then again this is not another story20:43
wikingi was just really talking about reference counting20:43
blackburnyes it shouldn't be used from threads20:43
gsomixkarlnapf, try to trace.20:47
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has quit [Ping timeout: 276 seconds]20:48
gsomixoh, my android phone said, that it's time to sleep20:50
gsomixI'm trying to set the schedule of sleep20:50
gsomixhehe20:50
gsomixgood night guys20:51
blackburnHE HE20:51
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has joined #shogun21:00
-!- vikram360 [~vikram360@117.216.144.237] has joined #shogun21:00
blackburnn4nd0: ok if you ready I have a plan21:00
blackburncopy labels class21:00
blackburnrename it21:00
blackburnand make multiclass machines use it ;)21:01
blackburnall the other stuff later21:01
n4nd0MulticlassLabels?21:01
n4nd0I mean the name for the new class21:01
blackburnyes21:02
-!- gsomix [~gsomix@178.45.90.39] has quit [Ping timeout: 265 seconds]21:03
n4nd0what future plans do you have in mind for this class later?21:03
blackburnn4nd0: int32_t instead of float64_t here21:03
blackburnand some checks21:04
blackburnlike no negatives21:04
n4nd0no -1 label right?21:05
blackburnsure21:05
@sonney2kblackburn, wait the multiclass label stuff etc is on pluskids todo list21:06
@sonney2kso label though is not21:07
blackburnsonney2k: he didn't start yet I think?21:07
@sonney2knot so clear how so label should look like though21:07
@sonney2kblackburn, but he has a plan21:07
n4nd0I agree, probably it makes more sense that Pluskid does it21:07
blackburnsonney2k: how can we solve get_label problem?21:07
n4nd0blackburn, what do you think?21:07
@sonney2kand we both thought that so labels are totally separate21:07
blackburnn4nd0: agree21:08
@sonney2kso it makes sense to develop sth for that21:08
blackburnsonney2k: no base?21:08
@sonney2kno base (at least for now)21:08
blackburnsonney2k: machine??21:08
@sonney2kn4nd0, maybe wiking knows a couple of matching labels21:08
n4nd0so far I do not see what use can we make of a base for so and binary/multiclass labels21:09
@sonney2kn4nd0, the only thing we came up with is get_num_labels()21:09
n4nd0sonney2k, I am afraid I don't know what do you mean with matching labels :S21:09
@sonney2kn4nd0, examples for SO labels21:09
n4nd0ah all right21:10
@sonney2kn4nd0, I for example know a segmentation :)21:10
n4nd0like parse trees21:10
@sonney2kyes21:10
n4nd0sequence of integers for HM-SVMs21:10
wikingn4nd0: yeah for labels i have something for you and for psi i have a request based on sonney2k implementation on gist21:10
@sonney2kfor segmentation a single label would be y=[1,2,0,3,5,9]21:10
@sonney2kn4nd0, that could be represented as CStringList<int>21:10
n4nd0sonney2k, there is a sequence class in shogund, isn't it?21:11
@sonney2kn4nd0, for that you need some functions like to compare label with ground truth etc21:11
@sonney2kn4nd0, CStringList :)21:11
n4nd0aha ok21:11
@sonney2klike hamming distance etc21:11
blackburnsonney2k: we can make labels void* and redefine get/set labels then21:11
@sonney2kneeded fro slack/ margin rescaling21:11
n4nd0I thought it was something called like sequence21:11
@sonney2kblackburn, bah :(21:12
blackburnsonney2k: how can we keep machine if labels are different?21:12
@sonney2kn4nd0, other examples are trees, graphs, some 2d structures appearing w/ images - but wiking is the expert there21:12
n4nd0sonney2k, yeah21:13
blackburnget/set labels should appear in concrete machines like kernel/linear/multiclass21:13
n4nd0I think that bounding boxes may be also labels21:13
n4nd0wiking, is that right?21:13
blackburnyes21:13
wikingn4nd0: yes21:13
wikingbut afaik that should be left for the user to implement21:14
wikingthat's the cleanest21:14
n4nd0sonney2k, however, do we aim at providing a complete set of classes that may be use as labels?21:14
wikingthe only thing you can do is pre implement some 'standard' ones21:14
n4nd0wiking, exactly, I agree with you21:14
blackburnwiking: will you implement sliding window one?21:14
n4nd0for example, the one we need for HM-SVMs21:14
wikingblackburn: ?21:16
n4nd0wiking, so, what is the request for psi?21:16
blackburnwiking: or how does it work? :D21:16
blackburnwith bounding box?21:16
@sonney2kn4nd0, I think you should start with segmentations for labels21:17
@sonney2kthat is easiest - you can use CStringList21:17
blackburnsonney2k: segmentation of?21:17
@sonney2kand you can real world examples.21:17
@sonney2kblackburn, anything21:18
blackburnsonney2k: anything would be hard to implement ;)21:18
n4nd0sonney2k, hmmm I thought the plan was first to implement the optimization algorithm21:18
n4nd0SO-SVM21:18
n4nd0and later try it out (implement the application-dependent parts) with HM-SVMs21:18
blackburnbut can't we make it template??21:18
n4nd0blackburn, what? SO-SVM for example?21:19
blackburnn4nd0: labels?21:19
n4nd0blackburn, aham21:19
n4nd0my idea was to have an abstract class there21:19
n4nd0e.g. CStructuredLabel21:20
n4nd0that is the one used from the optimization algorithms21:20
blackburnyes exactly21:20
blackburnderived from CLabels<Structure>?21:20
n4nd0mm I don't know about that21:21
blackburnhmmm21:21
n4nd0are we going to make CLabels with templates?21:21
blackburnwiking: can we store pointer to CLabels<?>?21:21
blackburnlike in java21:21
blackburnI guess no..21:21
-!- vikram360 [~vikram360@117.216.144.237] has quit [Ping timeout: 255 seconds]21:22
CIA-113shogun: Chiyuan Zhang master * r876d4b2 / src/shogun/multiclass/ecoc/ECOCRandomSparseEncoder.h : Correct the equations in comment. - http://git.io/Wy6Fdw21:22
CIA-113shogun: Soeren Sonnenburg master * rae429c4 / src/shogun/multiclass/ecoc/ECOCRandomSparseEncoder.h :21:22
CIA-113shogun: Merge pull request #502 from pluskid/ecoc-random-sparse21:22
CIA-113shogun: Correct the equations in comment. - http://git.io/tPESxw21:22
n4nd0blackburn, but what is the problem to make an abstract class and derive the others from it21:22
blackburnn4nd0: no general ancestor..21:23
n4nd0e.g. CStructuredLabel <-- CParseTree21:23
blackburn??? get_labels()21:23
n4nd0but this CStructuredLabel could derive the general ancestor21:23
n4nd0thus all the others21:23
blackburnn4nd0: what could it share with ancestor?21:24
n4nd0mmm I don't think I see your point21:24
@sonney2kn4nd0, no templates for SO labels at least for now21:24
n4nd0have to go now, dinner time21:24
blackburnn4nd0:  what returns get_label?21:24
n4nd0be back later21:24
@sonney2kI think for segmentation uint16 should be sufficient21:25
@sonney2kat least we only ever had a handful of segemnts21:25
@sonney2ksegments21:25
blackburnsonney2k:21:25
blackburnhow can we21:25
blackburnderive anything from clabels21:26
blackburnand change return type of get_labels21:26
blackburnset_labels, etc?21:26
@sonney2kn4nd0, ahh and you will need labels for that21:26
@sonney2kblackburn, not possible21:26
blackburnsonney2k: so what do you suggest?21:26
@sonney2kblackburn, I don't understand21:26
@sonney2kwhat do you mean?21:26
blackburnsonney2k: what is hierarchy of labels classes?21:26
blackburndo they have common ancestor?21:26
@sonney2kno21:30
@sonney2kwell SGObject21:30
blackburnsonney2k: does machine contain no m_labels then?21:30
@sonney2kblackburn, true21:32
blackburnsonney2k: should be a BInaryMachine then21:33
blackburnto group linear machine and kernel machine21:33
blackburnsonney2k: is it really working for image segmentation?21:39
@sonney2ksry got disconnect21:42
@sonney2kwhat is working?21:42
@sonney2kSO?21:42
blackburnsonney2k: yes21:42
@sonney2kyes sure - there are examples to distinguish e.g. back from foreground21:43
blackburnsonney2k: I start to think svm can everythink21:43
blackburng21:43
blackburn*21:43
blackburn:D21:43
blackburnsonney2k: may be even predict traffic jams? :D21:44
@sonney2kcould do jam / non jam segementations too :)21:45
@sonney2kcostly maybe21:45
@sonney2kthink of millions of km of road networks :)21:45
@sonney2kor meters ;)21:45
blackburnsonney2k: hmm what is length of roads in berlin?21:45
@sonney2kdon't know21:46
blackburnsonney2k: btw why do you use train?21:46
blackburnnot a car..21:46
@sonney2kmaybe 1 million km?21:46
blackburn48/57 pages done :D21:47
blackburnsome hard shit in the end21:47
@sonney2kblackburn, I cannot code and drive21:49
blackburnahh21:49
@sonney2kotherwise I would prefer bike21:49
blackburnsonney2k: what bike do you have?21:50
wikingsonney2k: can i have a question about store_model_features and data_lock story?21:50
@sonney2kwiking, ask21:50
wikingsonney2k: since neither of it is implemented in multi class machines, except in inn, so we currently crossval won't work on those machines21:51
@sonney2kas long as you don't want to convince me that std != evil21:51
blackburnsonney2k: it is not21:51
@sonney2kwiking, yeah true21:51
wikingsonney2k: hahah i have long ago gave up to convince you about that, but i still will tell my opinion ;)21:51
@sonney2kwiking, karlnapf introduced these to get crossval to work on kernel machines21:52
blackburnanything we do in means of datastructure is a lame std you can't decline it :)21:52
@sonney2kwiking, we badly needed those to store feature vectors together with alphas21:52
@sonney2kwiking, before that we only ever used indices into training data21:52
@sonney2kand kept the whole data set around21:52
@sonney2kwiking, you are not alone21:53
@sonney2kwiking, maybe it takes another decade before I break in :D21:53
wikingsonney2k: yeah and as far as i understood implementing store_model_features should be done on the level of shogun/machine/KernelMulticlassMachine.h21:54
wikingno21:54
wikingi meant21:54
wikingyeah i was right21:54
wikingso if i implement store_model_features on that level, then all the multi class kernel machines, i.e. multi class svms would be covered21:54
@sonney2kwiking, yes21:55
wikingand then we would actually need to implement for MulticlassLibLinear and MulticlassOCAS21:56
blackburnwhat for?21:56
wikingsince they are inherited from directly multiclassmachine21:56
wikingCLinearMulticlassMachine that is...21:56
blackburnwiking: why you need to reimplement it there?21:57
wikingblackburn: which one do you mean now? :)21:57
blackburnwiking: OCAS and LibLinear21:57
wikingblackburn: well i'm not sure that we could implement store_model_features on CLinearMulticlassMachine level or MulticlassMachine for that matter..21:58
blackburnwhy not?21:59
wikingblackburn: but if we can of course i'm not against it, i just want to implement either store_model_features or data_lock mechanism for multi class machines since we - and i personally really - in need for xval support21:59
blackburnwhat does it do? :D21:59
wikingblackburn: quote from Machine.h for store_model_features:22:00
wiking                /** Stores feature data of underlying model.22:00
wiking                 * After this method has been called, it is possible to change22:00
wiking                 * the machine's feature data and call apply(), which is then performed22:00
wiking                 * on the training feature data that is part of the machine's model.22:00
wiking                 *22:00
wiking                 * Base method, has to be implemented in order to allow cross-validation22:00
wiking                 * and model selection.22:00
wikingfor data_lock:22:00
wiking** Locks the machine on given labels and data. After this call, only22:00
wiking                 * train_locked and apply_locked may be called22:00
wikingand since neither train_locked nor apply_locked is implemented in any of the multi class machine22:00
wikingit thought the easier would be to go with store_model_features implementation22:01
@sonney2kwiking, you don't need store model features in linear MC svm22:01
blackburnehm so all you need in linear mc machine22:01
@sonney2kbecause you have w22:01
@sonney2kand b22:01
blackburnhah22:01
blackburnreally22:01
@sonney2kyou only need that for kernel / distance machines22:01
wikingsonney2k: ok so in that case it's an empty implementation22:02
blackburnyes22:02
@sonney2kwhere you have to keep a copy of the data (data is part of the model)22:02
wikingsonney2k: then that is an easy fix :)22:02
@sonney2klike in KNN22:02
@sonney2kyou need to keep all training data22:02
blackburnkernelmachine is not working at all22:02
wikingsonney2k: ok then i'll do the one for linear MC22:02
blackburnso no problem here :D:D:22:02
wikingblackburn: ????22:02
blackburnwiking: subset stuff is still unimplemented22:02
blackburnno way for xval here22:02
@sonney2kblackburn, I thought it is now?22:03
blackburn135 ????????virtual void add_machine_subset(SGVector<index_t> subset)22:04
blackburn136 ????????{22:04
blackburn137 ????????????SG_NOTIMPLEMENTED;22:04
blackburn138 ????????}22:04
@sonney2kblackburn, do you know if it is sufficient to implement the = operator in a base class22:04
@sonney2kwill it then be called in derived classes?22:04
wikingsonney2k: http://pastebin.com/mvDSMgiN22:04
blackburnsonney2k: I don't think so..22:04
wikingwould u accept?22:04
wikingif so i'll commit and send you the pull request22:05
@sonney2kwiking, have a look at LinearMachine22:06
wikingsonney2k: yeah it's the same there :)22:06
wikingah ok22:06
@sonney2kthen copy the comment too!22:06
wikingi'll copy the doxygen comment22:06
wikingheheh i was slower22:07
wikingyeah i'm doin git22:07
blackburnsonney2k: 12.4 http://www.parashift.com/c++-faq-lite/assignment-operators.html22:07
blackburndoin' git22:07
wiking;)22:07
wikingdone https://github.com/shogun-toolbox/shogun/pull/50522:09
CIA-113shogun: Viktor Gal master * rd301049 / src/shogun/machine/LinearMulticlassMachine.h :22:11
CIA-113shogun: Add vanilla store_model_features for LinearMulticlassMachine22:11
CIA-113shogun: So one can actually do a cross-validation with multiclass linear22:11
CIA-113shogun: machines - http://git.io/Q2YSIg22:11
CIA-113shogun: Soeren Sonnenburg master * r4f67612 / src/shogun/machine/LinearMulticlassMachine.h :22:11
CIA-113shogun: Merge pull request #505 from vigsterkr/master22:11
CIA-113shogun: Add vanilla store_model_features for LinearMulticlassMachine - http://git.io/d8xqKg22:11
@sonney2kblackburn, yay!22:12
@sonney2kHowever if you do not create your own assignment operator, the one that the compiler creates for you will automatically call your base class's assignment operator.22:12
@sonney2kblackburn, ^ so it is sufficient22:12
blackburnhmm22:12
blackburnnice22:12
@sonney2kthat simplifies SGVector drastically22:13
@sonney2kthe only thing we need is unref() in destructor22:14
@sonney2kall the rest is encapsulated in SGReferencedData22:14
@sonney2khmmhh22:18
@sonney2kgithub down?22:18
wikingworksforme22:20
@sonney2khmmhh22:20
@sonney2knot here22:20
@sonney2kblackburn, btw nice ptr to the faq22:21
@sonney2kwe have another subtle bug22:21
@sonney2kself assignment22:21
blackburnyes22:21
@sonney2kI am not 100% sure22:27
@sonney2kwhether22:27
@sonney2k            if (this == &orig)22:27
@sonney2k                return *this;22:27
@sonney2kis the solution to our potential problem22:27
@sonney2kI mean if one has22:28
@sonney2kSGVector x;22:28
@sonney2kand does x=x;22:28
@sonney2kit should be ok22:28
blackburnshould not it be pointers?22:28
@sonney2kno22:28
wikingmmm is there a reason why we don't store support vectors at least on the level of MulticlassSVM?22:30
@sonney2kwiking, not per default you mean?22:30
@sonney2kconsider a data set of size 32GB22:30
@sonney2kwith *lots* of SVs22:31
wikingmm22:31
wikingtrue22:31
@sonney2kthen copying data is EOUTOFMEMORY22:31
wikingi'm just thinking about store_model_features22:31
@sonney2kdammed github is not working...22:31
wikingsonney2k: http://status.github.com/22:32
@sonney2kthe website is but not git pull22:32
wikingit says all system is operational22:32
@sonney2kgit push github22:32
@sonney2kConnection closed by 207.97.227.23922:32
@sonney2kfatal: The remote end hung up unexpectedly22:32
CIA-113shogun: Soeren Sonnenburg master * r25d336a / (4 files in 2 dirs):22:37
CIA-113shogun: derive SGVector from SGReferencedData to avoid code duplication22:37
CIA-113shogun: - later SGMatrix/SGStringList/SGNDArray/SGSparseMatrix will all use22:37
CIA-113shogun: this - http://git.io/8QQZuQ22:37
CIA-113shogun: Soeren Sonnenburg master * r51c39a6 / src/shogun/lib/SGReferencedData.h : retun *this on self assignment - http://git.io/TUc88g22:37
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has quit [Quit: Ex-Chat]22:37
wikingsonney2k: any hints for store_model_features for a multi class kernel machine?22:43
-!- PhilTillet [~philippe@vir78-1-82-232-38-145.fbx.proxad.net] has joined #shogun22:54
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has joined #shogun23:01
-!- n4nd0 [~n4nd0@190.Red-2-137-59.dynamicIP.rima-tde.net] has quit [Client Quit]23:03
CIA-113shogun: Heiko Strathmann master * r8830799 / src/shogun/machine/Machine.cpp : added debug messages - http://git.io/laJX5w23:06
CIA-113shogun: Heiko Strathmann master * r52e449e / (3 files in 3 dirs):23:06
CIA-113shogun: Merge pull request #506 from karlnapf/master23:06
CIA-113shogun: fixes a memory error in one example - http://git.io/DRD16g23:06
CIA-113shogun: Heiko Strathmann master * r17d92f5 / src/shogun/evaluation/CrossValidation.cpp : code whitespace - http://git.io/6GxBrw23:06
CIA-113shogun: Heiko Strathmann master * r423cc95 / examples/undocumented/libshogun/base_map_parameters.cpp : fix a memory error - http://git.io/HfU4gg23:06
wikingmmm evaluation/CrossValidationSplitting.cpp:13:10: fatal error: 'shogun/lib/Set.h' file not found23:09
wikingi guess they just left out when set.h was removed23:11
wikinghttps://github.com/shogun-toolbox/shogun/pull/50723:15
wikingfor fixing23:15
wikingsonney2k: do you want such an example in lib shogun: evaluation_cross_validation_multiclass.cpp23:18
wiking?23:18
blackburnwiking: feel free to add :)23:18
wikingok23:18
wikingcurrently it works with MCLiblinear23:18
wikingbut i'll valgrind it first23:19
wikingheiko please come here!23:19
wikingdefinitely lost: 11,752 bytes in 56 blocks23:20
wikingdoh23:20
CIA-113shogun: Viktor Gal master * r80b01ce / (2 files): Remove unused shogun/lib/Set.h includes - http://git.io/o7IJZg23:20
@sonney2kargh23:21
@sonney2ksgvector patch will be massive again23:22
@sonney2kerr sgmatrix23:22
shogun-buildbotbuild #869 of libshogun is complete: Success [build successful]  Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/86923:25
wikingblackburn: here?23:52
blackburnyes23:52
wikingok so23:52
wikingCLabels* CMulticlassMachine::apply() line 8923:52
wikingthat's true far all machines?23:53
wikingi.e. that the returned clables is going to be SG_REF-ed23:53
wiking?23:53
wikingor at least we can assume this?23:53
blackburnwiking: yes makes sense23:54
wikingas currently we have a leak23:54
blackburnwiking: ref is 0 on new23:54
blackburnleak? why?23:54
wikingand that's because if u check23:54
wikingCrossValidation.cpp:29423:54
wikingand line 29623:54
wikingthe returned CLabels* result_labels=m_machine->apply(m_features);23:54
wikingwill be SG_REF-ed again23:54
blackburnoh23:55
wikingso when on line 30223:55
wikingwe call SG_UNREF23:55
wikingthat won't delete that23:55
wikingso it will leak23:55
wikingi'm just asking so that i can remove this extra ref23:55
wikingin crossval23:55
blackburnwiking: no you can remove it in multiclass23:55
blackburnthere is no ref in kernelmachine23:55
blackburnso it works w/o23:55
wikingyeah this is the thing23:56
wikingi was just wondering where we should remove the extra ref23:56
wikingok23:56
wikingi'll then remove form apply ()23:56
wikingok doing a check with valgrind to be sure23:58
--- Log closed Tue May 08 00:00:37 2012

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