IRC logs of #shogun for Sunday, 2016-06-12

--- Log opened Sun Jun 12 00:00:36 2016
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun11:56
-!- mode/#shogun [+o HeikoS] by ChanServ11:56
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.]12:01
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun12:03
-!- mode/#shogun [+o HeikoS] by ChanServ12:03
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.]12:14
-!- mizari [~mizari@95-174-213-100.nts.su] has joined #shogun12:42
-!- sanuj [~sanuj@117.203.8.81] has joined #shogun13:02
sanujlisitsyn, hey!13:04
lisitsynsanuj: hey there13:04
lisitsynwhat's up13:04
sanujlisitsyn, i keep disturbing you on sundays :P13:04
sanuji hope you don't mind :D13:04
lisitsynno worries13:04
sanujokay, HeikoS had reviewed the tags PR13:05
sanujhe insists we have 100% coverage13:05
lisitsynlet me check13:05
sanujfor unit-tests13:05
lisitsynyeah I agree, what do you think is not covered?13:06
sanujany13:06
lisitsynah ok13:06
sanujand he said we can check by a tool also13:06
sanujlet me see the irc logs13:06
sanujlisitsyn, https://gcc.gnu.org/onlinedocs/gcc/Gcov.html13:07
lisitsynyeah we can use that13:07
sanujokay, i'll try it13:08
sanuji wanted to discuss about swig13:08
lisitsynI am just not sure how to integrate it into our build process13:08
sanujlisitsyn, https://github.com/sanuj/shogun/commit/45104a01513eb315f847b5e89815caad11361c2913:09
sanujthis is working ^13:09
sanujwe need to finalize names13:09
sanujlike sg.int??13:09
lisitsynwhat changed?13:09
lisitsynlooks exactly as before13:09
sanujyeah13:09
sanuji had the wrong path in the env variables13:09
sanuj:D13:09
sanujto some other shogun13:09
lisitsynah ok13:10
lisitsynthis explains13:10
sanujyeah13:10
lisitsynsanuj: what is interesting now13:10
lisitsynis do we really have to set<Type>13:10
lisitsynor we can overload them13:11
sanuji'll add %template(TypeInt) Type<int>;13:11
@wikingthere's a coverage build (used to) in travis13:11
@wikingbut the cmake stuff is still there for it13:11
lisitsynwiking: !13:11
lisitsynyes13:11
lisitsyntrue13:11
sanujcoveralls?13:11
@wikingso u can build it locally13:11
@wikingand run it13:11
@wikingyourself13:11
lisitsynthat's cool13:12
sanujlet me check cmake13:13
sanujlisitsyn, why do we need to overload?13:14
lisitsynsanuj: do we have to write setInt(IntTag(…), …)?13:14
sanujno13:14
lisitsynahh is it for string ones?13:14
sanujcurrently we can write setInt(IntTag(…), …) but i think we want to change that13:16
lisitsynsanuj: I mean for tag based set/get13:16
lisitsynwe obviously don't want to write the type name twice13:17
sanujyes :D13:17
sanujwe don't13:17
sanujoh i see13:17
lisitsynbut we have to rename string ones13:18
sanujto what?13:20
sanujlisitsyn, so i need to write multiple set(Tag) in swig which internally calls setInt, setFloat and so on depending on Tag?13:22
lisitsynsanuj: nah13:22
lisitsynyou don't have to13:22
lisitsynI mean now we have13:22
lisitsynset<int>(IntTag)13:23
lisitsynand set<int>(string)13:23
lisitsynstring one can't infer the type13:23
lisitsynso it should be setInt(string)13:23
lisitsynsetInt(string, value) to be precise13:23
lisitsynbut set(IntTag) and set(FloatTag) and other ones should work as our target languages support overloading13:23
lisitsynit is just some methods with the same name but different argument types13:24
sanujyes okay13:24
lisitsynsanuj: I guess currently you rename both set<T>13:24
lisitsynbut we have to rename only the string one - lets check if it is possible13:25
sanujlisitsyn, i haven't renamed anything currently13:25
sanujjust %template13:25
lisitsynsanuj: isn't %template renaming it?13:25
lisitsynI mean introducing other name?13:25
sanujokay13:26
lisitsynhow do you call that in your python example?13:26
sanujsetInt13:26
sanujbut there is %rename also13:26
lisitsynyeah that's what I mean by renaming :013:26
lisitsynyeap13:26
lisitsyn:)13:26
sanuji thought you were calling %rename rename13:26
sanuj:D13:26
lisitsynnonono it is just about the final name you have in python13:27
lisitsyntag-based methods should not have the type in the name, that's what I mean13:27
sanujlisitsyn, but if i don't have %template then these template functions won't be accessible in python13:27
lisitsynsanuj: yes sure13:29
lisitsynsanuj: that's why you have to %template string get as get<..>13:29
lisitsynbut %template tag get as get13:30
sanujokay, let me try that13:31
sanujlisitsyn, i have a doubt13:43
sanujoverloading all set(tag) is fine13:43
sanujhow to differentiate between set(tag) and set(string) in swig13:43
lisitsynit should be set(tag) and setType(string)13:43
sanujwhen i'm doing %template13:43
lisitsynah13:43
lisitsynok13:43
sanujlisitsyn, shall i not use %template and instantiate template functions for set(string) manually?13:45
lisitsynsanuj: in the worst case yes13:45
lisitsynI am checking swig doc13:45
sanujactually i will have to do it manually for both set(tag) and set(string)13:46
sanuji saw the docs13:46
lisitsynsanuj: I've found this thing13:46
lisitsyn%template(bar) Foo::bar<int>;13:46
lisitsyn%template(bar) Foo::bar<double>;13:46
lisitsynso overloading will work13:46
lisitsynthat's good :)13:47
lisitsynnext the string things13:47
sanujyes overloading will work13:47
sanujbut not the string thing13:47
lisitsynsanuj: ok I think I have a trick13:47
sanujhaha13:47
sanujtell13:47
lisitsyntemplate <typename T, typename Q=void>13:48
lisitsynset(string, ...)13:48
lisitsyn%template (setInt) SGObject::set<int, void>13:48
sanujthis will require changing SGObject.h also13:49
sanujright?13:49
lisitsynyeap13:49
lisitsynjust add some dummy template parameter13:49
sanujyeah this will work13:49
lisitsynfor string ones13:49
sanujlisitsyn, that template won't be used anywhere in the function13:49
lisitsynyes13:50
lisitsynbut it allows us to tell one from another13:50
sanuji just need to template <typename T> --> template<typename T, typename U>13:50
lisitsynyes with default parameter of void13:50
sanujlisitsyn, yes i agree13:50
sanujokay13:51
lisitsyntypename U = void13:51
lisitsynsanuj: so that you don't have to write the useless parameter in C++13:51
sanujyes13:51
sanujlisitsyn, nice trick :)13:51
sanujc++ is very powerful13:51
lisitsynwell we're trying to overcome its diffuculties :D13:52
sanujhaha13:52
sanujlisitsyn, while i'm doing this13:53
sanujcan you check this13:53
sanujhttps://github.com/shogun-toolbox/shogun/pull/324613:53
sanujyou remember you changed 'some' for an error in neural net cookbook13:53
sanujit is giving seg fault13:54
sanujsee my 3rd comment in the PR13:54
sanuji have shown the cpp translation which errors13:54
lisitsynhmm ok13:55
lisitsynI am not sure what causing that14:03
lisitsynsanuj: can you paste some valgrind output later?14:03
sanujsure14:03
sanujlisitsyn, http://pastebin.com/u6n5sVrq14:05
lisitsynoh I see14:07
lisitsyneasy14:07
lisitsynsanuj: you need %newobject14:08
lisitsynfor methods in NeuralLayers14:08
sanujoh i see14:08
sanuji'll send a PR14:08
lisitsynbecause they are returning the same object14:08
lisitsynbut not ref'ing it14:08
lisitsynso your neural layers thing was deleted after the first =14:09
sanujlisitsyn, i don't understand14:17
sanujcpp code is ==> return with_layer(new CNeuralLinearLayer(size));14:17
sanujso it is returning a new object14:18
lisitsynno14:18
lisitsynit returns what with_layer returns14:18
lisitsyni.e itself14:19
sanujoh14:19
sanujreturn this14:19
sanujlisitsyn, how does %newobject solve the problem14:20
lisitsynsanuj: it will call SG_REF14:20
sanujswig doc says it is for fixing memory leak14:20
lisitsynso when you reassign reference is not going to zero14:21
sanujreference will get +114:21
lisitsynyes14:21
sanujbut in current scenario why is it deleting even when we don't call SG_REF14:21
lisitsynbecause ref counter goes to zero14:22
sanujso SG_UNREF is called14:22
lisitsynyes when you delete \old14:22
lisitsyn'old' object14:22
lisitsynwhich is essentially the same object14:22
lisitsynbecause it returns itself14:22
sanujoh i see14:23
sanujlisitsyn, but what calls SG_UNREF14:23
sanujthe NeuralLayers destructor?14:23
lisitsynsanuj: yeah14:23
sanujby 0x65D7A33: shogun::CNeuralLayers::~CNeuralLayers() (NeuralLayers.cpp:52)14:24
sanuji see14:24
sanujlisitsyn, setInt(string) is working14:31
lisitsynsanuj: using the template trick?14:31
sanujyes :D14:31
lisitsyncool14:32
sanujfor get14:32
sanujget(tag) and get(string, type)14:32
sanujboth should be called tag?14:32
sanujlisitsyn, and do i rename Type<int> as int14:33
sanujto allow sg.int14:33
sanujor maybe sg.Int14:33
lisitsynsanuj: I am not sure14:33
lisitsynit could be a bit dangerous for some langs14:33
lisitsynsanuj: lets keep it IntType14:33
sanujlisitsyn, TypeInt14:33
sanujso that Type [tab] displays all Type... shogun supports14:34
sanuj?14:34
lisitsynsanuj: makes sense!14:34
sanujlisitsyn, and for get14:34
sanujall gets should be called "get"?14:34
lisitsynsanuj: just the same as with set14:35
sanujlisitsyn, we have get(tag) and get(string, type)14:35
sanujwe don't have getInt(string)14:35
sanujit will be getInt(string, typeint)14:36
lisitsynsanuj: oh lets add it then! :)14:36
lisitsynsanuj: why did we go with get(string, type)?14:36
sanujlisitsyn, i took it from aer14:36
sanujhow to have getInt(string)14:36
lisitsynsanuj: I think we need some symmetry14:37
lisitsynso getInt setInt14:37
sanujagree14:37
lisitsynsanuj: otherwise people would get mad14:37
sanujhaha14:37
lisitsynand I understand why14:37
lisitsynit is impossible to remember whether it is getInt and set or setInt and get14:37
sanujlisitsyn, but how to implement getInt(string)14:38
sanujoh14:38
lisitsyntemplate <typename T, typename U=void>14:38
lisitsyn..14:38
lisitsyn:)14:38
sanujshould be easy14:38
sanujyes14:38
lisitsynjust the same14:38
lisitsynyou just don't assign it but get it14:38
sanujlisitsyn, what's the point of keeping get(string, type)?14:39
sanujif we have getInt(string)14:39
lisitsynsanuj: I don't have any14:40
lisitsynlooks like we should drop it14:40
sanujlisitsyn, then there is no point in keeping Type also :D14:41
lisitsynyeap14:41
sanujlisitsyn, cool, i'll drop both14:42
sanujand change unit tests14:42
lisitsynok thanks14:43
sanujlisitsyn, apart from this what all is needed for swig14:44
sanujand which types to expose via swig14:44
lisitsynsanuj: well remember the list?14:45
lisitsynyou had in gist14:45
lisitsynthat's what we're going to expose I guess14:45
sanujhaha14:45
sanujthat?14:45
lisitsynyes14:45
sanujokay14:45
sanujlisitsyn, will it work for everything?14:45
lisitsynsanuj: it should otherwise we're going to fix it ;)14:46
sanujlisitsyn, okay :)14:46
sanujlisitsyn, i'm 3 weeks in and have not even touched plugins14:59
lisitsynsanuj: yeah we're underestimated quite a bit15:00
lisitsynthat's ok we will readjust it15:00
lisitsynsanuj: we can change the goal of your project to not really convert whole shogun15:00
lisitsynbut implement all the required staff and start the conversion15:01
lisitsynthis will make it feasible15:01
sanujhmm15:03
sanujlisitsyn, cookbooks take a lot of time15:03
sanujfrom the process of initiating a PR to getting it merged15:04
-!- mizari [~mizari@95-174-213-100.nts.su] has quit [Ping timeout: 246 seconds]15:04
-!- besser82 [~besser82@fedora/besser82] has joined #shogun15:04
-!- mode/#shogun [+o besser82] by ChanServ15:04
-!- mizari [~mizari@95-174-213-100.nts.su] has joined #shogun15:12
sanujlisitsyn, there?15:25
lisitsynsanuj: y15:25
sanujwe have Type<T> type() const        {            return Type<T>();       }15:26
sanujin tag.h15:26
sanujlisitsyn, shall i remove this too??15:26
lisitsynsanuj: yeah looks like15:26
sanujokay15:26
sanujthings look clean without Type15:28
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 258 seconds]15:52
-!- GandalfTheWizard [~Eva@112.10.170.90] has joined #shogun16:13
sanujlisitsyn, there?16:22
lisitsynsanuj: y16:22
sanujlisitsyn, %newobject with_layer(CNeuralLayer* layer); in NeuralNets.i16:23
sanujthis should fix the problem ?16:23
lisitsynnot sure16:23
lisitsynprobably you'd need %newobject for all layer-returning things16:23
lisitsynlike16:23
lisitsynwith_layer, relu, blabla16:24
sanujyeah16:24
sanujbut16:24
sanujit was cpp translation that was segfaulting16:24
sanujand we are changing swig16:24
lisitsynoops that's true16:24
sanuj:D16:24
sanujlisitsyn, another fix then?16:24
lisitsynseems like16:25
sanuji tried this and it didn't work16:25
sanujand then i realized why am i changing swig for this16:25
sanuj:P16:25
lisitsynyeah yeah sorry my bad16:25
sanujlisitsyn, no need to say sorry :D16:26
lisitsynok I think I need to handle that in some.h16:26
sanujlisitsyn, are you doing it now?16:34
lisitsynsanuj: yep16:34
sanujcool16:34
sanuji'm trying to run it in python16:35
sanujlisitsyn, i have added %newobject for all the methods but it still segfaults in python16:46
lisitsynsanuj: ok this doesn't help16:46
lisitsynlets see if my patch does16:46
lisitsynit should be done anyway16:47
sanujokay16:47
sanujheiko will want a different patch for this16:47
sanujlisitsyn, shall i send a separate PR for this even if there is no effect?16:47
lisitsynsanuj: %newobject?16:47
lisitsynnot sure16:47
sanujwhat else might be causing the error in python?16:48
sanujbtw16:49
sanujthis works in python16:50
sanujlisitsyn, all_layers = layers.input(num_feats).linear(50).softmax(2).done()16:50
sanujwas done like this in the old modular example16:50
sanuji think ^^ is where it really shines, otherwise no point returning CNeuralLayers*16:51
sanujbut not possible in cookbook16:51
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun17:02
shogun-notifier-shogun: Sergey Lisitsyn :develop * be31693 / src/shogun/base/some.h,tests/unit/base/Some_unittest.cc: https://github.com/shogun-toolbox/shogun/commit/be31693193e280c91e9346a2f6a9449fc98505ae17:02
shogun-notifier-shogun: Handle self-assignment of some17:02
shogun-notifier-shogun:17:02
shogun-notifier-shogun: Don't do anything when pointer is self-assigned.17:02
shogun-notifier-shogun: This resolves possible crashes then something17:02
lisitsynsanuj: here you go17:02
shogun-notifier-shogun: with reference 1 is being self-assigned and deleted17:02
sanujlisitsyn, okay, i'll pull17:03
sanujlisitsyn, but what do you think about the things i said before17:03
sanuj all_layers = layers.input(num_feats).linear(50).softmax(2).done()17:03
lisitsynI am not sure I get it17:03
sanujlisitsyn, this is how these layers were added in python in old modular examples17:04
lisitsynyes17:04
sanujif we don't do this, then what is the point of returning CNeuralLayers*?17:05
lisitsynwell we just don't do this in meta examples17:05
lisitsyndue to limitations17:05
lisitsynthis can be changed at some point17:05
sanujokay17:05
sanujbecause if we don't do it in meta examples17:05
sanujno one will17:06
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun17:10
-!- mode/#shogun [+o HeikoS] by ChanServ17:10
shogun-buildbotbuild #51 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/51  blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com>17:11
shogun-buildbotbuild #2910 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2910  blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com>17:12
sanujlisitsyn, get and getInt are working from swig17:16
lisitsyncool17:16
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.]17:18
sanujlisitsyn, there is something fishy17:18
sanujgoing on17:18
sanujgk.has("width")17:19
sanujthis also works17:19
sanujwhich shouldn't17:19
sanujbecause Tag constructor is explicit17:19
sanujoh ignore ^^17:20
lisitsynok ;)17:21
sanujlisitsyn, one more thing17:23
sanujwe have17:23
sanujhas(const Tag<T>& tag)17:23
sanujhas_type(const std::string& name)17:23
sanujshall i convert has_type to hasInt etc17:24
sanujjust like for get and set17:24
lisitsynsanuj: could you please rename has_type into has17:25
lisitsynjust template it17:25
lisitsynand then yes17:25
lisitsyndo the same17:25
sanujyeah that's what i meant17:25
lisitsynbecause has_type is not really a good name - makes me think we're talking about the type of object17:26
lisitsynnot the type of parameter17:26
sanujcool17:26
sanujlisitsyn, what else to do in swig?17:27
sanujand can i push the swig changes on my tags PR?17:28
lisitsynsanuj: yeah please do17:29
lisitsynsanuj: add more types then17:29
sanujlisitsyn, all the types from my gist?17:30
lisitsynsanuj: yes17:30
lisitsyndo some macro17:30
lisitsynto simplify that17:30
lisitsynif possible17:30
sanujokay17:30
sanujlisitsyn, the neuralnet cookbook is working now17:30
sanujthanks for your changes :)17:31
lisitsyngood to hear17:31
sanujand %newobject also worked for python17:31
sanuji had changed the .i file in the build last time so was not working17:31
sanujlisitsyn, if i add all the types, it is going to be huge17:35
shogun-buildbotbuild #453 of deb1 - libshogun - PR is complete: Failure [failed cookbook]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/453  blamelist: OXPHOS17:42
shogun-buildbotbuild #454 of deb1 - libshogun - PR is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun%20-%20PR/builds/45417:42
lisitsynsanuj: we have to17:47
lisitsynyou can simplify that somehow17:47
lisitsynusing macroses may be17:47
sanujyeah17:47
-!- mizari [~mizari@95-174-213-100.nts.su] has quit [Quit: Leaving]17:53
shogun-buildbotbuild #39 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/39  blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com>17:55
sanujlisitsyn, do i need to have pointers for some classes also as types?18:34
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun19:19
-!- mode/#shogun [+o HeikoS] by ChanServ19:19
@HeikoSsanuj: hi19:24
sanujHeikoS, yo19:24
@HeikoSis the gmm example working now?19:24
@HeikoSin travis?19:24
sanujyou had disabled R right?19:24
sanujafter that it is working19:25
@HeikoSok19:26
sanujHeikoS, how was weekend?19:26
@HeikoSsanuj: "is" :)19:26
@HeikoSit is great19:26
@HeikoSand relaxed19:26
@HeikoSand yours?19:26
sanujhaha19:26
sanujit is about to get over19:26
sanujhere19:27
sanujmine was also good19:27
sanujHeikoS, what do you plan to do after PhD?19:27
@HeikoSsanuj: I dont have a plan yet19:28
sanujyou must have thought something before you started your phd19:28
sanuji'm asking because i need to decide myself19:28
sanujabout research19:28
@HeikoSsanuj: about whether to do a phd or not?19:29
sanujyeah19:29
@HeikoSits very different19:29
@HeikoSwhat to do after a phd19:29
@HeikoSand whether to do a phd19:29
@HeikoSI like mine19:29
@HeikoSwould reccomend doing one, but also reccomend finding a nice group and a nice topic19:30
shogun-notifier-shogun: Saurabh7 :develop * d2c595b / src/shogun/evaluation/CrossValidation.cpp: https://github.com/shogun-toolbox/shogun/commit/d2c595b4b97ea4673b5e25001173c33c1d4c5b6019:30
shogun-notifier-shogun: Fix evaluation19:30
shogun-notifier-shogun: Heiko Strathmann :develop * d4dfe2e / src/shogun/evaluation/CrossValidation.cpp: https://github.com/shogun-toolbox/shogun/commit/d4dfe2e048fcfb2c5c8587a2dd23aa6d21973fd919:30
shogun-notifier-shogun: Merge pull request #3279 from Saurabh7/xvalfix19:30
shogun-notifier-shogun:19:30
shogun-notifier-shogun: Fix evaluation xval19:30
sanujyeah19:30
@HeikoSsanuj: when would you start?19:30
@HeikoSdid you do a msc?19:30
sanujnope19:31
sanujjust completed my bachelors19:31
@HeikoSI see19:31
@HeikoSif you are not sure yet19:31
@HeikoSmaybe a masters is good19:31
sanuji'm planing to spend an year in academia doing interns19:31
@HeikoSI found the area I am working in now durin gthat19:31
@HeikoSand after the msc I worked at uni for another year before I started phd19:31
sanuji see19:31
@HeikoSI think it is good to take time to decide such things19:31
sanujyes, true19:32
@HeikoSsanuj: thats why I am not in a rush with planning things after phd19:32
sanuji see19:32
@HeikoSrather do something else or related or a year before I go ahead full speed19:32
sanujthat's why i'm planing to do research interns for an year19:32
@HeikoSyeah very good idea19:34
@HeikoSand cheaper than  a msc .)19:34
sanujyes :)19:35
sanujand if i get funding then even better19:35
sanujHeikoS, i think i found a bug in combinedkernel.cpp19:36
@HeikoSsanuj: what is it?19:38
shogun-buildbotbuild #52 of xenial - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/52  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>19:38
sanujHeikoS, can you open the file19:38
sanujHeikoS, line 7919:38
shogun-buildbotbuild #2911 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2911  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>19:38
sanujHeikoS, you had asked me to init() combinerkernel without combinedfeatures for the cookbook19:39
@HeikoSopening ....19:39
@HeikoSfor (index_t i=0; i<get_num_subkernels(); ++i)19:40
sanujit fails if we have a custom kernel19:40
@HeikoSthats line 7919:40
sanujyes19:40
sanujbecause for custom kernel we don't need features to initialize19:40
sanujso if there are 3 kernel in a combined kernel19:40
sanujand one of them is a custom kernel19:40
sanujthis will append 3 feature obj to combined feature19:41
sanujbut we would only need 219:41
sanujfeature objs19:41
sanujHeikoS, what do you think?19:41
sanuji have checked it19:42
@HeikoSthe custom kernel has these dummy features19:42
sanujit fails with error "CombinedKernel: Number of features/kernels does not match - bailing out"19:42
@HeikoSthat can be created from other features19:42
@HeikoSI see19:42
sanujyes19:42
@HeikoSshould fix that19:42
sanuji'll send a PR19:42
@HeikoSsanuj: unit test it19:43
sanujokay19:43
sanujHeikoS, and the fix is ==> only append features if kernel is not a custom kernel19:44
sanujright?19:44
@HeikoSnot sure19:47
@HeikoSthe features should always match the kernel19:47
@HeikoSIt is hard to tell now because I dont quite understand what you are doing, a unit test would be the best thing19:48
@HeikoSthat is a use case where we know how the thing should behave internally19:48
sanujHeikoS, if you see here https://github.com/shogun-toolbox/shogun/pull/3250/files#diff-a103b37f00e07d88a3d3df79bc7d8dbdR2119:49
sanuji have 3 kernels and 2 features and it works19:49
sanujif i put 3 kernels and 3 features it fails19:50
sanujbecause of custom kernel19:50
@HeikoSlisitsyn: jo19:50
@HeikoSit should have 3 and 3 each19:51
@HeikoSthat is, dummy features for the custom kernel19:51
sanujokay19:51
@HeikoSOR19:51
@HeikoSyou can also add a method inits the same features for all kernels19:51
lisitsynHeikoS: hej19:52
@HeikoSlisitsyn: were you involved in the multiclass error code stuff?19:52
lisitsynHeikoS: a little bit19:53
lisitsynwhy?19:53
@HeikoSlisitsyn: got a reference?19:53
@HeikoSSee the cookbook19:53
@HeikoSOXPHOS needs a reference19:53
lisitsynECOC?19:53
lisitsynhttp://www.jmlr.org/papers/volume11/escalera10a/escalera10a.pdf19:54
lisitsynwhat about this one?19:55
@HeikoSgood!19:55
lisitsynor its references19:55
lisitsynI mean it is a library and it should reference all the major stuff19:55
@HeikoSyeah perfect19:56
lisitsynHeikoS: we're going to have all that parameters stuff quite soon19:56
@HeikoSlisitsyn: great19:56
@HeikoSwhat are the next steps?19:56
@HeikoScereal can begin then right=?19:56
lisitsynHeikoS: polish it and start working on plugins19:56
@HeikoSshould be much easier19:56
lisitsynyes19:56
@HeikoSdo you plan to remove all SG_ADD calls?19:57
lisitsynHeikoS: I thought of rewriting SG_ADD a bit so it injects into the new approach19:57
lisitsynso both old and new getters and setters work19:57
@HeikoSlisitsyn: also good19:57
@HeikoSwell old getters19:57
@HeikoSI would all remove19:58
@HeikoSand setters19:58
@HeikoSat least try to19:58
@HeikoSso that we have a unified get/set at least19:58
@HeikoSmostly grep19:58
lisitsynHeikoS: I think injecting the new thing would be less dangerous19:58
@HeikoSyeah that I would do19:58
lisitsynit is true but I am a bit scaried19:58
@HeikoSbut the getter/setter I mean19:58
lisitsynat such massive scale bad things happen19:58
@HeikoSmmh yeah19:58
sanujHeikoS, can you merge https://github.com/shogun-toolbox/shogun/pull/328319:59
lisitsynsanuj: btw do we have to use %newobject after my fix?19:59
lisitsynI am a bit lost whether it is needed still19:59
sanujlisitsyn, yes19:59
sanujfor python etc19:59
lisitsynok I see19:59
sanujhow will some fix other languages?20:00
@HeikoSlisitsyn: can you merge and check this?20:00
lisitsynHeikoS: ok20:00
lisitsynHeikoS: well I started this20:00
lisitsynHeikoS: there was a bug in 'some' and this builder stuff has to have %newobject20:01
@HeikoSyep20:01
sanujHeikoS, can i valgrind non cpp stuff?20:01
lisitsynfor sure20:01
sanujoh didn't know that20:01
lisitsynyou can valgrind any program 'cause it is C or C++ inside anyway :P20:02
@HeikoSsanuj: it wont help though20:02
@HeikoSjust realised20:02
sanujlisitsyn, haha20:02
@HeikoSlisitsyn: any idea how to verify pythons refcounts?20:02
lisitsynHeikoS: should be some library20:03
lisitsynwell valgrind could help but it would get a little bit of noise20:03
sanujhttps://pythonhosted.org/Pympler/muppy.html20:04
lisitsynpython: the good parts20:04
lisitsynthere is a library for everything20:04
sanujlisitsyn, and good big integer for competitive coding problems :P20:05
shogun-notifier-shogun-data: OXPHOS :master * 3b7d763 / testsuite/meta/classifier/multiclass_ecoc_random.dat: https://github.com/shogun-toolbox/shogun-data/commit/3b7d763409cc5fbfd01b97a96c674898447dda9820:07
shogun-notifier-shogun-data: eco_random20:07
shogun-notifier-shogun-data: Heiko Strathmann :master * e4159a7 / testsuite/meta/classifier/multiclass_ecoc_random.dat: https://github.com/shogun-toolbox/shogun-data/commit/e4159a7250a2995342e38c870bdc0d0a1e1c129020:07
shogun-notifier-shogun-data: Merge pull request #98 from OXPHOS/master20:07
shogun-notifier-shogun-data:20:07
shogun-notifier-shogun-data: integration test data - multi-class_ecoc_random20:07
@HeikoSlisitsyn, sanuj btw20:07
@HeikoSWHY does this neural net stuff always create a new object?20:07
@HeikoSwouldnt it modify itself and return itself?20:07
lisitsynHeikoS: it doesn't20:07
@HeikoSwhy do we need newobject then?20:08
lisitsynHeikoS: I think what happens is that swig unrefs the original object20:08
lisitsynand then refs the same object20:08
lisitsynbut I am not sure20:08
@HeikoSoh I see20:08
lisitsynthis is what was happening in cpp20:08
@HeikoSlike when a method returns self instance20:08
lisitsynyes20:08
@HeikoSok20:08
@HeikoSthen the patch can be merged I guess20:08
@HeikoSSaurabh7: hi!20:09
@HeikoSsanuj: you mentioned you might have a swig example for using tags?20:09
@HeikoSI can already start thinking how that goes into the meta examples20:09
lisitsynHeikoS: once swig+tags20:09
lisitsynyes20:09
lisitsynexactly20:09
sanujHeikoS, yes20:10
sanujwe made some changes today20:10
sanujHeikoS, you remember the gist for base shogun interface20:10
@HeikoSno :)20:12
sanujlet me get that20:12
sanujHeikoS, https://gist.github.com/sanuj/56f03cd242473137fad851e68fa0f2c120:12
sanujfor which you told me to make a tree diagram20:13
sanujwhich is still due :P20:13
sanujso we are doing --> %template(set) CSGObject::set<int>; for all these classes20:13
-!- GandalfTheWizard [~Eva@112.10.170.90] has quit [Quit: Leaving.]20:13
shogun-buildbotbuild #40 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/40  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com>20:16
@HeikoSsanuj: not sure I am following20:19
sanujHeikoS, we need to instantiate templates in swig for every type that we want to expose20:19
@HeikoSAh yes I see20:20
@HeikoSsure20:20
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Quit: Leaving.]20:22
sanujgoing to sleep20:24
sanujgoodnight20:24
-!- sanuj [~sanuj@117.203.8.81] has quit [Quit: Leaving]20:28
-!- sonne|osx [~sonne@x4e31fd0a.dyn.telefonica.de] has joined #shogun22:08
-!- sonne|osx [~sonne@x4e31fd0a.dyn.telefonica.de] has quit [Quit: sonne|osx]22:34
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]23:07
--- Log closed Mon Jun 13 00:00:37 2016

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