Open in new window / Try shogun cloud
--- Log opened Sun Dec 29 00:00:27 2013
-!- shogun-notifier- [] has quit [Quit: transmission timeout]00:02
lisitsynHeikoS: hey there00:05
@HeikoSlisitsyn:  hi!00:05
lisitsynHeikoS: how are you? having holidays?00:06
-!- shogun-notifier- [] has joined #shogun00:06
shogun-notifier-shogun: Saurabh7 :develop * cdc5a1b / examples/undocumented/libshogun/evaluation_cross_validation_knn.cpp:
shogun-notifier-shogun: knn example00:06
shogun-notifier-shogun: Heiko Strathmann :develop * 7d2ad10 / examples/undocumented/libshogun/evaluation_cross_validation_knn.cpp:
shogun-notifier-shogun: Merge pull request #1797 from Saurabh7/xvalexamples00:06
shogun-notifier-shogun: knn example00:06
@HeikoSlisitsyn: yeah more or less00:06
@HeikoSlisitsyn: not really, exams soon00:06
@HeikoSbut taking it relaxed00:06
@HeikoSworking less than I should, getting stressed more than I should ;)00:06
@HeikoSlisitsyn: how about yourself?00:07
@sonney2kHeikoS, have you seen we have Chiyuan's notebooks now00:08
@HeikoSsonney2k: hi! yes I saw that00:08
@HeikoSsonney2k: I also pushed one half-finished on X-validation00:08
@HeikoSsonney2k: pretty nice the multiclass ones00:10
@HeikoSsonney2k: just reading besser82 's proposal00:10
lisitsynHeikoS: finishing stuff :)00:10
@sonney2kHeikoS, I wanted to do some evaluation notebook soon00:11
@sonney2klike ROC/ PRC and all the measures00:11
@HeikoSsonney2k: yeah nice00:11
@HeikoSsonney2k: there is some of this in the x-validation notebook00:11
@sonney2kyeah just seen00:11
@sonney2kbut not really overlapping00:11
@HeikoSI agree00:11
@HeikoSits good to have another one00:11
@sonney2kHeikoS, we should maybe email all ex-gsoc / contributors asking if they can do a notebook for their work00:12
@sonney2klike lisitsyn :P00:12
@HeikoSsonney2k: haha ;)00:12
@HeikoSyeah lisitsyn should totally do one00:12
@sonney2kotherwise work is pretty lost00:12
lisitsynyeah I will00:12
@sonney2kjust too deep hidden inside shogun00:13
@HeikoSsonney2k: I know, but we have already quite a few00:13
lisitsynwe just have to believe and I'll do that00:13
@HeikoSsonney2k: could also work on making things easier accessible ;)00:13
@sonney2kHeikoS, ?00:13
@HeikoSsonney2k: like a feature/example list that shows very clearly what is where ... but that is not really concrete thoughts00:14
@HeikoSsonney2k: did you end up pushing the release more?00:14
@sonney2kseems like besser82 won't finish his cmake stuff so I guess we can release 3.100:14
@sonney2kwell it is in OK state00:14
@sonney2kwe could release any time that means00:14
@sonney2kwell news needs an update and we have to think were we announce it00:15
@sonney2kbut good enough for sure00:15
@sonney2kHeikoS, what I have in mind with notebooks is that we at some point put in the table of contents that you had in the original tutorial00:15
@sonney2kso it will kind of become a book00:16
@sonney2kno idea if you have seen stuff like machine learning for hackers etc00:16
@sonney2kI am just sure we can do better by doing it this way00:16
@HeikoSsonney2k: I agree!00:16
@HeikoSsonney2k: cool about the release00:17
@sonney2kHeikoS, about the plugin stuff00:17
@sonney2kit is still not thought through00:17
@HeikoSsonney2k: yeah notebooks can be presented in a better way, more centralised somehow, but for now the current way is also fine. I think this will become obsolete thouigh when the number is growing00:17
@HeikoSsonney2k: yeah, just sent a mail, this needs ultra careful planning00:18
@sonney2kbut yes it would be nice if it would work00:18
@HeikoSand breath00:18
@sonney2kyeah just read it00:18
@HeikoSand maybe a gsoc student00:18
@sonney2kgsoc student won't be enough for that00:18
@HeikoSsonney2k: do you think thats too boring?00:18
@HeikoSsonney2k: more as a helping hand00:18
@sonney2kno no00:19
@HeikoS(embedded into a project)00:19
@sonney2kit could just be some proof of concept00:19
@HeikoSsonney2k: btw I got my new Thinkpad t440s00:19
@HeikoSthats quite nice00:19
@HeikoSsonney2k: what are you thoughts in the licensing btw?00:20
@sonney2kHeikoS, very difficult00:20
@sonney2kone thing is pretty clear to me00:20
@sonney2kif we change (are allowed to / manage)00:21
@sonney2kwe should change to BSD / MIT00:21
@HeikoSsonney2k: question is if it is worth it00:21
@HeikoSsonney2k: yeah I agree00:21
@sonney2kLGPL is no different to GPL for companies00:21
@sonney2kbut I don't know if it is worth it00:21
@HeikoSI think so00:21
@sonney2kand even possible00:21
@sonney2kI mean there is a reason I never wrote (C) Soeren Sonnenburg00:21
@HeikoSsonney2k: I think this would be a longer term project00:21
@sonney2kall my work was owned by Fraunhofer00:22
@HeikoSsonney2k: I think we should have  alist of such things that might cause problems with that00:22
@HeikoSand then maybe write all authors we can identify, and then see00:23
@HeikoSfirst get some better feeling for feasibility and then decide00:23
@sonney2kand the only reason so far to attempt that would be if libshogun would become kind of the c/c++ backend of scikits-learn00:23
@sonney2kor so00:23
@HeikoSsonney2k: maybe00:23
@HeikoSsonney2k: I am thinking more of talking to companies to get them interested in the project00:23
@HeikoSand to avoid this "no gpl" barrier that many people have (which is wring I think, but thats how it is)00:24
@HeikoSsonney2k: man you should have been at the mloss workshop, quite strong feelings against GPL by many people00:24
@sonney2kyeah companies... I personally don't really want M$ / apple to just use shogun00:25
@sonney2kI mean embedded00:25
@sonney2kthey can train their stuff sure00:25
@sonney2kbut not inside the M$ 'some big-data product name'00:25
@sonney2kHeikoS, no idea if an evaluation BSD module or so would help companies00:26
@sonney2kthis IMHO would be something we could do00:26
@HeikoSsonney2k: I think any usage would be good for us00:27
@HeikoSsonney2k: but yeah evaluation module is also an idea00:27
lisitsynI find it very optimistic to expect big companies use shogun ;)00:28
@sonney2kHeikoS, well GPL doesn't restrict any usage except for embedding in a product to be sold right?00:28
@HeikoSsonney2k: if shogun would be used in such a context, it might benefit us since getting feedback, or even some kind of support. If not thats also fine, since currently we dont get this.00:28
@sonney2klisitsyn, haha00:28
@HeikoSsonney2k: I know, but you know that people sometimes think different00:28
@sonney2klisitsyn, you are living under a rock then00:28
@HeikoSand try to avoid any GPL stuff00:28
lisitsynsonney2k: I just never had any proofs ;)00:29
@sonney2klisitsyn, there is a reason why gets more hits mon-fri's00:29
@sonney2kHeikoS, yes true some companies do that00:30
lisitsynis that the fact supporting your hypothesis?00:30
@sonney2klisitsyn, no - but people telling me / companies asking00:30
lisitsynthat sounds better00:30
@HeikoSsonney2k: my point is more to make usage as easy as possible, to allow for more interaction with whomever00:31
@sonney2kbut I certainly for any basic stuff people use sckits-learn00:31
@sonney2kHeikoS, yes sure I get that00:32
lisitsynrecently I had to show some basic classification00:32
lisitsynit took 4 lines in scikits00:32
lisitsynwith hashing vectorizer and svm00:32
lisitsynif we are not down to just a few lines for such tasks we lose00:32
@sonney2kno idea what hashing vectorizer is00:33
@sonney2kbut shogun syntax is as compact00:33
@HeikoSlisitsyn, sonney2k what do you think about joining forces with scikit a bit? I talked to a few of them and there was the idea to have a joint code sprint for example00:33
@HeikoSlisitsyn: yeah we should not be afraid of them00:33
@sonney2kHeikoS, that would only work if licenses were compatible00:33
lisitsynHeikoS: I don't know how can we join together00:33
@HeikoSsonney2k: yep00:33
@HeikoSlisitsyn: maybe not code but talking00:33
@sonney2kHeikoS, that is why I said above the only incentive I see is being their backend00:33
lisitsynI see00:34
@HeikoSyou know, how do you solve XYZ ?00:34
lisitsynthey don't need backend I think00:34
@HeikoSsonney2k: I dont believe that this will happen, but might be an idea00:34
@HeikoSsonney2k: like have a shogun wrapper in scikit00:34
lisitsynI think scikits should be the backend of shogun00:34
@HeikoSor so ...00:34
lisitsynI will continue pushing the idea of some kind of integration platform00:34
@sonney2kHeikoS, yeah but just relicensing for some potential companies that want to sell big data analysis toolkits as closed source software?00:34
@sonney2knot really worth the effort IMHO00:35
@HeikoSsonney2k: happened to ipython and now they got a massive dontation from MS00:35
lisitsynour pov differs here00:35
@HeikoSplus lots of code given back00:35
lisitsynI guess me and HeikoS on the same side with 'more usage is better'00:35
@HeikoSexactly, I dont like that happening without getting anything back too00:36
@HeikoSbut I think that there always comes something back00:36
@HeikoSalso would be cool for us to know that people use it00:36
lisitsynyou don't get back if you require it00:36
@HeikoSmore users attract more users00:36
@sonney2kI don't like writing code that M$ or other companies can just 'steal'00:36
lisitsynit makes more sense to have a few badges 'used by X'00:36
lisitsynthan to have nothing and be proud of freedom ;)00:37
@sonney2kdepends on what you want to do right?00:37
@HeikoSsonney2k: totally, thats why we are discussing this right?00:37
@sonney2kI wrote the algorithms I and later others needed00:38
@HeikoSbut its certainly not top priority00:38
lisitsynwell I speak for my code but I'd be happy if anyone used it00:38
@HeikoSI would rather do this slowly in the background step by step00:38
lisitsynI see no difference between getting no money because of no usage and getting no money because of 'stealing'00:39
@sonney2klisitsyn, what would we do with money and shogun?00:39
@HeikoSits not really about money, more about feedback00:39
lisitsynsonney2k: nothing I just don't know what is expected outcome of using software in companies00:39
lisitsynif you restrict them so much they avoid using it you get no feedback00:40
lisitsynliblinear is in any iphone00:40
lisitsynI see that kind of success00:40
@sonney2klisitsyn, well any sane person would use shogun if you not on a anti GPL trip00:40
@sonney2klisitsyn, and if $COMPANY uses this for whatever *I* would want it to use it under the GPL terms00:43
lisitsynsonney2k: yeah I get you want to keep gpl here :)00:44
@sonney2klisitsyn, I don't see any benefit of converting to BSD so far00:46
@sonney2klisitsyn, liblinear is just a tiny algorithm00:46
lisitsynsonney2k: I can't say I am a big fan of converting stuff too00:47
lisitsynit sounds like useless spending of time though I believe it should have been done under bsd00:48
@sonney2kthe way I see it - shogun is a big framework for doing experiments00:48
@sonney2konce you know which algorithm you use00:48
@HeikoSsonney2k, lisitsyn this is all not really about the license consequences, but more about how other people see the license.00:49
@sonney2kyou can as well find some bsd / whatever license you need algorithm or write that little bit00:49
@sonney2kand use it in your commercial product that you want to ship00:50
@sonney2kbut most people don't ship stuff00:50
@sonney2kthey create some prototype00:50
@sonney2kand that is what shogun is made for00:50
@sonney2kit is totally different from the liblinear is in iphone thing00:50
@sonney2kHeikoS, yeah - but heck people compile with gcc for decades and did never complain that it produces executables that are even commerically shipped00:51
@sonney2kI see us to be the very same thing00:52
@sonney2kthe end result is some model00:52
@sonney2kthat applying is usually ultra trivial00:52
@sonney2kand the model itself is *not* GPL - not at all00:52
@sonney2kit is whatever you want it to be00:52
lisitsynwell actually the problem is not in license but market share00:55
-!- travis-ci [] has joined #shogun00:55
travis-ci[travis-ci] it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []00:55
lisitsynif you google for machine learning you get scikits00:55
lisitsynI am quite demotivated to work on anything that is not trying to be the best00:55
lisitsynHeikoS had a conversation with basically our customers00:56
lisitsynand they want bsd so that's why it started :)00:56
@HeikoSlisitsyn: not really customers00:56
@HeikoSits more fellows00:57
@HeikoSthat shared their experiences00:57
lisitsynHeikoS: well anyway people who could used it00:57
@HeikoSlisitsyn: Its more the mood in the discussion that made me clear that GPL is a barrier, which I wasnt aware of before00:57
lisitsynHeikoS: yeah it is quite trendy to avoid gpl nowadays00:58
lisitsynI feel it started like a few years back00:58
@HeikoSlisitsyn: I actually agree with it, but not strongly and emotionally ;)00:59
@sonney2klisitsyn, scikits has high market share for other reasons - they cover the basic algorithms and make things easily accessible01:00
@sonney2klisitsyn, totally the opposite of what shogun was back then - state-of-the-art expert-only algorithms01:01
@HeikoSI would like to see shogun more towards the basic stuff btw01:03
lisitsynwe have no resources but heiko to write advanced stuff01:04
lisitsynI am not and not going to be a researcher I think01:04
@HeikoSlisitsyn: then you should do the basic framework stuff01:04
@HeikoSwe need that desperately01:05
@HeikoSI can/will add more fundamental things01:05
@HeikoSthat attract users01:05
@HeikoSloads of ideas, just not enough time01:05
lisitsynwell simply it is01:05
@sonney2kHeikoS, I also want basics you know that :)01:05
@HeikoSsonney2k: I know, we talked about that :)01:05
lisitsynany algorithm should look like 50-100 lines of code01:05
@sonney2kHeikoS, at some point please scan in the notes you took01:05
@HeikoSsonney2k: will do01:05
lisitsynif it is not we've got wrong api01:06
@HeikoSlisitsyn: the interface is quite nice, (with exceptions)01:06
@HeikoSand we added all these tests which was a great step forward01:06
@HeikoSI guess next thing should be presentation01:06
@HeikoSand then clean ups of core01:06
lisitsynyeah may be01:07
@HeikoSwhile adding more basic algorithms (we definitely do not need more fancy complicated ones for now=)01:07
@HeikoSlisitsyn: I would love to decouple the parameter framework for example like your stichwort stuff01:07
@HeikoSthat would be cool01:07
lisitsynHeikoS: I am disappointed about its usage01:07
lisitsynI tried it and I don't feel comfortable01:08
lisitsynsomething should be changed01:08
@HeikoSmaybe host a GSoC project on that01:08
@HeikoSwiuth the goal to replace the current system01:08
@HeikoSwould be interesting proper c++ coding stuff01:08
lisitsynif I can't come with some advanced C++ stuff student could have more troubles ;)01:08
shogun-buildbotbuild #152 of clang34 - undefined behaviour analysis is complete: Failure [failed test]  Build details are at  blamelist: Saurabh7 <>01:09
@HeikoSlisitsyn: but if you design a thing and somebody does it for you?01:09
lisitsynonce it is designed it is piece of cake01:09
@sonney2kwhat is not?01:09
@sonney2kbut still it needs manpower to implement01:09
lisitsynHeikoS: I am still trying to find a balance between compile time stuff and runtime stuff01:09
@HeikoSlisitsyn: design is also ongoing, you write down stuff, student implements, realises there are flaws, you update design01:10
lisitsynwell why not01:10
@HeikoSlisitsyn: I did that with lambday this way and it worked great (for parallel framework and log-det stuff)01:10
lisitsynI just mean if we set up task 'design that'01:10
@sonney2kHeikoS, btw we need to be rather quick if we want to be in next years gsoc01:10
lisitsynhe could get mad :D01:10
@sonney2kwe need that list of ideas and find mentors01:10
lisitsynokay guys see you later01:11
@sonney2kHeikoS, I know we have the ideas :)01:11
@HeikoSsonney2k: I know, I started writing some things down already (personal drafts) and talked to a few possible additional mentors01:11
@sonney2kbut mentors?01:11
@HeikoSsome people in my institute might want to mentor things01:11
@HeikoShave one for neural networks, one for probabilistic learning, and maybe more01:12
@sonney2kHeikoS, it is important to come up with a list of ideas (written down even drafty) rather soon01:12
@HeikoSsonney2k: but I currently really have a hard time with my time ...01:12
@sonney2krecall that we got all the good students long before gsoc was announced01:12
@HeikoSsonney2k: how is it going with you?01:12
@sonney2kbad bad01:12
@HeikoSyeah I will try to do something in some evenings01:13
@sonney2kI can only do the release now before vacations are over01:13
@HeikoSsonney2k: go for it, might help01:13
@sonney2kHeikoS, it might be sufficient to write an email to the mailinglist01:13
@HeikoSIll try to copy our ideas list and extend it01:13
@sonney2klike we want to participate in gsoc'1401:13
@HeikoSif I manage to do this before end of the year, I will send this attached with the mail.01:14
@HeikoSif not, mail alone01:14
@HeikoSlisitsyn: take care!01:14
@sonney2klisitsyn, sweet dreams :D01:14
@sonney2kHeikoS, well pinging potential mentors is really important...01:15
@sonney2kand that takes a *long* time01:16
@HeikoSsonney2k: yeah, good that you remind me01:16
@HeikoSwill share a document with names ideas note etc01:16
@sonney2kHeikoS, just FYI for last year mentors were already clear in November01:16
@sonney2kbut we did add 1-2 IIRC later01:17
@HeikoSsonney2k: well, yeah I cannot do magic. Will try to find as many as possible. It is also fine if we dont get 8 slots again01:17
@HeikoSif we dont have the manpower to organise that, its no help anyways01:17
@sonney2kyeah sure - I think I can get some too01:18
@sonney2kyou recall I want shogun & teaching01:18
@sonney2kand I already talked to some people about this01:18
@HeikoSI love the idea!01:21
shogun-buildbotbuild #149 of clang34 - thread analysis is complete: Failure [failed test]  Build details are at  blamelist: Saurabh7 <>01:25
shogun-buildbotbuild #166 of clang34 - static analysis is complete: Failure [failed analyse]  Build details are at  blamelist: Heiko Strathmann <>, Saurabh7 <>02:11
shogun-buildbotbuild #153 of clang34 - undefined behaviour analysis is complete: Failure [failed test]  Build details are at  blamelist: Heiko Strathmann <>02:22
-!- HeikoS [~heiko@] has left #shogun []02:38
shogun-buildbotbuild #150 of clang34 - thread analysis is complete: Failure [failed test]  Build details are at  blamelist: Heiko Strathmann <>02:38
-!- shogun-notifier- [] has quit [Quit: transmission timeout]03:06
shogun-buildbotbuild #664 of nightly_default is complete: Failure [failed notebooks]  Build details are at
-!- Saurabh7 [~Saurabh7@] has joined #shogun06:32
-!- Saurabh7 [~Saurabh7@] has quit [Ping timeout: 245 seconds]07:06
besser82sonney2k, ping?10:37
besser82sonney2k, they are looking for contribs for making presentations for stuff about "Why Linux?"10:40
besser82sonney2k, one sub-field of that is "Linux und Bildung"10:41
besser82sonney2k, like "Open-Source-Software in Schulen und Universit?ten zur Forschung"10:41
besser82sonney2k, how about doing a bit of lobby-work for SHOGUN?!10:42
besser82lisitsyn, Mornin'  :D10:54
lisitsynbesser82: MORGEN10:58
besser82lisitsyn, :D10:58
besser82lisitsyn, so how about plugins?10:59
lisitsynbesser82: what plugins?10:59
besser82lisitsyn, do we want to setup a draft for those plans?11:00
lisitsynbesser82: yeah probably11:00
@wikingbesser82: btw another question: would we still do dpointering11:00
besser82wiking, I think, when using plugins, they would be obsolete mostly11:01
@wikingi mean in one sense it gets in a way deprecated by modularizing the whole thing... but then again having a stable ABI would be great that could be achieved by using dptrs11:01
besser82wiking, ABI / API would be stable, because the interface-lib wouldn't change that much11:02
besser82wiking, except for possibly adding some new class / datastructure / object11:02
besser82wiking, but that wouldn't break API / ABI11:03
besser82wiking, but might make sense to wrap the plugin-manager-stuff into d-ptrs11:04
@wikingbesser82: imho we should not have so fine grained modular arch that u suggested the other day11:05
@wikingor at least not on repository level11:05
@wikingbesser82: maybe one repo per subdir of src/shogun/11:07
besser82wiking, otoh, with fine grain we can be more flexible11:08
besser82wiking, but has overhead11:08
@wikingbesser82: yeah but that much repository11:08
@wikingis just way too much11:08
besser82wiking, make this per subdir might be a bit complicated...11:08
@wikingand waste of repo11:08
@wikingbesser82: it's like 1 file per repository11:08
@wikingthat's what you are suggesting11:08
@wikingok say 3 files: .h, .cpp and CMakeLists.txt11:09
besser82wiking, not really; I suggested sth. like logical grouping11:09
besser82wiking, you came up with "one plugin each feature" ;)11:09
@wikingbesser82: well 1 subdir per repo is a logical grouping11:10
@wikingwith a very few exception11:10
@wiking"besser82: wiking: but if we are moving to plugin-style, I'd strongly recommend keeping every plugin inside a seperate git-repo"11:11
@wikingfrom yesterday...11:11
@wikingand 1 kernel implementation should be 1 plugin11:12
@wikingthat's why i infered -> 3 files per repo...11:12
besser82wiking, maybe we should do some logical grouping of repos11:13
@wikingsee my above suggestion11:13
@wikingthat is a logical grouping11:14
besser82wiking, lisitsyn probably wants to do some rubygem-style manager for those plugins11:27
besser82wiking, so that might be easier with more grained repos?!?11:27
besser82wiking, but in fact I'm open to anything11:28
besser82wiking, in the end sonney2k must approve all the crazy-shit, we want to do ;)11:29
besser82lisitsyn, do want to mock a spec about how to handle those plugins?11:30
lisitsynbesser82: yes later11:30
lisitsynin the beginning of january11:30
besser82lisitsyn, you can ask ded moroz to bring one for you; so you just need to c&&p  :-P11:32
besser82wiking, so maybe you should discuss that repo-layout && stuff with lisitsyn11:34
besser82wiking, I would take mostly care about the code-pov, then11:35
@wikingyeah i think things will roll out as they usually do...11:39
@wikingeither something will happened or else11:39
@wikingplanning out who's going to do what is senseless in this stage11:40
@wikingespecially taking into consideration of all the other timeconstraints that eveyrbody has...11:40
@wikingmy 2 cents11:40
besser82wiking, maybe, maybe not11:40
@wikingbesser82: trustme it for sure like this11:40
@wikingif u feel like doing it do it. put it out to a branch/fork whatever and some people will join if they can/feel like11:41
@wikingi dont want to sound pessimitic or discouriging but this is how things have been in shogun ever since i'm around...11:41
@wikingand that aint going to change as everybody is doing this parttime11:42
besser82wiking, lisitsyn came up the idea of making some specs first ;)11:43
@wikingbesser82: yes and that'll be done as well very sporadic11:44
@wikingas it was in the past11:44
besser82wiking, from me pov I can just start, and we can do mods and building tools around that later  ;)11:44
@wikingthere's going to be one googledoc/wiki page and people will start edit etc11:44
@wikingbesser82: is there anything that holds you back?11:44
@wikingbesser82: i mean if u can do it do it11:44
@wikingeveyrbody is going to be happy about that11:44
besser82wiking, not having a spec && approval from sonney2k ?11:45
@wikingthis is an open source project11:45
@wikingu can do whatever you want with it11:45
@wikingforkit and abuse it11:45
@wikingif u want to do it alone that's fine as well if u want feedback make it out in the open, i.e. from the very beginning start writing the code in an open repo so ppl can comment11:46
@wikingthat's all11:46
@wikingu dont need anybody's approval to do it11:46
besser82wiking, allright then  ;)  Lets-a-start ;)11:47
@wiking"2) offer you this License11:48
@wikinggiving you legal permission to copy, distribute and/or modify it."11:48
@wikingfrom gpl license11:48
@wikingso that's all11:48
besser82wiking, lemme setup a fork and throw in my ideas to the wiki-page  ;)11:48
@wikingbesser82: go ahead11:48
-!- new_lido [~walid@] has joined #shogun15:05
-!- iglesiasg [] has joined #shogun15:26
-!- mode/#shogun [+o iglesiasg] by ChanServ15:26
@iglesiasgsup guys15:26
besser82iglesiasg, Hey! Hello!15:34
besser82iglesiasg, Read my proposal on da list?15:35
@iglesiasgbesser82, yes! However, I did not read the linked post yet15:38
@iglesiasgso I have to read it first to understand better what changes would this approach involve15:39
besser82iglesiasg, kk15:45
besser82iglesiasg, Much work, real improvements  ;)15:45
-!- new_lido [~walid@] has quit [Read error: Connection reset by peer]15:48
-!- new_lido [~walid@] has joined #shogun15:48
-!- new_lido [~walid@] has quit [Quit: Leaving]17:33
-!- iglesiasg [] has quit [Ping timeout: 272 seconds]18:26
-!- iglesiasg [] has joined #shogun18:30
-!- mode/#shogun [+o iglesiasg] by ChanServ18:30
-!- shogun-notifier- [] has joined #shogun18:35
shogun-notifier-shogun: Saurabh7 :develop * b40ff33 / tests/unit/evaluation/ (2 files):
shogun-notifier-shogun: update splittingstrategy tests18:35
shogun-notifier-shogun: Saurabh7 :develop * 7a4e760 / tests/unit/evaluation/
shogun-notifier-shogun: update splittingstrategy tests18:35
shogun-notifier-shogun: Heiko Strathmann :develop * cfcef10 / tests/unit/evaluation/ (2 files):
shogun-notifier-shogun: Merge pull request #1802 from Saurabh7/xvaltests18:35
shogun-notifier-shogun: update Xvaltests18:35
-!- HeikoS [] has joined #shogun18:45
-!- mode/#shogun [+o HeikoS] by ChanServ18:45
shogun-buildbotbuild #415 of FC19 - libshogun is complete: Failure [failed compile test]  Build details are at  blamelist: Saurabh7 <>18:50
shogun-buildbotbuild #416 of FC19 - libshogun is complete: Success [build successful]  Build details are at
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 260 seconds]19:03
-!- wiking [] has joined #shogun19:03
-!- travis-ci [] has joined #shogun19:21
travis-ci[travis-ci] it's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun:
-!- travis-ci [] has left #shogun []19:21
-!- wiking [] has quit [Changing host]19:26
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun19:26
-!- mode/#shogun [+o wiking] by ChanServ19:26
shogun-buildbotbuild #154 of clang34 - undefined behaviour analysis is complete: Failure [failed compile test]  Build details are at  blamelist: Saurabh7 <>19:32
shogun-buildbotbuild #155 of clang34 - undefined behaviour analysis is complete: Failure [failed test]  Build details are at  blamelist: Heiko Strathmann <>19:43
shogun-buildbotbuild #151 of clang34 - thread analysis is complete: Failure [failed test]  Build details are at  blamelist: Heiko Strathmann <>, Saurabh7 <>19:59
-!- iglesiasg [] has quit [Ping timeout: 272 seconds]20:30
shogun-buildbotbuild #167 of clang34 - static analysis is complete: Failure [failed analyse]  Build details are at  blamelist: Heiko Strathmann <>, Saurabh7 <>20:42
-!- HeikoS [] has quit [Ping timeout: 272 seconds]20:58
-!- shogun-notifier- [] has quit [Quit: transmission timeout]21:35
-!- HeikoS [] has joined #shogun22:30
-!- mode/#shogun [+o HeikoS] by ChanServ22:30
-!- iglesiasg [] has joined #shogun22:53
-!- mode/#shogun [+o iglesiasg] by ChanServ22:53
-!- shogun-notifier- [] has joined #shogun23:20
shogun-notifier-shogun: Fernando Iglesias :develop * daaaa0d / src/shogun/multiclass/KNN.cpp:
shogun-notifier-shogun: Fix leak in KNN::store_model_features, duplicate increases ref count23:20
shogun-notifier-shogun: Fernando Iglesias :develop * 75cf24e / src/shogun/multiclass/KNN.cpp:
shogun-notifier-shogun: Merge pull request #1800 from iglesias/develop23:20
shogun-notifier-shogun: Fix leak in KNN::store_model_features, duplicate increases ref count23:20
shogun-buildbotbuild #2558 of deb1 - libshogun is complete: Failure [failed test]  Build details are at  blamelist: Fernando Iglesias <>23:24
@HeikoSiglesiasg: hi!23:25
@HeikoSdid this patch solve the problem? or was it an old one?23:25
@HeikoSiglesiasg: anyway, cool!23:25
shogun-buildbotbuild #2559 of deb1 - libshogun is complete: Success [build successful]  Build details are at
@iglesiasgHeikoS, hey!23:27
@iglesiasgHeikoS, nothing new there unfortunately23:27
@HeikoSiglesiasg: ah ok23:27
@iglesiasgit was the one corresponding to the last comments I wrote a couple of days ago23:27
@HeikoSiglesiasg: thanks anyway for going over this23:27
@iglesiasgit is cool23:27
@HeikoSiglesiasg: I am not so sure about duplicate anymore anyways23:27
@HeikoSwhat do you think about just ditching it?23:28
@HeikoSand using clone instead23:28
@HeikoSwhich clones the full thing23:28
@HeikoSwould that be a problem?23:28
@HeikoSlike infinite stacks or so?23:29
@HeikoSsubsets is also a question23:29
@iglesiasgHeikoS, so for what I have understood from store_model_features23:29
@HeikoSah no that would not be goo23:29
@iglesiasgthe features are not actually copied, but shared23:29
@HeikoSthey are copied23:29
@iglesiasgclone would copy them I believe23:29
@HeikoSonly those who are needed for the copy23:29
@iglesiasgI think they are not copied :)23:29
@HeikoSlike for SVM only the SVs are copied23:30
@iglesiasgthe feature matrix is not copied23:30
@HeikoSfor SVM they definitely are23:30
@HeikoSfor others, I dont know23:30
@HeikoSmaybe I should have a look before talking about things ;)23:30
@iglesiasgI have looked into KNN for this, which is related to the example23:30
@iglesiasghaha no problem23:30
@iglesiasgin any case, for me the problem is now something interesting23:31
@iglesiasgI don't understand how it is possibly leaking23:32
@HeikoSah ok23:32
@iglesiasgsince the refcount object is shared23:32
@HeikoSmaybe a good opportunity to review the store_model_features idea23:32
@iglesiasgwhen the original features are freed, the other ones should be freed as well, I believe23:32
@iglesiasgmmm hold on23:32
@iglesiasgmaybe not23:33
@iglesiasgthe pointer passed to unref is the one that might be freed23:33
@iglesiasgbut not any other pointer23:33
@iglesiasgeven if this other pointer may contain internally the same refcount object23:33
@iglesiasgI guess that would explain it23:33
@HeikoSwhen its NULL, no unref23:34
@iglesiasgHeikoS, in any case, what I found rather surprising was that using this duplicate method, the duplicated object gets the same refcount object as the original23:34
@HeikoSyeah that is not good23:34
@iglesiasgI don't know if this is done on purpose23:34
@sonney2kno it is a bug(tm)23:35
@iglesiasgor it is just a consequence of using the copy constructor without really looking into that23:35
@iglesiasgI see23:35
@iglesiasgthen well, an idea might be to take a look at the copy constructor of SGRefObject23:35
@HeikoSiglesiasg: should not be like that23:35
@iglesiasgsince it may not make sense at all that different Shogun objects share the refcount23:36
@sonney2kHeikoS, actually does duplicate() do a deep copy or a shallow one?23:36
@HeikoSthis method should create a plain object that contains the same data as the current view on the features object23:36
@HeikoSthat is what we need for store_model_features23:36
@HeikoSsonney2k: shallow23:36
@iglesiasgsonney2k, definitely not deep23:36
@HeikoSit should just take the current view and copy it23:36
@HeikoSsonney2k: but there are two modes: the default is that *all* features are copied23:37
@HeikoSand the quick one is that only relevant ones are copied23:37
@HeikoSsonney2k: we had a discussion about memory limitations a while ago (a few years) remember?23:37
@sonney2kin this case it should inherit refcounts except for the new object right?23:37
@sonney2kHeikoS, yeah but I forgot the exact details23:38
@HeikoSsonney2k: it should just return a new object with its own ref-count23:38
@HeikoSlike a flat version of the underlying feature object23:38
@HeikoSwithout any subsets etc23:38
@HeikoSI think this is also different from copy constructor23:39
@sonney2kHeikoS, no copy constructor should call duplicate then23:39
@HeikoSsonney2k: mmh copy constructor should in fact also copy subsets etc23:40
@HeikoSso thats different23:40
@HeikoSduplicate should be called flat_copy() or so23:40
@HeikoSstore_model_features should just save the current view23:42
@HeikoSwith views, no copying is needed23:42
@HeikoSFor x-validation that is really a design flaw ,we should have used multiple views from the beginning23:42
@iglesiasgthat agrees with what the operation of store_model_features in KNN23:42
@sonney2kHeikoS, I think subsets should be copied to even in flat copy23:42
@HeikoSbecause if the model contains some view, then the feature object itself can be shared23:43
@iglesiasgat least how I understood it23:43
@HeikoSamong folds23:43
@HeikoSsonney2k: yeah, I agree. But that is not what is needed for store_model_23:43
@sonney2kHeikoS, I mean back then we said shallow copy should keep all references of sub objects (and increase them)23:43
@sonney2kso basically an object that is cheap to create23:43
@HeikoSiglesiasg, sonney2k I think it might be a nice task for this guy who wants to help us to implement multiple subset/views and then use that in store_model_features23:44
@HeikoSsonney2k: yeah23:44
@sonney2kbut modifying data in it will modify it in all cheap clones23:44
@HeikoStraining usually doesnt modify right?23:44
@sonney2kwhy not just do a drop subsets or so?23:44
@HeikoSor does it?23:44
@HeikoSsonney2k: ah yeah that is done in many methods23:44
@sonney2kit can but usually not (preprocessers might...)23:44
@HeikoSbut think about this store_model_features23:44
@HeikoSif it just stores a current view on a fixed fdeature object23:45
@HeikoSeverything is fine23:45
@HeikoSsince the reference is kept23:45
@HeikoSso even if one assigns a different one for testing23:45
@HeikoSthe old model view on the old features object is still there23:45
@HeikoSmaybe worth thinking about those views a bit more23:45
@HeikoSalso should be unified for labels and features23:45
@sonney2k'real' views have the issue that one needs to modify all algorithms to properly work with them23:48
@sonney2kas in get_feature_vector(i, view) I mean23:48
@HeikoSsonney2k: no that would be annoying23:48
@HeikoSall existing calls should use std view23:48
@HeikoSand there should be a method to set the std view to a different one, this way whole algorithms can be changed23:49
@HeikoSand all the x-validation stuff, and also wiking 's bagging can use the new ones23:49
@HeikoSactually thats even next on my list on things to implement to the core23:49
@sonney2kit is the most clean thing to do tough - thread safe and stacking and everythign would work with this right?23:49
@sonney2kI know it is annoying that is why we are doing it the other way currenlty...23:50
@HeikoSwell, it is not too hard to change things in my eyes23:51
@HeikoSand its somewhat nice to do23:51
@HeikoSnot as ugly as other improvements ;)23:52
@HeikoSiglesiasg, we should push this indian guy to do it ;)23:52
@iglesiasgtaking advantage of man power yeah!23:53
@HeikoSiglesiasg: hehe ;)23:54
@HeikoSok so we should brief him23:54
@HeikoSwhat would be first step?23:55
@HeikoShow should the interface to this look like?23:55
@iglesiasgto store_model_features?23:56
@HeikoSno to those multiple views/subsets23:57
@HeikoScurrently there is just one23:57
@HeikoSand one can stack them23:57
@HeikoSwhat we needed was a map of those stacks23:58
@HeikoSwith the key being some string or so23:58
@HeikoSand then one would have to set a default subset stack23:58
@HeikoSbut every method to access features should be overloaded with an additional parameter that specified the view23:58
@HeikoSor, alternatively, keep all calls the same and one has to change the current one by hand everytime (inconvinient)23:59
--- Log closed Mon Dec 30 00:00:29 2013