IRC logs of #shogun for Sunday, 2015-08-16

--- Log opened Sun Aug 16 00:00:38 2015
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has joined #shogun00:30
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds]00:34
-!- shaochuan [~shaochuan@2601:647:4600:fac5:ad6a:8155:1173:d382] has joined #shogun00:40
-!- shaochuan [~shaochuan@2601:647:4600:fac5:ad6a:8155:1173:d382] has quit []00:54
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has joined #shogun00:56
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has quit [Client Quit]00:58
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has joined #shogun01:00
-!- PirosB3 [~pirosb3@host23-116-dynamic.183-80-r.retail.telecomitalia.it] has quit [Quit: PirosB3]02:33
shogun-buildbotbuild #1032 of nightly_default is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/103204:15
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has joined #shogun09:06
-!- lupinix [~quassel@fedora/lupinix] has quit [Ping timeout: 255 seconds]09:07
-!- PirosB3 [~pirosb3@host225-72-dynamic.252-95-r.retail.telecomitalia.it] has joined #shogun11:55
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom. Friends. Features. First. [https://getfedora.org/]]11:57
-!- besser82 [~besser82@fedora/besser82] has joined #shogun11:59
-!- mode/#shogun [+o besser82] by ChanServ11:59
-!- lupinix_ is now known as lupinix12:46
-!- lupinix is now known as Guest5084312:46
-!- Guest50843 [~quassel@v22014041761818086.yourvserver.net] has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]12:46
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has joined #shogun12:47
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has quit [Client Quit]12:47
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has joined #shogun12:50
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has quit [Client Quit]12:50
-!- lupinix_ [~quassel@v22014041761818086.yourvserver.net] has joined #shogun13:32
-!- lupinix_ is now known as lupinix13:40
-!- lupinix [~quassel@v22014041761818086.yourvserver.net] has quit [Changing host]13:41
-!- lupinix [~quassel@fedora/lupinix] has joined #shogun13:41
-!- PirosB3 [~pirosb3@host225-72-dynamic.252-95-r.retail.telecomitalia.it] has quit [Quit: PirosB3]16:08
@besser82lisitsyn, ping?19:51
lisitsynbesser82: pong19:56
lisitsynwhta's up?19:56
@besser82lisitsyn, just the discussion 'bout those properties-classes...20:05
@besser82lisitsyn, I'm afraid, that won't help too much...  :(20:06
lisitsynbesser82: yeap20:06
@besser82lisitsyn, we really need to go plugin-style...20:06
@besser82... with polymorphism20:07
lisitsynyes that would be fastest to compile but I don't see any cool API with that20:07
@besser82lisitsyn, that's the problem...20:08
@besser82lisitsyn, we possibly need some real well-though factories...20:08
@besser82lisitsyn, and API will stay so-so...20:09
lisitsynit would be something ugly and string based20:09
@besser82atleast patially, yes  :(20:09
@besser82but swig will be nice and small20:10
@besser82and api from linker's pov will stay rock-solid20:11
@besser82otherwise we might use enums for parameters?20:11
@besser82lisitsyn, ^20:13
@besser82any other ideas?20:13
@besser82As far as I can see, Octave-mod will start blowing memory on Fedora's builders in very short time20:14
@besser82Takes ~8GBytes of RAM even with '-g1' and not using '-pipe'20:15
lisitsynbesser82: enums won't work for plugins :)20:16
@besser82lisitsyn, depends  ;)20:17
lisitsynunless parameters of plugins are known before the plugin20:17
lisitsynlike its generic for any plugin20:17
lisitsynbut that's not really the case20:17
@besser82my_svm = new CSVM(SVM_TYPE_ENUM,...)20:17
lisitsynbut then you have headers for all plugins?20:18
@besser82nope...20:18
lisitsynI mean that's not plugin then20:18
@besser82but at least a generic class20:19
@besser82like CSVM20:19
lisitsynyes but if your class adds one more parameter20:19
lisitsyntoomba_yumba20:19
lisitsynyou can't access it :)20:19
@besser82which can be resolved as well  ;)20:19
lisitsynhow?20:20
@besser82like having a std::map as member of base class  ;)20:20
lisitsynenum doesn't work still20:20
@besser82which holds pointers to whatever additional data / functions20:20
@besser82Why?20:20
lisitsynbecause you'd have to put all possible parameters into that enum20:21
lisitsynlike before developing any plugin20:21
@besser82that's not what I mean...20:21
@besser82I'm thinking of an enum describing which type of svm will be used...20:21
lisitsynuh why?20:22
lisitsynstring is ok here20:22
@besser82okie20:22
lisitsynstrings are dynamic while it would put all types statically20:22
@besser82erm... yes, that's true20:23
@besser82:P20:23
lisitsynlike inversed abstraction :)20:23
@besser82hehe20:23
@besser82but parameters might come from a std::map as well20:23
@besser82std::map<string, void**>20:24
lisitsynyes but rather map<string, any>20:24
@besser82does this work?20:25
lisitsynthat works but ugly20:25
lisitsyn:D20:25
lisitsynI mean you would do20:25
@besser82void** is more un-ugly  :P20:25
lisitsynno void** is the ugliest ugly :)20:25
lisitsynyou need to store type20:25
@besser82but takes a <any> pointer to <any> pointer  :P20:26
lisitsynugly is that you have to do20:26
lisitsynsvm.get("C").as_float()20:26
lisitsynany stores type and supports safe casts20:27
@besser82Yay!  so we kan use boost::any  :P20:28
lisitsynyes or better our own any :D20:28
lisitsyncause boost::any is uber slow20:28
@besser82Is it?20:28
lisitsynbesser82: it's type check is based on string comparison20:29
lisitsynof RTTI typenames20:29
lisitsynthere is a better way20:29
@besser82That's fscking rock-solid...  ;)20:29
lisitsynbesser82: anyway that doesn't really matter, api is the most important20:30
lisitsynand with strings we force users to explicitly provide types20:30
@besser82ERm... Do we?20:31
lisitsynyes20:31
lisitsyn??? get(std::string);20:31
lisitsynwhat's the return type? :)20:31
@besser82Any!20:31
@besser82:P20:31
lisitsynyes it is possible20:31
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun20:31
shogun-notifier-shogun: Wu Lin :develop * e0b776b / src/shogun/optimization/ (2 files): https://github.com/shogun-toolbox/shogun/commit/e0b776b2d975610c138dd8d165386ba4b51c09c220:31
shogun-notifier-shogun: add base class for wrapped minimizer20:31
shogun-notifier-shogun: Wu Lin :develop * e4c9817 / src/shogun/optimization/lbfgs/ (2 files): https://github.com/shogun-toolbox/shogun/commit/e4c98176c527ab0ebd2f2a474c77c15f547b32bb20:31
shogun-notifier-shogun: added lbfgs wrapped minimizer20:31
shogun-notifier-shogun: Wu Lin :develop * c45b744 / tests/unit/optimization/lbfgs/ (2 files): https://github.com/shogun-toolbox/shogun/commit/c45b7446bbc5599e0cb7060c869b0d92f5af062920:31
shogun-notifier-shogun: added unit tests20:32
shogun-notifier-shogun: Wu Lin :develop * 3fea081 / src/shogun/optimization/ (2 files): https://github.com/shogun-toolbox/shogun/commit/3fea0817609b54039a7d456bff744aeff119c4b320:32
shogun-notifier-shogun: clearn header files and comments20:32
shogun-notifier-shogun: Wu Lin :develop * edc9c26 / src/shogun/optimization/ (2 files): https://github.com/shogun-toolbox/shogun/commit/edc9c26a3d866201c6551eac3328e261385db25b20:32
shogun-notifier-shogun: remove the useless helper class20:32
shogun-notifier-shogun: Wu Lin :develop * f4a0c26 / src/shogun/optimization/lbfgs/ (2 files): https://github.com/shogun-toolbox/shogun/commit/f4a0c2604aa85ab0e472601fe2a4a0c80528501220:32
shogun-notifier-shogun: update the lbfgs class20:32
@besser82Commit galore!!!  :P :P :P20:32
lisitsynhah20:32
lisitsynbut when someone gets SVM's C20:32
lisitsynhe expects float20:32
lisitsynso he needs to code he needs float20:32
lisitsynlike as_float20:33
lisitsynor whatever20:33
@besser82nope...  I just found sth...  ;)20:33
@besser82http://codereview.stackexchange.com/questions/20058/c11-any-class20:33
@besser82might be useful ^_^20:33
lisitsynyes in C++ it is easy20:33
lisitsynyou just write float C = svm.get("C");20:33
lisitsynall implicit casts happen there20:34
lisitsynbut in python/java/blabla20:34
@besser82we wouldn't need to get to have that ugly API...20:35
@besser82We can provide a factory valid for all *SVM20:35
lisitsynyes it is not a problem at all20:35
shogun-buildbotbuild #340 of trusty - libshogun - viennacl is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/trusty%20-%20libshogun%20-%20viennacl/builds/340  blamelist: Wu Lin <yorker.lin@gmail.com>20:35
@besser82so have all important shiatz in header of factory20:35
lisitsynproblem is how to pass data20:36
lisitsynparameters and stuff20:36
shogun-buildbotbuild #3464 of deb1 - libshogun is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun/builds/3464  blamelist: Wu Lin <yorker.lin@gmail.com>20:36
@besser82lisitsyn, as class-member?20:36
lisitsynbtw opencv has cv::Mat20:36
lisitsynwhich is not typed20:36
lisitsynyou need to know its type20:36
lisitsynpeople live with that :D20:36
@besser82cv::Mat == void   :P20:36
lisitsynyes kind of20:36
shogun-buildbotbuild #341 of trusty - libshogun - viennacl is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/trusty%20-%20libshogun%20-%20viennacl/builds/34120:37
@besser82void with return-value  :P20:37
lisitsynbig decorator on top of void*20:37
@besser82lol20:37
shogun-buildbotbuild #3465 of deb1 - libshogun is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb1%20-%20libshogun/builds/346520:38
lisitsynbesser82: in dynamic language like python we can do some magic20:39
lisitsynso that svm.get("C") is transformed into float20:39
lisitsynbut not in java20:39
-!- PirosB3 [~pirosb3@host140-248-dynamic.23-79-r.retail.telecomitalia.it] has joined #shogun20:40
lisitsynalthough in java you know the type you expect20:40
lisitsynso why care?20:40
lisitsynjust a bit of additional verbosity20:40
-!- travis-ci [~travis-ci@ec2-54-144-119-235.compute-1.amazonaws.com] has joined #shogun20:42
travis-ciit's Wu Lin'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/7584299320:42
-!- travis-ci [~travis-ci@ec2-54-144-119-235.compute-1.amazonaws.com] has left #shogun []20:42
shogun-buildbotbuild #40 of FC22 - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC22%20-%20libshogun/builds/40  blamelist: Wu Lin <yorker.lin@gmail.com>20:44
shogun-buildbotbuild #1055 of FCRH - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FCRH%20-%20libshogun/builds/1055  blamelist: Wu Lin <yorker.lin@gmail.com>20:44
@besser82lisitsyn, as I'm thinking / saying ;)20:45
@besser82and in Python it doesn't matter as well...20:46
@besser82There any var can be anything20:46
@besser82a = "Shitty string"20:47
@besser82b = 120:47
shogun-buildbotbuild #1033 of precise - libshogun is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/precise%20-%20libshogun/builds/1033  blamelist: Wu Lin <yorker.lin@gmail.com>20:47
@besser82c = {b, a}20:47
@besser82d = a20:47
@besser82a = b20:48
@besser82b = d20:48
@besser82What has which type?  :P20:48
@besser82lisitsyn, ^20:49
shogun-buildbotbuild #2678 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/2678  blamelist: Wu Lin <yorker.lin@gmail.com>20:49
lisitsynbesser82: well it doesn't matter until it meets the point it is used as float20:50
lisitsynlike ok so I need to double the C20:50
lisitsynC *= 220:50
lisitsynkaput20:50
@besser82lol, yes...20:50
@besser82but that's like stupid...  noone would do so...20:51
@besser82... because everyone expects 'C' to be float / double20:51
lisitsynyes20:52
lisitsynbut with strings we need to force them to write that20:52
lisitsynI don't think it is a big deal20:52
lisitsynbut not beautiful20:52
@besser82me neither...20:52
@besser82but why strings...20:52
@besser82We can have a CSVM_Class having 'float C {0.0};'-member20:53
@besser82which is pretty generic through all types of SVM20:53
@besser82so no need for strings on that20:53
lisitsynthere is always a parameter that is not common for all svms20:54
@besser82which can be in the class as well20:55
@besser82but kept uneval'ed when not needed20:55
lisitsynok then I have new20:55
lisitsynmegablaster svm20:55
lisitsynwhich has the megascore parameter20:56
lisitsynit doesn't work until you add it to the base class ;)20:56
@besser82okie...  Then let's add it...  void* megascore20:57
shogun-buildbotbuild #663 of deb4 - python3 is complete: Failure [failed test python modular]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb4%20-%20python3/builds/663  blamelist: Wu Lin <yorker.lin@gmail.com>20:58
lisitsynwill you change api all the time plugin is released? :)20:58
@besser82we now change API everytime some bug is fixed...  :P20:58
lisitsynI don't say it is very bad but it is quite opposite to the idea of plugins20:58
@besser82then we need std::map<std::string,<any>>20:59
@besser82but it wouldn't be too much to enhance API with new plugins21:00
lisitsynany = need to cast parameters into expected type21:00
@besser82so more shiatz...  :(21:00
lisitsynno good solution :)21:01
@besser82so enhancing api from time to time would be the better alternative21:02
lisitsynwe need to pick less bad21:02
@besser82so changing API  ;)21:02
lisitsynlike adding new parameters = changing api?21:03
@besser82yes21:04
lisitsynyeah why not21:04
@besser82so let's-a-do-it  =)21:04
@besser82Will jot down my 'tack-weld' tomorrow21:04
lisitsynheh21:04
@besser82so we have lib / templates for doing da plugin-stuff21:05
lisitsynnot really lib but well I think we have some understanding how to do that21:06
@besser82I'm actually writing on it since a few weeks21:07
@besser82That should give us all we need to do stuff pretty quick in shogun21:08
@besser82like 'tack-weld' provides plugin-registry and all needed stuff21:08
@besser82and is abled to handle several different types / classes of plugins21:09
@besser82like plugins doing svm, other doing $other stuff21:09
@besser82we should split off linalg and all stuff as well21:10
@besser82interfacing maths through plugin too21:10
lisitsynmaybe we don't really need to interface math21:10
@besser82so we can easily switch between interfaces21:10
lisitsynahh21:10
lisitsynlike cpu gpu as plugins?21:11
lisitsynmaybe an overkill21:11
lisitsynwe have just two of them21:11
@besser82nope should be easy to do  ;)21:11
lisitsyncant see it being that dynamic21:11
@besser82we have linalg, atlas / blas and Vienna21:11
@besser82and now we build with conditionals, depending on what's there during compile21:12
@besser82so doing this abstractly shouldn't be a big deal21:12
@besser82It think I have plan to do it dynamic...  =)21:13
-!- shaochuan [~shaochuan@c-50-184-81-180.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer]21:13
-!- shaochuan [~shaochuan@2601:647:4600:fac5:9ce2:455c:900c:66cd] has joined #shogun21:14
lisitsynyou'd need to talk to lambday :)21:15
lisitsynok time to do some stuff, see you later21:15
@besser82lisitsyn, a'ight!  'til then!  C ya21:20
shogun-notifier-shogun: Wu Lin :develop * 033e60a / tests/unit/neuralnets/NeuralNetwork_unittest.cc: https://github.com/shogun-toolbox/shogun/commit/033e60a892fbeaab412b87fb03fb6276e001bbf823:07
shogun-notifier-shogun: bug fixed23:07
shogun-notifier-shogun: Bj?rn Esser :develop * 228eb3f / tests/unit/neuralnets/NeuralNetwork_unittest.cc: https://github.com/shogun-toolbox/shogun/commit/228eb3f8274a045b5a0aae58031233b43dd1d76c23:07
shogun-notifier-shogun: Merge pull request #2886 from yorkerlin/develop23:07
shogun-notifier-shogun:23:07
shogun-notifier-shogun: bug fixed23:07
shogun-buildbotbuild #1056 of FCRH - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FCRH%20-%20libshogun/builds/1056  blamelist: Wu Lin <yorker.lin@gmail.com>23:18
shogun-buildbotbuild #41 of FC22 - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC22%20-%20libshogun/builds/41  blamelist: Wu Lin <yorker.lin@gmail.com>23:18
shogun-buildbotbuild #2679 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/2679  blamelist: Wu Lin <yorker.lin@gmail.com>23:21
shogun-buildbotbuild #1057 of FCRH - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FCRH%20-%20libshogun/builds/1057  blamelist: Bj?rn Esser <bjoern.esser@gmail.com>23:23
shogun-buildbotbuild #42 of FC22 - libshogun is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC22%20-%20libshogun/builds/42  blamelist: Bj?rn Esser <bjoern.esser@gmail.com>23:23
shogun-buildbotbuild #1034 of precise - libshogun is complete: Success [build successful]  Build details are at http://buildbot.shogun-toolbox.org/builders/precise%20-%20libshogun/builds/103423:28
shogun-buildbotbuild #664 of deb4 - python3 is complete: Failure [failed test python modular]  Build details are at http://buildbot.shogun-toolbox.org/builders/deb4%20-%20python3/builds/664  blamelist: Wu Lin <yorker.lin@gmail.com>, Bj?rn Esser <bjoern.esser@gmail.com>23:28
shogun-buildbotbuild #2680 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/2680  blamelist: Bj?rn Esser <bjoern.esser@gmail.com>23:36
-!- PirosB3 [~pirosb3@host140-248-dynamic.23-79-r.retail.telecomitalia.it] has quit [Quit: PirosB3]23:54
--- Log closed Mon Aug 17 00:00:39 2015

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