IRC logs of #shogun for Tuesday, 2015-07-28

--- Log opened Tue Jul 28 00:00:11 2015
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 260 seconds]00:06
-!- besser82 [~besser82@fedora/besser82] has joined #shogun00:15
-!- mode/#shogun [+o besser82] by ChanServ00:15
-!- thoralf [~thoralf@ip5b4223a1.dynamic.kabel-deutschland.de] has joined #shogun01:20
-!- mode/#shogun [+o thoralf] by ChanServ01:20
-!- thoralf [~thoralf@ip5b4223a1.dynamic.kabel-deutschland.de] has left #shogun ["Konversation terminated!"]01:33
shogun-buildbotbuild #1027 of nightly_default is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/102704:08
-!- shaochuan [~shaochuan@2601:647:4600:fac5:e97f:35a0:bfa0:fc28] has joined #shogun04:14
-!- shaochuan [~shaochuan@2601:647:4600:fac5:e97f:35a0:bfa0:fc28] has quit [Ping timeout: 246 seconds]04:19
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has joined #shogun09:01
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has quit [Client Quit]09:03
-!- HeikoS [~heiko@nat-178-102.internal.eduroam.ucl.ac.uk] has joined #shogun10:34
-!- mode/#shogun [+o HeikoS] by ChanServ10:34
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has joined #shogun11:08
-!- HeikoS [~heiko@nat-178-102.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 244 seconds]11:10
-!- HeikoS [~heiko@dab-ell1-h-1-8.dab.02.net] has joined #shogun11:11
-!- mode/#shogun [+o HeikoS] by ChanServ11:11
-!- HeikoS [~heiko@dab-ell1-h-1-8.dab.02.net] has quit [Remote host closed the connection]11:51
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has joined #shogun12:21
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has quit [Ping timeout: 244 seconds]12:25
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has quit [Quit: PirosB3]13:30
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 240 seconds]14:17
-!- besser82 [~besser82@fedora/besser82] has joined #shogun14:18
-!- mode/#shogun [+o besser82] by ChanServ14:18
-!- HeikoS [~heiko@nat-173-28.internal.eduroam.ucl.ac.uk] has joined #shogun14:45
-!- mode/#shogun [+o HeikoS] by ChanServ14:45
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom. Friends. Features. First. [https://getfedora.org/]]14:53
-!- besser82 [~besser82@fedora/besser82] has joined #shogun14:54
-!- mode/#shogun [+o besser82] by ChanServ14:54
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has joined #shogun16:23
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has quit [Ping timeout: 244 seconds]16:28
-!- travis-ci [~travis-ci@ec2-54-163-92-178.compute-1.amazonaws.com] has joined #shogun16:36
travis-ciit's Sergey Lisitsyn's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/7302012216:36
-!- travis-ci [~travis-ci@ec2-54-163-92-178.compute-1.amazonaws.com] has left #shogun []16:36
-!- yorkerlin [b8af2f1e@gateway/web/freenode/ip.184.175.47.30] has joined #shogun17:44
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has joined #shogun17:59
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has quit [Quit: PirosB3]18:41
@HeikoSlisitsyn: hey19:19
lisitsynHeikoS: hey19:20
@HeikoSlisitsyn: how are things?19:20
@HeikoSlisitsyn: hey just looking at the manual again19:20
@HeikoSOne thing that would be cool is to automatically link any Shogun class name to the docs19:20
@HeikoSlisitsyn: did you ever look into that?19:20
lisitsynoh that should be possible19:20
lisitsynno not yet19:20
@HeikoSlisitsyn: new plugin?19:20
lisitsynhmmm19:21
lisitsynyes19:21
lisitsynprobably19:21
@HeikoSok19:21
@HeikoSwant to have a go on that?19:21
lisitsynHeikoS: we just need a way to extract functions/classes19:21
@HeikoSI can try to embed the manual in the build process19:21
@HeikoSlisitsyn: what about :sgclass19:21
lisitsynoh that would be manual19:21
lisitsynI'd go for auto19:22
@HeikoSlisitsyn:?19:22
@HeikoSah19:22
@HeikoSyes19:22
@HeikoSagreed19:22
@HeikoSanything with CPrefix you mean?19:22
lisitsynno just any word19:22
@HeikoSlisitsyn: look up in a hash-table if is a class and then create link?19:22
lisitsynyes19:23
@HeikoSlisitsyn: ok19:23
@HeikoSlisitsyn: should be a dictionary that is populated before19:23
@HeikoSin there, we can also add the name changes from SWIG interfaces19:23
lisitsynctags19:23
lisitsynah19:23
lisitsynswig is an issue19:23
@HeikoSlisitsyn: just start without and then see19:23
lisitsynokie19:23
@HeikoSI mean the SWIG name changes do not appear in the doxygen19:23
lisitsynI think I'll stop working now and switch19:23
lisitsynHeikoS: I'd make it the same in c++ and swig19:24
lisitsyndropping C is something I wanted to do19:24
lisitsynthis naming thing is mostly useless19:24
@HeikoSlisitsyn: I agree19:26
@HeikoSlisitsyn: but there are also the template renamings19:26
@HeikoSRealFeatures19:26
@HeikoSlisitsyn: in terms of build process19:30
@HeikoSlisitsyn: would you have a seperate set of examples for the manual?19:30
@HeikoSor share them with other python examples?19:30
lisitsynI think these should be the same19:30
lisitsynotherwise we have 3 places of examples19:30
@HeikoSlisitsyn: yeah19:30
lisitsynipython, manual, examples19:30
lisitsyn2 is better than 319:30
@HeikoSlisitsyn: well we need 3 for the period where we change:19:31
@HeikoSpopulate sg examples while discarding python examples19:31
@HeikoS(and integration tests)19:31
lisitsynyes19:31
lisitsynok then they should be in separate dir19:32
lisitsynbut we drop those thing19:32
@HeikoSok19:33
@HeikoSso I create a new dir19:33
@HeikoSlisitsyn: examples/meta/19:33
lisitsynwhy meta?19:33
lisitsynah19:33
@HeikoSwhere we collect examples in the meta language19:33
lisitsynyes meta19:33
lisitsyn:)19:33
lisitsyncool19:33
@HeikoSand then all other dirs are simply: python, r, etc19:34
@HeikoSwhich get populated by the translation process19:34
@HeikoSlisitsyn: one thing19:34
@HeikoSlisitsyn: the manual examples will have these tags in them19:34
lisitsynwhat tags?19:34
@HeikoSlisitsyn: is that confusing for people who just want code?19:34
@HeikoSlisitsyn: the tags to extract the code for the manual from19:35
lisitsynnot really get it sorry19:35
lisitsynyou mean references to code doc?19:35
@HeikoS#![create_instance]19:35
@HeikoSKNN knn(3, distance, labels)19:35
@HeikoS#![create_instance]19:35
lisitsynahh19:36
lisitsynthis one19:36
lisitsyndon't we drop them?19:36
@HeikoSthis one polluates the code itself quite a bit19:36
lisitsynbut meta language is for us right?19:36
@HeikoSlisitsyn: yes19:36
@HeikoSlisitsyn: but19:36
@HeikoSthe manual sphinx plugin looks for them doesnt it?19:36
lisitsynah true19:37
@HeikoSlisitsyn: ah not really19:37
lisitsynmaybe we should make them compatible with target languages comments19:37
@HeikoSlisitsyn: just looking at your code19:37
@HeikoSlisitsyn: but they are not comments19:37
@HeikoSbut tags19:37
lisitsynI completely forgot how it works there19:38
@HeikoSlisitsyn: maybe somehow hiding them would be cool19:38
@HeikoSlisitsyn: you wrote it :D19:38
lisitsynI write a lot of code :D19:38
yorkerlinhi19:38
lisitsynoh hey19:38
@HeikoSyorkerlin: hi!19:38
lisitsynI have to leave for a few minutes19:38
@HeikoSlisitsyn: so, if we could hide the tags in the files19:38
lisitsynwill get back soon19:38
yorkerlinok19:38
@HeikoSlisitsyn: but that doesnt work19:39
@HeikoSlisitsyn: ok see you soon19:39
yorkerlinHeikoS, for incremental inference, we need to store mutable variables.19:39
@HeikoSyorkerlin: hey, can you explain?19:39
yorkerlinfor now, inference in GP are batch inference, right?19:40
yorkerlinfor now, given exising data, we do inference right?19:41
@HeikoSyes19:41
@HeikoSI see, what are the variables you want to store?19:41
yorkerlinIdeally, some mutable variables used in an optimimizer should be store in the class of optimizer (not in the class of inference)19:43
@HeikoSokay, can you explain a bit what you think the problem is?19:43
yorkerlinincremental inference will do the following things: first given existing data, we do stochastic update, then  we do serialization. at some point, we do deserialization and use new data to do stochastic update.19:44
@HeikoSyorkerlin: why serialise?19:46
@HeikoSyorkerlin: why not just load new data while keeping the state in memory?19:46
@HeikoSyorkerlin: but ok19:46
@HeikoSin that case, the mutable variable needs to be in a Shogun class19:46
yorkerlinlet say, we have 100 data points to do GP inference. we are happy with the current result. we dump our model to disk.19:47
@HeikoSI agree with you19:47
yorkerlinin future, we may not be happy with our model and we want to do incremental update.19:48
@HeikoSyorkerlin: if we want to stop in between, and then continue later, we need to serilaise19:48
yorkerlinbased on the idea from lisitsyn, we can create a mutable class to store common variables for  an optimizer19:49
@HeikoSyorkerlin: yes that sounds good19:49
yorkerlinI think the cost function, the minimizer or the mutable class should be a subclass of CSGObject19:50
yorkerlinat least, the cost function and the mutable class should be subclasses of CSGObject19:51
@HeikoSI am not sure about the cost function still, since it needs to be called from the minimizer, which knows the mutable state like iteration anyways19:51
@HeikoSI agree on the others19:51
@HeikoSyorkerlin: but you can also go ahead if you think it is better19:51
@HeikoSyorkerlin: we should maybe then clean up the base class a bit to get rid of the massive overhead introduced by a new SG class19:52
yorkerlinFor now, the cost function is for developers unless the meta programming part is added19:53
@HeikoSyorkerlin: I agree, but it is an absolute overkill the way cost functions are currently defined. That is too complicated, even for developers. And this usually means that code is unmaintainable19:54
@HeikoSyorkerlin: think about what happens when you are not there anymore, then someone touching the code will have a hard time understanding the jungle of classes19:55
yorkerlinfor cost function, we only need to return the cost, its objective variable, and gradients.19:55
yorkerlinin fact, the base class of the cost function is like the JAVA interface.19:56
yorkerlinMaybe I need to write some documents or diagram19:58
lisitsynback19:58
@HeikoSyorkerlin: I think that would be a good idea19:58
@HeikoSyorkerlin: just to avoid confusion19:58
@HeikoSlisitsyn: hey19:58
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun19:59
shogun-notifier-shogun: Heiko Strathmann :feature/sphinxdoc * 8a56e84 / doc/sphinx/TODO: https://github.com/shogun-toolbox/shogun/commit/8a56e8400e453e8041fd8a94a6ec8baa6d48736919:59
shogun-notifier-shogun: added some notes19:59
@HeikoSlisitsyn: hey19:59
@HeikoSI think I know how we can do it19:59
@HeikoSlisitsyn: so the sphinx plugin is parsing/translating the examples itself19:59
lisitsynyes19:59
@HeikoSlisitsyn: this means that we can do whatever we like in the build process20:00
lisitsynyeah probably20:00
@HeikoSlisitsyn: so we can just translate all examples there, and then remove all tags from the output20:00
@HeikoSusing bash or whatever20:00
lisitsynyeah20:00
lisitsyntrue20:00
@HeikoSlisitsyn: I will create a folder in examples20:00
@HeikoSv220:00
@HeikoSand set up the folder structure in there20:00
@HeikoSand make the sphinx plugin use that folder20:01
lisitsynv2?20:01
@HeikoSlisitsyn: like "new_version_of_code_examples"20:01
@HeikoSlisitsyn: have everything in seperate folder20:01
lisitsynah ok20:01
@HeikoSand once the old stuff is migrated more or less20:01
@HeikoSwe drop oit20:01
@HeikoSit20:01
@HeikoSand move the folder content back up20:01
lisitsynok so how do we split?20:02
@HeikoSlisitsyn: actually20:02
@HeikoSno need for folder20:02
@HeikoSas the content of examples folder is:20:02
@HeikoSCMakeLists.txtdocumented    generate_documented.sh  missing.log  undocumented20:03
@HeikoSdescriptionsexample-generation  meta_language    README20:03
@HeikoShaha20:03
@HeikoSdocumented/undocumented best joke ever20:03
@HeikoSlisitsyn: how about you go ahead with this automatic link to doxygen class list20:03
lisitsyndocumented/undocumented is something20:03
lisitsynI don't know20:03
lisitsynits funny to see people confused by that though20:03
lisitsyn:D20:03
@HeikoSlisitsyn: haha20:04
lisitsynHeikoS: yes ok I'll go with tagging + catching these tags20:04
@HeikoSlisitsyn:  cool!20:04
lisitsynI'll use some ctags thing20:04
lisitsynclang20:04
lisitsynnot ctags20:04
@HeikoSlisitsyn: do you think examples should all be in one folder?20:04
@HeikoSlisitsyn: or more structured?20:04
@HeikoSlisitsyn: ah we can structure in the manual20:04
@HeikoSso can all be in a single folder20:05
yorkerlinok. I leave now. I will send a sketch of the class design to you guys before I update the PR.20:05
lisitsynyes20:05
@HeikoSyorkerlin: great, thanks for that!20:05
lisitsynyorkerlin: ok see you20:05
lisitsynthanks20:05
-!- yorkerlin [b8af2f1e@gateway/web/freenode/ip.184.175.47.30] has quit [Quit: Page closed]20:05
lisitsynwanted to shoot one idea20:05
@HeikoSlisitsyn: ok?20:05
lisitsynheh sorry back20:06
lisitsynHeikoS: so these optimizers and stuff20:06
lisitsynI think to support warm start20:06
lisitsynas yorkerlin wants20:06
@HeikoSlisitsyn: yeah its cool20:06
@HeikoSnot quite what he wants20:06
lisitsynwe need a way to construct state from problem20:06
lisitsynand vice versa20:06
@HeikoSlisitsyn: yeah, serialisation is not the way in my eyes20:06
lisitsynmodels should be serialized20:07
lisitsynbut not state of optimizer20:07
@HeikoSlisitsyn: yeah rather somehow store all thats needed20:07
@HeikoSand ahve a method to continue from that20:07
@HeikoSbut serialisation is an easy way I guess20:07
@HeikoSah dont know20:07
@HeikoSlisitsyn: I feel thats way beyond of what we can do ;)20:08
lisitsynwhy?20:08
@HeikoSlisitsyn: because its complicated and a lot of work20:08
lisitsynso the workflow is20:08
@HeikoSand our serialisation doesnt even work properly20:08
@HeikoSI want to drop it in fact20:09
lisitsynI don't know20:09
lisitsynit sounds like a killer feature20:09
lisitsynthat is somehow misused and missed20:09
lisitsynI mean things like sklearn don't support that20:09
@HeikoSlisitsyn: yeah20:09
@HeikoSpretty cool idea I agree20:09
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has joined #shogun20:10
@HeikoSlisitsyn: sonney2k did these things back with SVM I think20:10
lisitsynyes20:10
-!- travis-ci [~travis-ci@ec2-54-146-147-116.compute-1.amazonaws.com] has joined #shogun20:10
travis-ciit's Heiko Strathmann's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/7305614420:10
-!- travis-ci [~travis-ci@ec2-54-146-147-116.compute-1.amazonaws.com] has left #shogun []20:10
lisitsynif he was in research still it would be pretty fancy nowadays20:10
lisitsyngosh is there anything online20:12
lisitsynto draw20:12
lisitsynlog in register ahhh go figure20:13
lisitsyndownload free no sms20:13
lisitsyn:D20:13
lisitsynHeikoS: ok what I wanted to explain20:14
lisitsynwhat yorkerlin wants should be done in the same way the regular training happens20:14
lisitsynyou create model20:15
lisitsynit knows how to create optimization task20:15
lisitsynor state20:15
lisitsynit doesn't matter whether it is already initialized or not20:15
lisitsyninitialization is up to the model (svm, gp, nn whatever)20:15
lisitsynit just creates 'problem' or 'state'20:16
lisitsynso current point to evaluate and stuff like that20:16
lisitsynthen optimizer takes care of evaluate/adjust loop20:16
lisitsynand returns the same state20:16
lisitsynmodel knows how to obtain its parameters from that state20:17
@HeikoSlisitsyn: yeah I see20:18
@HeikoSlisitsyn: I mean it only holds for these online tasks20:18
@HeikoSwhere one can stop early20:18
@HeikoSlisitsyn: and also20:18
@HeikoSmostly people run things until convergence20:18
lisitsynwhy? it looks like any problem would run this way20:18
@HeikoSlisitsyn: but might be good for online stuff20:18
@HeikoSlisitsyn: many but not all20:19
@HeikoSlisitsyn: but yeah I like the idea20:19
@HeikoSlisitsyn: would be cool to build a framework for that20:19
@HeikoSlisitsyn: hey one more thing about the examples20:19
lisitsyna library20:19
lisitsyn;)20:19
@HeikoSthere should be a button that says: Show full source20:19
lisitsynyou know, prefer libraries over frameworks :)20:19
@HeikoSlisitsyn: I know20:19
lisitsynok show source is viable20:19
@HeikoSlisitsyn: small and slick20:20
@HeikoSlisitsyn: put it on your todo ;)20:20
@HeikoSlisitsyn: Shogun should be a collection of libraries20:20
@HeikoSthat all share the same SWIG and serialisation base20:20
@HeikoSand linalg core20:20
@HeikoSshogun-core20:21
@HeikoSand your plugins for whatever20:21
@HeikoSShogun should not contain any algorithms, just infrastructure for poeople to implement algorithms20:21
@HeikoSand then we could put in std things20:21
@HeikoSlisitsyn: but anyways20:21
@HeikoSlisitsyn: let me know when the links and the show source thing works20:21
lisitsynokie20:21
lisitsynyeah I'll spend some time right now20:22
@HeikoSIll try to get the build integration going20:22
lisitsynand later20:22
-!- HeikoS [~heiko@nat-173-28.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 256 seconds]20:32
shogun-notifier-shogun: sanuj :develop * 0baa215 / / (4 files): https://github.com/shogun-toolbox/shogun/commit/0baa215b84fe5e77da8d1973f4f60158ba45a6a920:45
shogun-notifier-shogun: Implement new initializations for conv neuralnet layer20:45
shogun-notifier-shogun: Sergey Lisitsyn :develop * 5bf0ea7 / / (4 files): https://github.com/shogun-toolbox/shogun/commit/5bf0ea735ce8d51c1e6ec71704f69e7546bc14b420:45
shogun-notifier-shogun: Merge pull request #2797 from sanuj/develop20:45
shogun-notifier-shogun:20:45
shogun-notifier-shogun: Implement new initializations for conv neuralnet layer20:45
shogun-buildbotbuild #2711 of bsd1 - libshogun is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2711  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>20:55
-!- shaochuan [~shaochuan@2601:647:4600:fac5:e97f:35a0:bfa0:fc28] has joined #shogun20:59
shogun-buildbotbuild #31 of FC22 - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC22%20-%20libshogun/builds/31  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>21:00
shogun-buildbotbuild #1046 of FCRH - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FCRH%20-%20libshogun/builds/1046  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>21:00
shogun-buildbotbuild #1023 of precise - libshogun is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/precise%20-%20libshogun/builds/1023  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>21:02
-!- shaochuan [~shaochuan@2601:647:4600:fac5:e97f:35a0:bfa0:fc28] has quit [Ping timeout: 244 seconds]21:03
shogun-buildbotbuild #2668 of deb3 - modular_interfaces is complete: Failure [failed csharp modular]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb3%20-%20modular_interfaces/builds/2668  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>21:12
shogun-buildbotbuild #654 of deb4 - python3 is complete: Failure [failed test python modular]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb4%20-%20python3/builds/654  blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com>21:22
-!- PirosB3 [~pirosb3@host116-44-dynamic.55-82-r.retail.telecomitalia.it] has quit [Quit: PirosB3]22:52
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout]23:45
--- Log closed Wed Jul 29 00:00:13 2015

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