--- Log opened Mon Jun 20 00:00:47 2016 | ||
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Ping timeout: 250 seconds] | 00:22 | |
-!- HeikoS_mobile [~Mutter@host-92-0-162-192.as43234.net] has joined #shogun | 00:22 | |
HeikoS_mobile | lisitsyn: invite me :) | 00:22 |
---|---|---|
-!- HeikoS_mobile [~Mutter@host-92-0-162-192.as43234.net] has quit [Remote host closed the connection] | 00:27 | |
-!- GandalfTheWizard [~Eva@112.10.171.169] has joined #shogun | 03:15 | |
-!- sonne|osx [~sonne@x4db35f75.dyn.telefonica.de] has joined #shogun | 05:18 | |
-!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-nhgboshmvjngqjid] has left #shogun [] | 05:22 | |
-!- sonne|osx_ [~sonne@x4db412db.dyn.telefonica.de] has joined #shogun | 05:24 | |
-!- sonne|osx [~sonne@x4db35f75.dyn.telefonica.de] has quit [Ping timeout: 264 seconds] | 05:25 | |
-!- sonne|osx_ is now known as sonne|osx | 05:25 | |
shogun-buildbot | build #24 of memleak - valgrind is complete: Failure [failed memory check] Build details are at http://buildbot.shogun-toolbox.org/builders/memleak%20-%20valgrind/builds/24 blamelist: Esben Sorig <esben@sorig.eu>, Heiko Strathmann <heiko.strathmann@gmail.com> | 05:26 |
-!- Saurabh7_ [~Saurabh7@1.39.13.127] has joined #shogun | 05:28 | |
shogun-buildbot | build #1025 of nightly_none is complete: Failure [failed test] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_none/builds/1025 blamelist: Esben Sorig <esben@sorig.eu>, Heiko Strathmann <heiko.strathmann@gmail.com> | 05:30 |
shogun-buildbot | build #1155 of nightly_default is complete: Failure [failed test test_1 notebooks] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/1155 blamelist: Esben Sorig <esben@sorig.eu>, Heiko Strathmann <heiko.strathmann@gmail.com> | 06:16 |
-!- sonne|osx [~sonne@x4db412db.dyn.telefonica.de] has quit [Quit: sonne|osx] | 07:08 | |
-!- sanuj [~sanuj@61.0.30.117] has joined #shogun | 08:10 | |
-!- Saurabh7_ [~Saurabh7@1.39.13.127] has quit [Quit: Leaving] | 08:26 | |
-!- GandalfTheWizard [~Eva@112.10.171.169] has quit [Quit: Leaving.] | 09:33 | |
-!- Saurabh7 [~Saurabh7@1.39.12.41] has joined #shogun | 09:35 | |
sanuj | lisitsyn, yo | 10:14 |
sanuj | lisitsyn, i think we should hide any from swig | 10:47 |
lisitsyn | sanuj: hey | 10:47 |
lisitsyn | why? | 10:47 |
sanuj | lisitsyn, we don't need as<> in python | 10:48 |
sanuj | or anything else from any | 10:48 |
sanuj | and i am getting these infinite warnings | 10:48 |
sanuj | SGBase.i:570: Warning 503: Can't wrap '_as< int >' unless renamed to a valid identifier. | 10:48 |
lisitsyn | uhmm okay we don't use it (yet) | 10:48 |
lisitsyn | ahh ok | 10:48 |
lisitsyn | just ignore it ok | 10:49 |
sanuj | lisitsyn, and SGBase.i:678: Warning 314: 'as' is a python keyword, renaming to '_as' | 10:49 |
sanuj | lisitsyn, %template(as ## name) Any::as<type>; | 10:49 |
sanuj | shall i remove this or keep it? ^ | 10:49 |
lisitsyn | sanuj: well you're removing Any :) | 10:50 |
sanuj | lisitsyn, okay so shall i remove any in SGBase.i? | 10:50 |
lisitsyn | yeah yeah | 10:50 |
lisitsyn | just remove it | 10:50 |
sanuj | cool | 10:50 |
sanuj | lisitsyn, we need to solve template issue in swig | 10:51 |
lisitsyn | sanuj: yes and a few more things | 10:51 |
sanuj | lisitsyn, an example using swig interface https://gist.github.com/sanuj/e24d003b5af990fee1b772129ace75fa | 10:51 |
sanuj | lisitsyn, we are really lagging behind our timeline | 10:52 |
lisitsyn | sanuj: yeah no worries | 10:52 |
lisitsyn | it is rather underestimation | 10:52 |
lisitsyn | than underperformance :) | 10:52 |
sanuj | okay :D | 10:52 |
sanuj | lisitsyn, you were going to send me a mail for what else is needed before we merge tags | 10:53 |
lisitsyn | mehh yeah I am out of schedule as well | 10:54 |
lisitsyn | ok actually there is a thing you can try to implement now | 10:54 |
sanuj | okay :) | 10:54 |
sanuj | tell me | 10:54 |
lisitsyn | have you seen class_list.cpp? | 10:54 |
sanuj | yes | 10:54 |
sanuj | that huge thing | 10:55 |
lisitsyn | sanuj: basically it stores string -> object ctor | 10:56 |
lisitsyn | mapping | 10:56 |
sanuj | okay | 10:56 |
-!- besser82 [~besser82@fedora/besser82] has joined #shogun | 10:57 | |
-!- mode/#shogun [+o besser82] by ChanServ | 10:57 | |
lisitsyn | sanuj: it enables us to do similar thing as we did with setSomething | 10:57 |
lisitsyn | newKernel, newFeatures, blabla | 10:58 |
sanuj | okay | 10:58 |
lisitsyn | you can implement it on top of new_sgserializable quite easily | 10:58 |
sanuj | why do we need it though | 10:58 |
sanuj | new_sgserializable? | 10:59 |
lisitsyn | sanuj: this is how our plugins interface would look like | 10:59 |
lisitsyn | https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/base/class_list.cpp.templ#L39 | 10:59 |
-!- Saurabh7 [~Saurabh7@1.39.12.41] has quit [Ping timeout: 272 seconds] | 11:00 | |
lisitsyn | sanuj: as for tags PR | 11:00 |
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 11:02 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 11:02 | |
sanuj | lisitsyn, what is this exactly | 11:03 |
lisitsyn | I have to check what's missing | 11:03 |
lisitsyn | probably we miss some examples | 11:03 |
sanuj | how is new_sgserializable related to plugins/tags | 11:03 |
lisitsyn | sanuj: well that's the thing to be replaced, we can start with implementing some interface to create instances by their name | 11:04 |
lisitsyn | this would let us to start working on plugins under the hood | 11:05 |
lisitsyn | without any change in interface | 11:05 |
sanuj | oh so this is for plugins | 11:05 |
sanuj | and not tags | 11:05 |
lisitsyn | yeah it is rather plugins than tags | 11:05 |
sanuj | lisitsyn, but i don't understand what changes do i have to make in cpp_list | 11:06 |
sanuj | class_list* | 11:06 |
sanuj | and class_list on my local is huge | 11:07 |
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Ping timeout: 260 seconds] | 11:07 | |
lisitsyn | sanuj: you don't have to change class_list.cpp | 11:08 |
lisitsyn | but its template | 11:08 |
sanuj | okay | 11:09 |
lisitsyn | sanuj: we need methods like createKernel("name") | 11:09 |
lisitsyn | create* for all base classes | 11:09 |
sanuj | ohkay | 11:09 |
lisitsyn | I think template + swig renames are way to go | 11:09 |
sanuj | lisitsyn, so createKernel("gaussian") returns an instance of GaussianKernel | 11:10 |
sanuj | ? | 11:10 |
-!- [Chris] [~Chris]@deadtime.informatik.uni-tuebingen.de] has joined #shogun | 11:11 | |
lisitsyn | no | 11:12 |
lisitsyn | CKernel* | 11:12 |
-!- Saurabh7 [~Saurabh7@59.95.6.201] has joined #shogun | 11:12 | |
sanuj | okay | 11:12 |
sanuj | lisitsyn, how methods like createKernel("name") related to plugin architecture? | 11:13 |
lisitsyn | sanuj: in plugins we have to stick to strings | 11:14 |
sanuj | lisitsyn, only string parameters? | 11:14 |
lisitsyn | we won't have classes like GaussianKernel visible once we convert to plugins | 11:14 |
lisitsyn | we can only retrieve some CKernel that is named gaussian | 11:14 |
sanuj | i see | 11:15 |
lisitsyn | sanuj: so once you call | 11:15 |
lisitsyn | createKernel("gaussian") | 11:15 |
lisitsyn | it checks whether there is such plugin | 11:16 |
lisitsyn | loads it if needed | 11:16 |
lisitsyn | and then calls corresponding stuff in the plugin to create this kernel for you | 11:16 |
[Chris] | Hi, is it possible to use random forests with BinaryLabels ? I get the following error when calling rand_forests.train(train_feats): src/shogun/multiclass/tree/CARTree.cpp line 77: label type supplied is not supported | 11:16 |
lisitsyn | [Chris]: probably no but why do you want to? | 11:16 |
sanuj | lisitsyn, so createKernel is in base shogun | 11:17 |
sanuj | and plugin is for gaussian kernel? | 11:17 |
lisitsyn | sanuj: yes | 11:17 |
sanuj | i see | 11:18 |
sanuj | lisitsyn, we are going to enable functions like createKernel via changes in class_list? | 11:19 |
lisitsyn | sanuj: I think you'd need template <class T> T* create(string) | 11:19 |
lisitsyn | and then rename them just like you did with set get | 11:19 |
sanuj | lisitsyn, so only the renaming part will happen in class_list | 11:21 |
sanuj | where to put "template <class T> T* create(string)"? | 11:21 |
lisitsyn | sanuj: class_list.cpp.templ would work I think | 11:22 |
sanuj | so all the base methods in plugin arch will go in class_list.cpp.templ | 11:23 |
sanuj | lisitsyn, are you away? | 11:24 |
sanuj | :P | 11:24 |
-!- Saurabh7 [~Saurabh7@59.95.6.201] has quit [Ping timeout: 246 seconds] | 11:24 | |
sanuj | even i need to have lunch | 11:26 |
sanuj | talk to you later | 11:26 |
[Chris] | lisitsyn because I have binary labels ;) | 11:29 |
-!- sanuj [~sanuj@61.0.30.117] has quit [Ping timeout: 272 seconds] | 11:31 | |
-!- Saurabh7 [~Saurabh7@59.95.7.7] has joined #shogun | 11:37 | |
-!- Saurabh7 [~Saurabh7@59.95.7.7] has quit [Quit: Leaving] | 11:47 | |
-!- Saurabh7 [~Saurabh7@1.39.12.41] has joined #shogun | 11:48 | |
-!- vortex_ape [~vortex_ap@180.151.74.34] has joined #shogun | 12:02 | |
-!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has joined #shogun | 12:59 | |
-!- mode/#shogun [+o lambday] by ChanServ | 12:59 | |
[Chris] | I have another question regarding combined kernels and cross validation. Anyone here who could help me or should I rather use the mailing list ? | 13:45 |
-!- sanuj [~sanuj@117.203.20.56] has joined #shogun | 13:52 | |
sanuj | lisitsyn, there? | 13:53 |
Saurabh7 | aaargh AttributeError: 'dict' object has no attribute 'iteritems' | 14:01 |
@wiking | argh | 15:08 |
lisitsyn | sanuj: whats up | 15:09 |
sanuj | wiking, did you receive my monday report? | 15:09 |
sanuj | lisitsyn, so you were saying .... | 15:09 |
@wiking | mmm lemme check | 15:17 |
@wiking | sorry today is slow for me | 15:17 |
sanuj | no, i just wanted to confirm | 15:18 |
sanuj | because i don't see it on gmane | 15:18 |
@wiking | Saurabh7 OXPHOS arianepaola weekly updates plz | 15:18 |
@wiking | sanuj: it's in my box | 15:18 |
@wiking | so it's cool thxn | 15:18 |
sanuj | okay :D | 15:18 |
-!- vortex_ape [~vortex_ap@180.151.74.34] has quit [Quit: Leaving] | 15:31 | |
sanuj | vortex_ape :O | 15:36 |
Saurabh7 | :D | 15:40 |
Saurabh7 | wiking, hey | 15:41 |
@wiking | ho | 15:44 |
Saurabh7 | wiking, I have updated most intensive routines of cart | 15:45 |
Saurabh7 | so its pretty compettive now | 15:46 |
Saurabh7 | but cant find anything else I can change performance wise | 15:46 |
Saurabh7 | wiking, any ideas what else should be touched there in general | 15:47 |
@wiking | lemme see | 15:49 |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has joined #shogun | 16:15 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:15 | |
-!- shogun-notifier- [~irker@7nn.de] has joined #shogun | 16:17 | |
shogun-notifier- | shogun: Saurabh7 :develop * b0c279b / examples/meta/generator/translate.py: https://github.com/shogun-toolbox/shogun/commit/b0c279b3796b1e87d12495c9ba04ef438d2ec758 | 16:17 |
shogun-notifier- | shogun: fix dict iter for python3 | 16:17 |
shogun-notifier- | shogun: Heiko Strathmann :develop * 2230399 / examples/meta/generator/translate.py: https://github.com/shogun-toolbox/shogun/commit/2230399b10aa5dbf59d8f490ad6177b97d87d62b | 16:17 |
shogun-notifier- | shogun: Merge pull request #3302 from Saurabh7/genfix | 16:17 |
shogun-notifier- | shogun: | 16:17 |
shogun-notifier- | shogun: fix meta generator for python3 | 16:18 |
shogun-buildbot | build #732 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/732 blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Saurabh7 <saurabh.mahindre@gmail.com> | 16:18 |
-!- sanuj [~sanuj@117.203.20.56] has quit [Ping timeout: 252 seconds] | 16:19 | |
shogun-notifier- | shogun-data: OXPHOS :master * ab9ae9d / testsuite/meta/classifier/shareboost.dat: https://github.com/shogun-toolbox/shogun-data/commit/ab9ae9d44e2a4b1cf77221b4383dd8e19f5c07fe | 16:26 |
shogun-notifier- | shogun-data: shareboost dataset | 16:26 |
shogun-notifier- | shogun-data: Heiko Strathmann :master * f098a14 / testsuite/meta/classifier/shareboost.dat: https://github.com/shogun-toolbox/shogun-data/commit/f098a144194b74ccb925bd0408750a3bfc538c58 | 16:26 |
shogun-notifier- | shogun-data: Merge pull request #103 from OXPHOS/master | 16:26 |
shogun-notifier- | shogun-data: | 16:26 |
shogun-notifier- | shogun-data: shareboost integration dataset | 16:26 |
Saurabh7 | HeikoS, hi | 16:34 |
@HeikoS | Saurabh7: hi there= | 16:34 |
@HeikoS | Saurabh7: how are things? | 16:34 |
@HeikoS | just going through patches here | 16:34 |
Saurabh7 | HeikoS, us finished ixing things for cart regression | 16:34 |
Saurabh7 | so that shld be working now | 16:35 |
Saurabh7 | wokring to make those changes work for randomCART | 16:35 |
Saurabh7 | so that it will reflect in random forest performance | 16:35 |
@HeikoS | ah yeah | 16:35 |
@HeikoS | Saurabh7: you compared a bit against sklearn implementation? | 16:35 |
@HeikoS | any big differences? | 16:35 |
Saurabh7 | for random forest ? | 16:36 |
@HeikoS | both | 16:36 |
Saurabh7 | not yet need to make this radnomcart work | 16:36 |
@HeikoS | ok | 16:36 |
@HeikoS | how are we doing timewise? | 16:36 |
Saurabh7 | cart performance is same now | 16:36 |
@HeikoS | ah cool | 16:36 |
@HeikoS | that is very good | 16:36 |
Saurabh7 | I shared it | 16:36 |
@HeikoS | we should be faster | 16:36 |
@HeikoS | I know, hard to remoember all the times. | 16:36 |
@HeikoS | :) | 16:37 |
Saurabh7 | okie :) | 16:37 |
Saurabh7 | I wil finish this randomcart then compare random forest | 16:37 |
@HeikoS | Saurabh7: I think in RF, Shogun should be quite a bit faster than python | 16:37 |
@HeikoS | since not so much linear algebra operations | 16:37 |
Saurabh7 | its need refactoring tho | 16:37 |
@HeikoS | but different | 16:37 |
Saurabh7 | almost 300 line code is same from cart | 16:37 |
@HeikoS | ok cool | 16:38 |
@HeikoS | Saurabh7: shall we have different patches for the different files? | 16:38 |
@HeikoS | then I can already merge some parts | 16:38 |
@HeikoS | easier to review | 16:38 |
Saurabh7 | HeikoS, ok sure | 16:39 |
@HeikoS | Saurabh7: is our RF multithreaded yet? | 16:41 |
Saurabh7 | HeikoS, no | 16:41 |
@HeikoS | Saurabh7: ok, that will be a good thing to do :) | 16:41 |
@HeikoS | but later | 16:41 |
Saurabh7 | subsets are heavliy used in here too | 16:42 |
@HeikoS | yeah | 16:42 |
@HeikoS | Saurabh7: I think once you have done the first set of changes | 16:42 |
@HeikoS | we can do the read only features | 16:42 |
@HeikoS | with subsets | 16:42 |
Saurabh7 | so they need to be absoulety thread safe | 16:42 |
@HeikoS | yep | 16:42 |
@HeikoS | but are they read only? | 16:42 |
@HeikoS | or are they written? | 16:42 |
Saurabh7 | used on labels too | 16:42 |
@HeikoS | yep | 16:42 |
Saurabh7 | its read only | 16:43 |
@HeikoS | once we change all this to read only | 16:43 |
@HeikoS | we can also update the xvalidation | 16:43 |
Saurabh7 | ok | 16:44 |
Saurabh7 | i will try to finish this random cart, somethings fishy here | 16:46 |
Saurabh7 | samples are picked randomly but labels used are same:D | 16:46 |
Saurabh7 | need to double check | 16:47 |
@HeikoS | hehe | 16:48 |
@HeikoS | that is fishy indeed :I | 16:48 |
@HeikoS | ok cool, let me know if you need help | 16:48 |
@HeikoS | I will be out of country from Wednesday btw | 16:48 |
@HeikoS | I will take my laptop with me | 16:48 |
@HeikoS | but irc is limited | 16:48 |
@HeikoS | back monday | 16:48 |
@HeikoS | so email is better from mid week | 16:48 |
Saurabh7 | okie , let u know | 16:52 |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has quit [Ping timeout: 260 seconds] | 16:56 | |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has joined #shogun | 17:07 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:07 | |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has joined #shogun | 17:25 | |
c4goldsw | Earth to wiking | 17:25 |
arianepaola | hello everyone | 17:28 |
c4goldsw | arianepaola hello | 17:28 |
arianepaola | hi c4goldsw | 17:28 |
c4goldsw | HeikoS ping | 17:29 |
-!- sanuj [~sanuj@117.203.20.56] has joined #shogun | 17:37 | |
sanuj | lisitsyn, hey | 17:39 |
c4goldsw | HeikoS wiking never mind. | 17:45 |
@HeikoS | hi | 17:47 |
Saurabh7 | HeikoS, ok I have done quick changes for RandomCart too, will do a benchmark for RF next | 17:47 |
sanuj | HeikoS, about %newobject | 17:48 |
c4goldsw | and hello | 17:48 |
sanuj | it works and is needed | 17:48 |
sanuj | but not sure about memleaks | 17:48 |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has quit [Remote host closed the connection] | 17:48 | |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has joined #shogun | 17:48 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:49 | |
@wiking | HeikoS: gs | 17:49 |
@HeikoS | wiking: trying to joing | 17:49 |
@HeikoS | but I get no such channel | 17:50 |
@HeikoS | can you invite me | 17:50 |
@wiking | lisitsyn: ###################### | 17:50 |
@HeikoS | haha :) | 17:50 |
@wiking | lisitsyn: ####################################################################### | 17:50 |
@wiking | lisitsyn: <====================================3 | 17:50 |
@wiking | :D | 17:50 |
@HeikoS | :D | 17:50 |
lisitsyn | wiking: ohoho | 17:51 |
sanuj | what is happening people :P | 17:52 |
sanuj | lisitsyn, do you mind if this gets merged? https://github.com/shogun-toolbox/shogun/pull/3283 | 17:53 |
@HeikoS | sanuj: nothing, wiking fell aspeep on his keyboard | 17:55 |
sanuj | oh | 17:56 |
sanuj | HeikoS, you saw the tags example? | 17:56 |
@HeikoS | sanuj: I checked, but not in detail yet. I am currently reading PRs | 17:56 |
sanuj | cool | 17:57 |
sanuj | tell me when you are done | 17:57 |
@HeikoS | you are going to bed soon right? | 18:00 |
@HeikoS | so I can also start with yours? | 18:00 |
sanuj | 2 hours later :) | 18:04 |
sanuj | HeikoS, if you see my tags PR https://github.com/shogun-toolbox/shogun/pull/3221/files#diff-c00c61d20a25af58c1bcc8e3cbfd9c35R611 | 18:04 |
sanuj | the commented lines are for template classes | 18:05 |
sanuj | they won't work like other abstract classes | 18:05 |
sanuj | lisitsyn, you want to discuss about it? ^^^ | 18:06 |
@HeikoS | sanuj: so help me what does SG_INSTA do? | 18:07 |
sanuj | HeikoS, it's define just above it | 18:08 |
-!- Saurabh7 [~Saurabh7@1.39.12.41] has quit [Ping timeout: 252 seconds] | 18:08 | |
sanuj | it does %template for tag functions | 18:08 |
@HeikoS | sanuj: can you share a use case? | 18:08 |
lisitsyn | well I am not sure what INSTA means :D | 18:08 |
sanuj | INSTA = instantiate :D | 18:09 |
sanuj | i can change it if you suggest a better name | 18:09 |
sanuj | HeikoS, %template(TagKernel) Tag<CKernel*>; | 18:09 |
@HeikoS | sanuj: how does a python call look like? | 18:10 |
sanuj | HeikoS, https://gist.github.com/sanuj/e24d003b5af990fee1b772129ace75fa | 18:10 |
@HeikoS | sanuj: sg.LinearKernel() | 18:11 |
@HeikoS | like this | 18:11 |
@HeikoS | so these sg.Classname() instantiates | 18:11 |
@HeikoS | corresponds to the SG_INSTA? | 18:11 |
sanuj | HeikoS, for Tag___ | 18:12 |
sanuj | rest are functions for sgobject | 18:12 |
sanuj | ck = sg.CombinedKernel | 18:13 |
sanuj | ck.setInt("num_kernels", 3) | 18:13 |
@HeikoS | ok | 18:13 |
sanuj | ck.setKernel("gaussian", gauss_kernel) | 18:13 |
sanuj | similarly for get___, has | 18:13 |
@HeikoS | ok | 18:14 |
sanuj | HeikoS, it needs to be done since these are template functions | 18:14 |
@HeikoS | sanuj: so why are all these classes in there? | 18:14 |
sanuj | HeikoS, these are abstract classes in shogun | 18:14 |
@HeikoS | sanuj: does just every shogun class need this insta_sg thing? | 18:14 |
@HeikoS | I see | 18:14 |
sanuj | HeikoS, no, only the classes in base-shogun | 18:14 |
sanuj | HeikoS, for eg: setKernel() can work for any type of CKernel ==> GaussianKernel, PolyKernel, LinearKernel etc | 18:15 |
@HeikoS | yeah I see | 18:15 |
c4goldsw | wiking hello | 18:16 |
sanuj | HeikoS, but the problem is that some of these abstract classes are templates | 18:16 |
@HeikoS | sure | 18:16 |
@HeikoS | and these are commented out | 18:17 |
@HeikoS | I am not sure I like this PR | 18:17 |
@HeikoS | it is too big | 18:17 |
sanuj | yeah | 18:17 |
sanuj | there are multiple comments | 18:17 |
sanuj | commits* | 18:17 |
@HeikoS | and why not make these SWIG changes for like one case first | 18:17 |
@HeikoS | and then if it works, can extend | 18:17 |
sanuj | HeikoS, it works, i have tested | 18:17 |
sanuj | only for python though | 18:17 |
sanuj | HeikoS, the example in the gist works | 18:18 |
@HeikoS | cool | 18:18 |
@HeikoS | sanuj: thats pretty cool | 18:18 |
sanuj | lisitsyn, what did you want to discuss with HeikoS ? | 18:18 |
sanuj | HeikoS, i think we need to sort out this template issue | 18:19 |
@HeikoS | sanuj: yeah | 18:19 |
@HeikoS | so Ill wait for lisitsyn to get back to me? | 18:19 |
@HeikoS | For the PR, I would cut it a bit into pieces | 18:19 |
@HeikoS | and see what we can merge already | 18:19 |
@HeikoS | into a feature branch | 18:19 |
sanuj | i think one way is to just instantiate templates for every type | 18:19 |
sanuj | okay | 18:19 |
sanuj | i can keep the swig thing on a different branch | 18:19 |
sanuj | actually it was on a different branch before | 18:20 |
@HeikoS | no what I mean is | 18:20 |
@HeikoS | that we should discuss the swig changes in a swig PR | 18:20 |
sanuj | HeikoS, that can only be done once tags get merged in a feature branch | 18:21 |
@HeikoS | I know | 18:21 |
@HeikoS | we should do that soon then | 18:21 |
sanuj | okay | 18:21 |
@HeikoS | sanuj: maybe clean up the PR and aim for that? | 18:21 |
@HeikoS | and I will try to get my hands on lisitsyn | 18:22 |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 18:26 | |
sanuj | HeikoS, cool, i just need to write more unit-tests | 18:29 |
-!- Saurabh7 [~Saurabh7@59.88.89.60] has joined #shogun | 18:44 | |
-!- Saurabh7 [~Saurabh7@59.88.89.60] has quit [Quit: Leaving] | 18:56 | |
-!- sanuj [~sanuj@117.203.20.56] has quit [Quit: Leaving] | 19:22 | |
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout] | 19:26 | |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has joined #shogun | 20:01 | |
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 244 seconds] | 20:02 | |
c4goldsw | wiking Hey, you around? | 20:06 |
@HeikoS | c4goldsw: jo | 20:06 |
@HeikoS | wiking went to bed | 20:06 |
@HeikoS | late night | 20:06 |
@HeikoS | what were you up an about? | 20:07 |
c4goldsw | I'm making good progress, just looking for a little more direction now | 20:07 |
@HeikoS | ok | 20:07 |
@HeikoS | like? | 20:07 |
c4goldsw | Wait, what do you mean by that question? It's a little confusing ;) | 20:07 |
@HeikoS | you said you need direction, what direction? | 20:08 |
c4goldsw | On templating LARS. | 20:08 |
c4goldsw | Hold on, typing. | 20:08 |
c4goldsw | I've ran into the problem now that there are external classes that only use float64_t, so I can only continue if I modify these external classes. | 20:08 |
c4goldsw | Namely, LARs' super class CLinearMachine and CRegressionLabels | 20:09 |
c4goldsw | Last week, it seemed as if you didn't want me to do this but I don't think there's another way to make it work without modifying them. | 20:10 |
c4goldsw | Also, I'd prefer not having to template CLinearMachine since it could have child classes which would also have to be templated. | 20:11 |
c4goldsw | Let me link the specific lines that are issues within LARS | 20:12 |
c4goldsw | HeikoS take this for instace: https://github.com/shogun-toolbox/shogun/blob/3618469f489698e6ac15d6e3a6938d3210be7b80/src/shogun/regression/LeastAngleRegression.h#L130 | 20:15 |
c4goldsw | w is located inside of CLinearMachine (hold on a second) | 20:15 |
c4goldsw | https://github.com/shogun-toolbox/shogun/blob/3618469f489698e6ac15d6e3a6938d3210be7b80/src/shogun/machine/LinearMachine.h#L190 | 20:16 |
c4goldsw | And is float64 | 20:16 |
c4goldsw | So, what would you recommend doing about this? | 20:17 |
@HeikoS | ok finished tpying? | 20:17 |
@HeikoS | let me check :) | 20:17 |
c4goldsw | Yes haha | 20:17 |
@HeikoS | so you want to make LARS a template? | 20:20 |
@HeikoS | then w needs to be of type T | 20:20 |
@HeikoS | c4goldsw: is that what you are asking? | 20:20 |
c4goldsw | Not quite | 20:21 |
c4goldsw | Just to be clear: didn't you want me to template LARs? | 20:21 |
@HeikoS | c4goldsw: yeah that was the idea | 20:21 |
c4goldsw | Good. | 20:21 |
@HeikoS | so that it works with general features | 20:21 |
@HeikoS | CDenseFeatures<T> | 20:21 |
@HeikoS | i.e. | 20:21 |
@HeikoS | switch to float32 should be possible | 20:22 |
c4goldsw | I've gotten that eigenmap thing working by the way. Now, if I'm going to do that, I'll also have to template CLinearMachine and any of it's subclasses. Can I do that? | 20:22 |
c4goldsw | if I'm going to template LARS*, ... | 20:22 |
c4goldsw | I'm sort of asking for permission because it seems as if you want PR sizes to be small, that's all. | 20:22 |
@HeikoS | ok soo | 20:23 |
@HeikoS | if w should be T, then yes you have to template these classes | 20:23 |
@HeikoS | BUT | 20:23 |
@HeikoS | you can also imagine | 20:23 |
@HeikoS | that w stays float64_t | 20:23 |
@HeikoS | but the LARS *implementation* uses CDenseFeatures<T> | 20:23 |
@HeikoS | and then copies the results into the float64_t w at the end | 20:24 |
@HeikoS | because it is more about the data passed to the machine | 20:24 |
@HeikoS | rather than the internals of the machine | 20:24 |
c4goldsw | So can I just cast anything into float64_t at the very end? | 20:24 |
c4goldsw | Or rather | 20:25 |
c4goldsw | I don't even have to do that, do I. | 20:25 |
@HeikoS | yeah it is more about input data being templated | 20:25 |
@HeikoS | I mean we *can* template Linear machine | 20:26 |
@HeikoS | but it is just a vector | 20:26 |
@HeikoS | so not so sure | 20:26 |
c4goldsw | What does w do anyway? | 20:26 |
@HeikoS | about the relevance of that | 20:26 |
@HeikoS | c4goldsw: it represents the model | 20:26 |
@HeikoS | better read up on that if you touch it ;) | 20:26 |
@HeikoS | linear regression | 20:26 |
c4goldsw | like a set of weights? | 20:26 |
@HeikoS | yes | 20:27 |
@HeikoS | x^T w | 20:27 |
@HeikoS | +b | 20:27 |
@HeikoS | =y | 20:27 |
c4goldsw | OHHHHHHHHH | 20:27 |
c4goldsw | lol | 20:27 |
c4goldsw | okay | 20:27 |
c4goldsw | :) | 20:27 |
@HeikoS | haha ;) | 20:27 |
c4goldsw | I'm laughing at myself right now | 20:27 |
c4goldsw | Alright, I think I can make due with this for now. | 20:27 |
c4goldsw | Another question though HeikoS | 20:28 |
@HeikoS | c4goldsw: do that in a first step | 20:28 |
@HeikoS | and then we can discuss with viktor | 20:28 |
c4goldsw | Sure. | 20:28 |
c4goldsw | Actually, I'll try to answer my question myself. Thanks for the help HeikoS | 20:29 |
@HeikoS | c4goldsw: no shoot | 20:29 |
c4goldsw | what is / are CRegressionLabels and why do the have a type? | 20:30 |
c4goldsw | do they* | 20:30 |
c4goldsw | Is it the kind of labels you assign to classes or what? | 20:30 |
@HeikoS | c4goldsw: they are an instance of labels where the labels vector is float64_t | 20:30 |
@HeikoS | and they offer an interface for that | 20:30 |
@HeikoS | CBinaryLabels have a labels vector that is binary | 20:31 |
c4goldsw | (not OOP classes, but categories of things to be classified by a machine) | 20:31 |
@HeikoS | it is the distinction between classification and regression | 20:32 |
@HeikoS | is that an answer? | 20:33 |
c4goldsw | No :) | 20:33 |
@HeikoS | haha | 20:33 |
c4goldsw | Wikipedia article? | 20:33 |
@HeikoS | ok so check the interface of them | 20:33 |
@HeikoS | nono | 20:33 |
@HeikoS | this is just implementation | 20:33 |
c4goldsw | Ah, ok | 20:33 |
@HeikoS | doesnt have to do with math | 20:33 |
@HeikoS | in classification y is in {-1,1} | 20:33 |
@HeikoS | in multiclass y is in {0,1,2,3, ...} | 20:34 |
@HeikoS | in regression, y is in R | 20:34 |
@HeikoS | and the labels just give an interface to access labels for that | 20:34 |
@HeikoS | the different specializations of CLabels I mean | 20:34 |
c4goldsw | Alright, that kind of makes sense. I'll dwell on it. | 20:35 |
@HeikoS | let me know if it still doesnt make sense tomorrow | 20:35 |
c4goldsw | Will do | 20:35 |
c4goldsw | And thanks | 20:36 |
@HeikoS | cool! | 20:36 |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 20:37 | |
-!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has quit [Ping timeout: 250 seconds] | 20:44 | |
-!- HeikoS [~heiko@nat-219-54.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.] | 20:45 | |
-!- sonne|osx [~sonne@x4db412db.dyn.telefonica.de] has joined #shogun | 20:56 | |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has joined #shogun | 21:03 | |
-!- c4goldsw [5da420e6@gateway/web/cgi-irc/kiwiirc.com/ip.93.164.32.230] has quit [Client Quit] | 21:04 | |
-!- sonne|osx [~sonne@x4db412db.dyn.telefonica.de] has quit [Quit: sonne|osx] | 22:36 | |
--- Log closed Tue Jun 21 00:00:49 2016 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!