--- Log opened Wed Feb 18 00:00:22 2015 | ||
--- Day changed Wed Feb 18 2015 | ||
shogun-buildbot | build #230 of osx2 - modular_interfaces is complete: Failure [failed csharp modular] Build details are at http://buildbot.shogun-toolbox.org/builders/osx2%20-%20modular_interfaces/builds/230 blamelist: sanuj <sanuj.sharma.in@gmail.com> | 00:00 |
---|---|---|
shogun-buildbot | build #231 of osx2 - modular_interfaces is complete: Failure [failed csharp modular] Build details are at http://buildbot.shogun-toolbox.org/builders/osx2%20-%20modular_interfaces/builds/231 blamelist: Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 00:08 |
-!- sonne|osx [~sonne@f052088232.adsl.alicedsl.de] has joined #shogun | 00:46 | |
-!- PirosB3 [~pirosb3@host72-217-dynamic.42-79-r.retail.telecomitalia.it] has quit [Quit: PirosB3] | 01:44 | |
-!- sonne|osx [~sonne@f052088232.adsl.alicedsl.de] has quit [Quit: sonne|osx] | 02:16 | |
-!- shogun-notifier- [~irker@7nn.de] has quit [Quit: transmission timeout] | 02:20 | |
shogun-buildbot | build #536 of debian wheezy - memcheck is complete: Failure [failed memory check] Build details are at http://buildbot.shogun-toolbox.org/builders/debian%20wheezy%20-%20memcheck/builds/536 blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 02:52 |
shogun-buildbot | build #849 of nightly_none is complete: Failure [failed compile] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_none/builds/849 blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 03:01 |
-!- nirantk [73f91219@gateway/web/freenode/ip.115.249.18.25] has joined #shogun | 05:18 | |
shogun-buildbot | build #967 of nightly_default is complete: Failure [failed notebooks] Build details are at http://buildbot.shogun-toolbox.org/builders/nightly_default/builds/967 blamelist: sanuj <sanuj.sharma.in@gmail.com>, Sergey Lisitsyn <lisitsyn.s.o@gmail.com> | 06:13 |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has joined #shogun | 06:19 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has quit [Quit: sonne|osx] | 06:42 | |
-!- lambday [c40f1066@gateway/web/freenode/ip.196.15.16.102] has joined #shogun | 06:54 | |
-!- mode/#shogun [+o lambday] by ChanServ | 06:54 | |
-!- exploreshaifali [~shaifali@182.70.190.52] has joined #shogun | 07:18 | |
-!- exploreshaifali [~shaifali@182.70.190.52] has quit [Quit: Leaving] | 07:24 | |
-!- exploreshaifali [~shaifali@182.70.190.52] has joined #shogun | 07:25 | |
-!- exploreshaifali [~shaifali@182.70.190.52] has quit [Quit: Leaving] | 07:34 | |
-!- SWAGGRegation [~besser82@fedora/besser82] has joined #shogun | 07:37 | |
-!- mode/#shogun [+o SWAGGRegation] by ChanServ | 07:37 | |
-!- SWAGGRegation [~besser82@fedora/besser82] has quit [Remote host closed the connection] | 07:55 | |
-!- kshitijk [~kshitijk@115.249.18.25] has joined #shogun | 08:07 | |
-!- exploreshaifali [~shaifali@182.70.193.143] has joined #shogun | 08:19 | |
-!- PirosB3 [~pirosb3@host72-217-dynamic.42-79-r.retail.telecomitalia.it] has joined #shogun | 09:24 | |
-!- PirosB3 [~pirosb3@host72-217-dynamic.42-79-r.retail.telecomitalia.it] has quit [Quit: PirosB3] | 09:32 | |
@lambday | rock_curve: hola | 09:39 |
@rock_curve | lambday: hey | 09:40 |
@lambday | rock_curve: did you register as a mentor already? | 09:40 |
@rock_curve | lambday: no only as admin | 09:40 |
@lambday | rock_curve: do I have to register here? https://www.google-melange.com/gsoc/profile/register/org_member/google/gsoc2015 | 09:40 |
@rock_curve | I think so | 09:41 |
@lambday | rock_curve: mentors also get tshirts? | 09:41 |
@lambday | cool | 09:41 |
@rock_curve | lambday: yes except some countries | 09:41 |
@rock_curve | argentina, brazil, russia etc | 09:41 |
@rock_curve | india works | 09:42 |
@lambday | russia!! | 09:42 |
@lambday | rock_curve: for students as well? | 09:42 |
@rock_curve | lambday: yeah no t-shirts since 2012 | 09:42 |
@rock_curve | :D | 09:42 |
@rock_curve | rock_curve: my t-shirts are delivered to sonney2k | 09:43 |
@rock_curve | lambday: ^ | 09:43 |
@lambday | rock_curve: haha awesome! :D | 09:43 |
@lambday | rock_curve: btw heiko and viktor discussed regarding the parallel engine idea over mail - viktor suggested that having mesos will solve it all | 09:43 |
@rock_curve | some day I will be in berlin again I think | 09:43 |
@rock_curve | lambday: yes mesos will solve everything | 09:43 |
@lambday | rock_curve: you will be as in? visiting or staying? | 09:44 |
@rock_curve | lambday: no just visiting :D | 09:45 |
@lambday | rock_curve: hah | 09:45 |
@lambday | rock_curve: did you think anything about PhD? | 09:45 |
@rock_curve | lambday: well | 09:46 |
@rock_curve | don't know | 09:46 |
@rock_curve | :D | 09:46 |
@rock_curve | lambday: I had crazy thoughts on philosophy phd | 09:47 |
@lambday | rock_curve: lol don't worry you're fit for that too :D | 09:47 |
@rock_curve | lambday: I am interested in aesthetics | 09:48 |
@lambday | beauty man :D | 09:48 |
@lambday | be a fashion show judge - will totally pay off for the knack :D | 09:48 |
@rock_curve | lambday: yeah I am curious what is beauty | 09:48 |
@rock_curve | haha no that's cool but different thing | 09:49 |
@lambday | rock_curve: can't deny the "beauty" part of that though :P | 09:49 |
@rock_curve | lambday: I mean I am really curious why, say, pollock paintings are so cool | 09:49 |
@rock_curve | I find these questions more interesting than gaussian latent megamodel | 09:49 |
@rock_curve | :D | 09:49 |
@lambday | rock_curve: you mean to say which chemicals in our brain produces the "feel good about that" feeling? :D | 09:50 |
@rock_curve | lambday: ohh that's very materialistic! | 09:51 |
@lambday | rock_curve: haha! well, that's the science of it :D | 09:51 |
@rock_curve | lambday: yes but you can't decide anything on that level | 09:52 |
@lambday | dopamine I guess | 09:52 |
@rock_curve | lambday: it's like researching car by its atoms | 09:52 |
@rock_curve | on such level of detail you ain't gonna understand process | 09:52 |
@lambday | rock_curve: now you talk like a philosophy major :D | 09:53 |
@rock_curve | lambday: ok then tell me why dopamine is produced in any other educated brain that see a picture | 09:53 |
@rock_curve | on neural level they are completely different | 09:53 |
@rock_curve | no common configuration on low level | 09:54 |
@rock_curve | but that works on high level | 09:54 |
@rock_curve | that's what I mean :) | 09:54 |
@lambday | rock_curve: lol I see your point | 09:55 |
@lambday | rock_curve: I don't think beauty can **have** a common config | 09:56 |
@lambday | what is beautiful to me may seem totally shitty to you | 09:56 |
@lambday | imagine a jazz lover listening to 50cent | 09:56 |
@rock_curve | lambday: well that's a question | 09:56 |
@rock_curve | there are things everybody loves | 09:56 |
@rock_curve | but most are different yes | 09:57 |
@rock_curve | lambday: apparently there is something common | 09:58 |
@rock_curve | and that's why it is worth investigating | 09:58 |
@rock_curve | I mean if it was like everyone is really different then it would be described by dopamin | 09:58 |
@rock_curve | or like his neural net is trained to produce happiness on that | 09:58 |
@rock_curve | lambday: the most fascinating thing for me now is ortega y gasset's idea on dehumanization of art | 10:00 |
-!- lambday [c40f1066@gateway/web/freenode/ip.196.15.16.102] has quit [Ping timeout: 246 seconds] | 10:01 | |
-!- lambday [c40f1069@gateway/web/freenode/ip.196.15.16.105] has joined #shogun | 10:04 | |
-!- mode/#shogun [+o lambday] by ChanServ | 10:04 | |
@rock_curve | lambday: lost you | 10:06 |
@rock_curve | :D | 10:06 |
@lambday | rock_curve: lol yeah I came to a meeting :D | 10:06 |
@lambday | rock_curve: will get back on that topic :P | 10:06 |
@rock_curve | lambday: I can give you access to that thing that connects to irc | 10:06 |
@rock_curve | irc bouncer | 10:07 |
@rock_curve | I have an instance on digital ocean that does it for me | 10:07 |
@rock_curve | :D | 10:07 |
@lambday | rock_curve: irc bouncer? for always online irc handle? | 10:09 |
@rock_curve | lambday: yes | 10:09 |
@lambday | rock_curve: yeah that would be really useful :D | 10:13 |
@lambday | rock_curve: so its a remote client which is logged in always | 10:13 |
@lambday | what happens when I actually physically wanna see what's going on there? | 10:13 |
@rock_curve | lambday: when you connect you receive messages that were here while you was offline | 10:14 |
@lambday | rock_curve: cool! | 10:15 |
@rock_curve | lambday: I am connected through this right now | 10:15 |
@lambday | rock_curve: do I have to install something locally as well? | 10:15 |
@rock_curve | lambday: no just use different irc address | 10:15 |
@lambday | rock_curve: guide me o' master | 10:16 |
@rock_curve | lambday: ok I am leaving home now can add account in a few hours | 10:16 |
@lambday | rock_curve: alrighty | 10:16 |
@rock_curve | lambday: bad thing is that I will know your pass ;) | 10:16 |
@lambday | rock_curve: lol I trust you with that :D | 10:16 |
-!- exploreshaifali [~shaifali@182.70.193.143] has quit [Quit: Leaving] | 10:17 | |
-!- kshitijk [~kshitijk@115.249.18.25] has quit [Ping timeout: 245 seconds] | 10:55 | |
-!- exploreshaifali [~shaifali@182.70.229.166] has joined #shogun | 11:03 | |
-!- lambday [c40f1069@gateway/web/freenode/ip.196.15.16.105] has quit [Quit: Page closed] | 11:22 | |
-!- lambday [c40f106a@gateway/web/freenode/ip.196.15.16.106] has joined #shogun | 11:48 | |
-!- mode/#shogun [+o lambday] by ChanServ | 11:49 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has joined #shogun | 11:59 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has quit [Quit: sonne|osx] | 12:07 | |
-!- exploreshaifali [~shaifali@182.70.229.166] has quit [Ping timeout: 240 seconds] | 12:11 | |
-!- exploreshaifali [~shaifali@122.168.81.174] has joined #shogun | 12:25 | |
-!- exploreshaifali [~shaifali@122.168.81.174] has quit [Client Quit] | 12:29 | |
-!- vortex_ape [~vortex_ap@120.59.204.176] has joined #shogun | 12:40 | |
-!- abinashm [uid66179@gateway/web/irccloud.com/x-eqcvaarvagghcyxo] has joined #shogun | 12:48 | |
-!- kshitijk [~kshitijk@115.249.18.25] has joined #shogun | 12:53 | |
-!- rajul [~rajul@node-15vv.pool-101-108.dynamic.totbb.net] has joined #shogun | 12:57 | |
-!- lambday [c40f106a@gateway/web/freenode/ip.196.15.16.106] has quit [Ping timeout: 246 seconds] | 13:06 | |
-!- anishshah_ [uid50585@gateway/web/irccloud.com/x-skszbzaeiltovluw] has joined #shogun | 13:21 | |
-!- nirantk [73f91219@gateway/web/freenode/ip.115.249.18.25] has quit [Ping timeout: 246 seconds] | 13:40 | |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has joined #shogun | 13:45 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 13:45 | |
@rock_curve | HeikoS: ! | 13:46 |
@HeikoS | rock_curve: heja | 13:46 |
@rock_curve | privet | 13:46 |
@HeikoS | ? | 13:47 |
@rock_curve | HeikoS: you gotta learn russian | 13:47 |
@rock_curve | war is near | 13:47 |
@rock_curve | HeikoS: ok so what can we do with the application? | 13:48 |
@HeikoS | what? | 13:48 |
@HeikoS | haha | 13:48 |
@HeikoS | no idea | 13:48 |
@HeikoS | just only turned computer on | 13:48 |
@rock_curve | HeikoS: good | 13:48 |
-!- vortex_ape [~vortex_ap@120.59.204.176] has quit [Ping timeout: 246 seconds] | 13:48 | |
@rock_curve | HeikoS: now lets proceed to the next step | 13:49 |
@rock_curve | ;) | 13:49 |
@HeikoS | which is? :) | 13:49 |
@rock_curve | lets make a gsoc application | 13:49 |
@HeikoS | ah yeah | 13:49 |
@HeikoS | thats for today | 13:49 |
@HeikoS | so | 13:50 |
@HeikoS | Ill register in melange | 13:51 |
@HeikoS | done | 13:52 |
@rock_curve | register wahat? | 13:53 |
@HeikoS | melange account | 13:53 |
@rock_curve | your? | 13:53 |
@HeikoS | yeh | 13:53 |
@HeikoS | HeikoS | 13:53 |
@HeikoS | did someone already register Shogun? | 13:53 |
@rock_curve | yes | 13:53 |
@HeikoS | where can I see that | 13:53 |
@HeikoS | I saw someone did | 13:53 |
@rock_curve | sonne | 13:54 |
@HeikoS | was that you? | 13:54 |
@rock_curve | you sure it is HeikoS? | 13:54 |
@HeikoS | can you add me as mentor? | 13:54 |
@HeikoS | or admin better | 13:54 |
@rock_curve | can't send you this thing | 13:54 |
@HeikoS | yes its HeikoS | 13:55 |
@HeikoS | what thing? | 13:55 |
@rock_curve | "HeikoS" is not a properly-formed identifier. | 13:55 |
@rock_curve | can you change that? | 13:55 |
@HeikoS | ah | 13:55 |
@HeikoS | "heiko" | 13:55 |
@HeikoS | thats my user name | 13:56 |
@rock_curve | man! | 13:56 |
@rock_curve | :D | 13:56 |
@HeikoS | public name is HeikoS | 13:56 |
@rock_curve | done | 13:56 |
@rock_curve | see mail | 13:56 |
@HeikoS | no email yet | 13:56 |
@HeikoS | .... | 13:56 |
@HeikoS | still not | 13:57 |
@rock_curve | HeikoS: hmm try to look into my dashboard | 13:57 |
@rock_curve | probably no email | 13:57 |
@rock_curve | my connections | 13:57 |
@HeikoS | nothing in there :( | 13:57 |
@HeikoS | ah | 13:57 |
@HeikoS | there we go | 13:57 |
@HeikoS | just chagned | 13:57 |
@rock_curve | ok | 13:57 |
@HeikoS | requested role | 13:58 |
@HeikoS | pls do admin | 13:58 |
@HeikoS | want to get emails | 13:58 |
@rock_curve | already | 13:58 |
@HeikoS | ok got it | 13:58 |
@HeikoS | should I iterate over the thing a bit? | 13:58 |
@HeikoS | where did we store last year's proposal? | 13:58 |
@HeikoS | git? | 13:58 |
@rock_curve | HeikoS: it is already filled in | 13:58 |
@rock_curve | HeikoS: go to managed orgs | 13:58 |
@HeikoS | yeah but we want to save the changes for next time | 13:59 |
@rock_curve | and click on shogun | 13:59 |
@rock_curve | hmm | 13:59 |
@rock_curve | yeah we have shogun-publicity | 13:59 |
@HeikoS | so not edit in melange, but rather in git | 13:59 |
@HeikoS | and then changes are stored | 13:59 |
@rock_curve | then use it | 13:59 |
@HeikoS | did you yet change anything? | 13:59 |
@rock_curve | no | 13:59 |
@HeikoS | ok good | 13:59 |
@rock_curve | HeikoS: I'll put logo | 13:59 |
@HeikoS | ok | 13:59 |
@HeikoS | ill iterate a bit over the git documents | 13:59 |
@rock_curve | HeikoS: I don't remember | 14:04 |
@rock_curve | did we go with variational recommendations? | 14:04 |
@rock_curve | HeikoS: we had no student on that, right? | 14:06 |
@HeikoS | yes | 14:07 |
@HeikoS | Wu did | 14:07 |
@HeikoS | the GP stuff | 14:07 |
@rock_curve | hmm | 14:10 |
@rock_curve | HeikoS: ah so we renamed it | 14:11 |
@rock_curve | HeikoS: not about recommendations but variational stuff in general | 14:11 |
@HeikoS | yeah | 14:17 |
@HeikoS | almost done with editing | 14:17 |
@rock_curve | HeikoS: https://github.com/shogun-toolbox/shogun/pull/2677/files | 14:18 |
@rock_curve | this is much simpler | 14:20 |
@rock_curve | :D | 14:20 |
@HeikoS | rock_curve: I pushed an update | 14:41 |
@HeikoS | can you fill that in? | 14:42 |
@HeikoS | change some things here and there | 14:42 |
@HeikoS | put new links, last years GSoC, etc | 14:42 |
@rock_curve | HeikoS: an update to shogun-publicity? | 14:42 |
@HeikoS | yep | 14:42 |
@HeikoS | actually | 14:42 |
@HeikoS | nevermind | 14:42 |
@HeikoS | I can change that | 14:42 |
@rock_curve | ha | 14:42 |
@rock_curve | yeah thanks | 14:42 |
@rock_curve | I don't have it anyway | 14:43 |
@rock_curve | would take time to set up | 14:43 |
@HeikoS | rock_curve: where is this text coming from? | 14:43 |
@HeikoS | Improving shoguns infrastructureIntegration of existing and new machine algorithms. | 14:43 |
@HeikoS | 1 | 14:43 |
@HeikoS | Improving shoguns infrastructureIntegration of existing and new machine algorithms. | 14:43 |
@HeikoS | you know the one that shows up | 14:43 |
@HeikoS | its not in the application | 14:43 |
@rock_curve | don't get it | 14:43 |
@HeikoS | https://www.google-melange.com/gsoc/org/profile/edit/google/gsoc2015/shogun | 14:43 |
@HeikoS | the text that shows up here | 14:43 |
@HeikoS | Profile text | 14:44 |
@rock_curve | HeikoS: don't know | 14:45 |
@HeikoS | you put it didnt you? | 14:45 |
@rock_curve | no! | 14:45 |
@rock_curve | sonney did | 14:45 |
@HeikoS | I see | 14:45 |
-!- abinashm [uid66179@gateway/web/irccloud.com/x-eqcvaarvagghcyxo] has quit [Quit: Connection closed for inactivity] | 14:58 | |
-!- vortex_ape [~vortex_ap@120.59.204.176] has joined #shogun | 15:02 | |
-!- exploreshaifali [~shaifali@182.70.165.128] has joined #shogun | 15:05 | |
@HeikoS | rock_curve: I submitted | 15:08 |
@HeikoS | we have an application | 15:08 |
@HeikoS | please go over it and proof read | 15:08 |
@HeikoS | in particular in the publicity | 15:08 |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has left #shogun [] | 15:08 | |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has joined #shogun | 15:09 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 15:09 | |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has left #shogun [] | 15:09 | |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has joined #shogun | 15:09 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 15:09 | |
@HeikoS | rock_curve: no logo updated | 15:09 |
@rock_curve | sorry | 15:10 |
@rock_curve | HeikoS: just a sec | 15:10 |
@rock_curve | HeikoS: we still don't have any high-res on | 15:10 |
@HeikoS | rock_curve: ok | 15:12 |
@HeikoS | please carefully proof read everything once more | 15:12 |
@rock_curve | HeikoS: ok | 15:12 |
@rock_curve | HeikoS: just a sec, some release is going on here | 15:12 |
@rock_curve | :D | 15:12 |
@HeikoS | also let's add fernando as an additional mentor and make him proofread (and update the publicity) too | 15:12 |
@HeikoS | okok :) | 15:12 |
@HeikoS | But I think we are fine | 15:12 |
@HeikoS | very very strong application | 15:12 |
@rock_curve | HeikoS: yeah no problem I think | 15:12 |
@HeikoS | ok | 15:13 |
@HeikoS | i need a break | 15:13 |
@rock_curve | HeikoS: we didn't fail any student hah | 15:13 |
@HeikoS | nope | 15:14 |
@HeikoS | we did not have to | 15:14 |
@HeikoS | because we do SUCH A GOOD JOB :D | 15:14 |
@rock_curve | HeikoS: yeap | 15:14 |
-!- rock_curve is now known as lisitsyn | 15:14 | |
@lisitsyn | ok enough | 15:14 |
@lisitsyn | :D | 15:14 |
@lisitsyn | HeikoS: ok logo is here | 15:16 |
-!- kshitijk [~kshitijk@115.249.18.25] has quit [Ping timeout: 240 seconds] | 15:21 | |
-!- vortex_ape [~vortex_ap@120.59.204.176] has quit [Ping timeout: 264 seconds] | 15:38 | |
-!- vortex_ape [~vortex_ap@120.59.203.44] has joined #shogun | 15:39 | |
-!- vortex_ape [~vortex_ap@120.59.203.44] has quit [Ping timeout: 246 seconds] | 15:50 | |
-!- lambday [6a33f0a8@gateway/web/freenode/ip.106.51.240.168] has joined #shogun | 15:51 | |
-!- mode/#shogun [+o lambday] by ChanServ | 15:51 | |
@lambday | HeikoS: hey | 15:51 |
@lambday | HeikoS: I updated a few things on linalg ideas wiki | 15:51 |
@lambday | HeikoS: I'm thinking that we should include iterative solvers as well - from eigen3 and viennacl | 15:52 |
@lambday | its high time I learn some viennacl myself :D | 15:52 |
@lambday | lisitsyn: hola | 15:53 |
@lambday | lisitsyn: Wu has made some suggestions regarding in-place linalg operations for GPU https://github.com/shogun-toolbox/shogun/pull/2676 | 15:54 |
@lambday | lisitsyn: could use your notes on that | 15:55 |
-!- kshitijk [~kshitijk@115.249.18.25] has joined #shogun | 15:57 | |
@lisitsyn | lambday: hmm yeah inplace is cool | 16:14 |
@lambday | lisitsyn: could you please just go through last few comments | 16:15 |
@lambday | also, I am thinking that elementwise operations should look something like linalg::element_wise<square>(A) | 16:17 |
@lambday | not sure about row-wise/col-wise ops yet | 16:17 |
@lambday | element_wise will take unary and binary functors as templates :/ | 16:19 |
@lambday | linalg::element_wise<product>(A, B, result) | 16:20 |
@lambday | or in place | 16:20 |
@lisitsyn | lambday: exactly | 16:22 |
@lisitsyn | lambday: that's pretty cool way to do that | 16:24 |
@lambday | lisitsyn: yeah I think so too.. | 16:26 |
@lambday | lisitsyn: btw loved your from, to :P | 16:26 |
@lisitsyn | lambday: ha | 16:27 |
@lambday | lisitsyn: you have any idea reagarding the IO-efficient blocking tricks Wu is talking about? | 16:28 |
@lisitsyn | lambday: well yeah we should use cache | 16:32 |
-!- exploreshaifali [~shaifali@182.70.165.128] has quit [Quit: Leaving] | 16:33 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has joined #shogun | 16:46 | |
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.111.93.6.70] has joined #shogun | 16:53 | |
-!- lambday [6a33f0a8@gateway/web/freenode/ip.106.51.240.168] has quit [Ping timeout: 246 seconds] | 16:55 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] | 16:56 | |
-!- rajul [~rajul@node-15vv.pool-101-108.dynamic.totbb.net] has quit [Quit: Leaving] | 16:57 | |
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.111.93.6.70] has quit [Quit: Page closed] | 17:01 | |
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.111.93.6.70] has joined #shogun | 17:02 | |
@HeikoS | lisitsyn: still there? | 17:02 |
@lisitsyn | HeikoS: yes | 17:03 |
@HeikoS | Ill forward you an email | 17:03 |
@lisitsyn | ok | 17:03 |
@HeikoS | lisitsyn: we need a user guide | 17:03 |
@HeikoS | that lists all the methods we have | 17:03 |
@HeikoS | like this : http://scikit-learn.org/stable/user_guide.html | 17:03 |
@HeikoS | GSoC students can write this | 17:03 |
@lisitsyn | HeikoS: yes | 17:04 |
@HeikoS | but how to organise | 17:04 |
@HeikoS | ? | 17:04 |
@lisitsyn | hmm | 17:04 |
@HeikoS | The thing is: in order to stay maintainable, we need to include this in the build | 17:04 |
@HeikoS | we had this idea with doxygen | 17:04 |
@HeikoS | where one can include concrete example code in the docs | 17:04 |
@lisitsyn | HeikoS: we can jump to sphinx | 17:04 |
@HeikoS | but that is so hard to edit | 17:04 |
@HeikoS | lots of overhead | 17:04 |
@HeikoS | remember what I mean? | 17:04 |
@lisitsyn | it looks better and supports markdown | 17:04 |
@HeikoS | doxygen support markdown | 17:05 |
@HeikoS | dont know | 17:05 |
@HeikoS | we should do something about this before GSoC | 17:06 |
@HeikoS | we need a list with all methods in a neat form like the scikit people have | 17:06 |
@HeikoS | and with code snippets that do things | 17:06 |
@HeikoS | that are included in the build | 17:06 |
@HeikoS | so best thing would be to include the modular example code in the page | 17:06 |
@HeikoS | maybe rewrite here and there | 17:06 |
@HeikoS | but yeah | 17:06 |
@HeikoS | wrote this a while ago | 17:07 |
@HeikoS | https://github.com/shogun-toolbox/shogun/issues/2602 | 17:07 |
@HeikoS | https://github.com/shogun-toolbox/shogun/issues/2600 | 17:08 |
@HeikoS | second one is the one I mean | 17:08 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 17:09 |
-!- lambday [6a33f0a8@gateway/web/freenode/ip.106.51.240.168] has joined #shogun | 17:11 | |
-!- mode/#shogun [+o lambday] by ChanServ | 17:11 | |
@lambday | HeikoS: yeah | 17:12 |
@HeikoS | lambday: hi!? | 17:12 |
@lambday | HeikoS: I'll do that asap | 17:12 |
@HeikoS | lambday: how are things? | 17:12 |
@HeikoS | lambday: what do you think of this: | 17:12 |
@lambday | HeikoS: things are good :) | 17:12 |
@HeikoS | https://github.com/shogun-toolbox/shogun/issues/2600 | 17:12 |
@HeikoS | use this to generate a clone of this: http://scikit-learn.org/stable/user_guide.html | 17:12 |
@lambday | HeikoS: checking | 17:13 |
@HeikoS | idea: use doxygen to write documentation. Code in there comes from actual examples so is executed in build. we need a documentation that lists all methods | 17:13 |
@lambday | HeikoS: their docs are super cool | 17:14 |
@HeikoS | lambday: do you think this doxygen way to do things is feasible? | 17:14 |
@lambday | HeikoS: umm.. that would include writing a whole tutorial type of things with the class documentation right | 17:15 |
@HeikoS | lambday: not quite | 17:15 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 17:15 |
@HeikoS | have a look here | 17:15 |
@HeikoS | it would involve writing pages like this one | 17:16 |
@lambday | HeikoS: oh wow.. this looks good | 17:16 |
@lambday | HeikoS: so one root page can have multiple subpages for different methods? | 17:17 |
@HeikoS | yeah, same structure as the scikit one | 17:17 |
@HeikoS | and then the coolest thing ever | 17:17 |
@lambday | HeikoS: that's awesome | 17:17 |
@HeikoS | there will be a header link where one can change the language | 17:17 |
@HeikoS | since the examples are implemented in the meta language | 17:17 |
@HeikoS | so doxygen can generate this automatically for all languages | 17:17 |
@lambday | HeikoS: greatest idea ever!! | 17:17 |
@lambday | HeikoS: this really shows off shogun's true power | 17:18 |
@HeikoS | so then we do the document structure ourselves | 17:18 |
@HeikoS | yeah exactly | 17:18 |
@HeikoS | we get a list of supported algos along with the fact that any languages can be sued | 17:18 |
@HeikoS | used | 17:18 |
@HeikoS | even tempted to make this a GSoC project | 17:18 |
@lambday | HeikoS: yeah | 17:18 |
@lambday | HeikoS: absolutely | 17:18 |
@HeikoS | but maybe we can also just make applicants write some bits of it | 17:19 |
@HeikoS | because its a lot to do for a single person | 17:19 |
@HeikoS | not really coding | 17:19 |
@HeikoS | though examples have to be written (in meta language | 17:19 |
@HeikoS | ) | 17:19 |
@HeikoS | Shogun missionary 2 | 17:19 |
@HeikoS | mmmh | 17:19 |
@lambday | HeikoS: well, porting all shogun examples in the meta languages developed is some coding :D | 17:19 |
@lambday | yeah | 17:19 |
@HeikoS | yeah true | 17:19 |
@lambday | lol you type a lot faster than me :D | 17:19 |
@HeikoS | hahah just had too much coffee :) | 17:20 |
@HeikoS | also make more typos than you do I guess ;) | 17:20 |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has joined #shogun | 17:20 | |
@lambday | HeikoS: lol not really :D | 17:20 |
@HeikoS | lambday: so the PR for the meta languages will come soon | 17:21 |
@HeikoS | Esben is basically done | 17:21 |
@lambday | HeikoS: anyway this is a super cool idea.. people use scikit learn more because they can figure out on their own what to do/how to do/where do we find stuffs | 17:21 |
@HeikoS | yeah exactly | 17:21 |
@lambday | hats off to him and you | 17:21 |
@HeikoS | also just got an email by a guy being a potential mentor who complained that it is not even clear which methods are implemented in Shogun | 17:21 |
@lambday | HeikoS: yeah... an entire class list is not a good place to do that | 17:22 |
@HeikoS | and then the notebooks could be used to do more involved stuff | 17:22 |
@lisitsyn | back | 17:22 |
@HeikoS | I mean we have this | 17:22 |
@HeikoS | http://www.shogun-toolbox.org/doc/en/latest/libshogun_examples.html | 17:22 |
@HeikoS | http://www.shogun-toolbox.org/doc/en/latest/python_modular_examples.html | 17:22 |
@HeikoS | but its horrible | 17:22 |
@HeikoS | lisitsyn, lambday rather than having a project on this | 17:23 |
@lisitsyn | ? | 17:23 |
@HeikoS | what about making every student write at least one little section each week? | 17:23 |
@lisitsyn | good | 17:23 |
@lisitsyn | g??d | 17:23 |
@HeikoS | so then everyone learns about ML | 17:23 |
@HeikoS | and m?re interaction is g?ing on | 17:23 |
@lisitsyn | m?chine l?arning | 17:24 |
@HeikoS | Ok Ill set up a prototype | 17:24 |
@lambday | HeikoS: awesome idea! | 17:26 |
@HeikoS | lambday: I probably need some help with structuring things from you guys | 17:26 |
@HeikoS | Ill set up a PR now | 17:26 |
@HeikoS | can we discuss in say an hour? | 17:26 |
@lisitsyn | HeikoS: will be in underground | 17:27 |
@lisitsyn | in da tube | 17:27 |
@HeikoS | lambday: so question 1 :) | 17:27 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 17:27 |
@lambday | HeikoS: yeah | 17:28 |
@HeikoS | how to generate multiple of these doxygen pages that replace | 17:28 |
@HeikoS | \snippet classifier_libsvm_probabilities.cpp headers | 17:28 |
@HeikoS | with | 17:28 |
@HeikoS | \snippet classifier_libsvm_probabilities.py headers | 17:28 |
@HeikoS | it would be cool if we did not have to have multiple doxygen files | 17:28 |
@lambday | HeikoS: jinja2? | 17:28 |
@HeikoS | maybe an indea | 17:29 |
@HeikoS | lambday: though it would be cool to keep things super super simple to write | 17:29 |
@HeikoS | ideally, we edit the pages from a wiki | 17:29 |
@HeikoS | what do the scikit people use do you know? | 17:29 |
@lambday | HeikoS: nah.. but I can check their src | 17:30 |
@HeikoS | thing is also the plots the scikit documentation has are amazinh | 17:30 |
@HeikoS | but we can only do them from python | 17:30 |
@HeikoS | so what do we do with them? | 17:30 |
@HeikoS | thinking more and more maybe this could be a GSoC | 17:31 |
@HeikoS | and then we develop a little mini framework for this | 17:31 |
@HeikoS | which uses jinja2 etc | 17:31 |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has quit [Quit: sonne|osx] | 17:32 | |
@HeikoS | hmmm | 17:32 |
@lambday | HeikoS: yeah... about plots I'm not sure.. you're planning to do it in the same way that we do in ipython notebooks? | 17:32 |
@lambday | in scikit they just show the plots | 17:32 |
@HeikoS | maybe more like this: | 17:32 |
@HeikoS | yeah | 17:33 |
@lambday | 'they don't tell how to generate those plots | 17:33 |
@HeikoS | really? | 17:33 |
@HeikoS | Ah I did not know | 17:33 |
@HeikoS | I thought they were generated from the code | 17:33 |
@HeikoS | ah no | 17:33 |
@lambday | HeikoS: http://scikit-learn.org/stable/modules/linear_model.html | 17:33 |
@HeikoS | every plot has a link to code that generated it | 17:33 |
@lambday | HeikoS: well I am also just now noticing | 17:33 |
@lambday | ohh | 17:33 |
@lambday | HeikoS: so plot can be python | 17:34 |
@HeikoS | yeah | 17:34 |
@HeikoS | so they have actually 2 things | 17:34 |
@HeikoS | this | 17:34 |
@HeikoS | http://scikit-learn.org/stable/modules/linear_model.html | 17:34 |
@HeikoS | which just contains code snippets | 17:34 |
@lambday | HeikoS: yeah ... in the main page no code for plotting | 17:34 |
@HeikoS | and then they have these examples from which they show the plot | 17:34 |
@HeikoS | but one has to click | 17:34 |
@HeikoS | quite clever | 17:35 |
@HeikoS | http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#example-linear-model-plot-ols-py | 17:35 |
@lambday | haha | 17:35 |
@HeikoS | and the examples are executed | 17:35 |
@HeikoS | it shows runtime on the bottom | 17:35 |
@HeikoS | But the example obviously is too long for the main text | 17:35 |
@lambday | HeikoS: yeah - its better actually this way | 17:36 |
@HeikoS | I wonder how they maintain the main text code snippets | 17:36 |
@HeikoS | they are more like our API examples | 17:36 |
@lisitsyn | HeikoS: is srini a potential mentor? | 17:36 |
@HeikoS | lisitsyn: yeah | 17:37 |
@HeikoS | but he will not join now I am sure | 17:37 |
@HeikoS | this annoys him | 17:37 |
@HeikoS | I know that from last year when I tried to convince him | 17:37 |
@lisitsyn | what annoys? | 17:37 |
@HeikoS | and its always the same | 17:37 |
@HeikoS | "no documentation", "unable to install" | 17:37 |
@HeikoS | for years now | 17:37 |
@lisitsyn | oh I see | 17:37 |
@HeikoS | he wanted to check the NNs we have | 17:37 |
@HeikoS | but no list | 17:37 |
-!- curiousguy13 [~curiousgu@120.59.231.218] has joined #shogun | 17:38 | |
@lambday | HeikoS: is it a good idea to use doxygen? | 17:39 |
@HeikoS | lambday: not sure | 17:39 |
@HeikoS | lets discuss | 17:39 |
@lambday | HeikoS: I don't have much exp on that | 17:39 |
@lambday | kevin is the guy | 17:39 |
@HeikoS | lambday, lisitsyn lets brainstorm a bit and solve this conceptually | 17:39 |
@HeikoS | lisitsyn: you mentioned this sphinx | 17:40 |
@lisitsyn | yes | 17:40 |
@HeikoS | lisitsyn: can this help us? | 17:40 |
@lisitsyn | because sphinx looks cool | 17:40 |
@lisitsyn | :D | 17:40 |
@lambday | lisitsyn: any example sites? | 17:41 |
@lisitsyn | hmm yes | 17:41 |
@lisitsyn | lambday: http://yelp.github.io/MOE/ | 17:41 |
@lambday | lisitsyn: hah niccee | 17:42 |
@HeikoS | it for sure looks cooler than doxygen | 17:42 |
@HeikoS | lisitsyn: so if we used that, do we then only use doxygen for class documentation? | 17:43 |
@lisitsyn | HeikoS: I think it can do something on that | 17:43 |
@HeikoS | lisitsyn: examples? | 17:43 |
@lisitsyn | let me search | 17:43 |
@HeikoS | lisitsyn, lambday in any case, *how* we do things is not so important in my eyes, just distracting. Questions is *how* we document | 17:43 |
@HeikoS | and how we make it happen | 17:44 |
@lisitsyn | HeikoS: sphinx http://docs.opencv.org/ | 17:44 |
@HeikoS | lisitsyn: can we generate this from our current source code docs? | 17:45 |
@lisitsyn | no idea | 17:45 |
@lisitsyn | have to check | 17:45 |
@HeikoS | lisitsyn: next thing that would be cool | 17:46 |
@lisitsyn | https://github.com/michaeljones/breathe/tree/master | 17:46 |
@lisitsyn | HeikoS: ^ | 17:46 |
@HeikoS | if we could use the github md editor to write documentation | 17:46 |
@HeikoS | but then they somehow get linked back | 17:46 |
@lisitsyn | yeah | 17:46 |
@lisitsyn | on top of doxygen | 17:47 |
@HeikoS | exactly | 17:47 |
@HeikoS | so what are the goals we aim to get? | 17:47 |
@lisitsyn | ok I have no idea now | 17:47 |
@HeikoS | 1. We clone this http://scikit-learn.org/stable/user_guide.html | 17:48 |
@HeikoS | structure wise | 17:48 |
@lisitsyn | yes | 17:48 |
@lisitsyn | list of machines | 17:48 |
@HeikoS | 2. All the code snippets in there come from meta language examples, every code snippet has a header where one can switch the modular target | 17:48 |
@HeikoS | so in this documentation, one can switch language easily | 17:48 |
@HeikoS | the code snippets are mostly API examples and to illustrate | 17:49 |
@HeikoS | we can use doxygens (or other) ability to only show snippets from a larger code file, text can be written around it | 17:49 |
-!- drawert [c65b040e@gateway/web/freenode/ip.198.91.4.14] has joined #shogun | 17:50 | |
@HeikoS | 3. There are pictures with output of more complex examples | 17:50 |
@HeikoS | like in scikit docs, we can use python for the plots, too | 17:50 |
@HeikoS | which means we need plotting code in python | 17:50 |
@HeikoS | but still would be cool to swap language in the longer examples | 17:50 |
@HeikoS | If we have this and manage to populate it, we will be the greatest ;) | 17:51 |
@HeikoS | 4. It is able to populate this via the github wiki editor | 17:51 |
@HeikoS | (which might be challenging in practice) | 17:52 |
@HeikoS | No need to have this | 17:52 |
@HeikoS | we can use md files | 17:52 |
@HeikoS | so Questions: | 17:52 |
@lambday | markdown parsers can be used there | 17:52 |
@HeikoS | what does that mean? | 17:52 |
@lambday | oh but then we won't be able to edit from github wiki | 17:53 |
@HeikoS | Maybe its fine | 17:53 |
@HeikoS | Question is: which system should we use to write these pages | 17:53 |
@HeikoS | It needs: | 17:53 |
@HeikoS | markdown support | 17:53 |
@HeikoS | able to put in snippets of code, that are somehow marked in example files | 17:54 |
@HeikoS | second: | 17:54 |
@HeikoS | we only want to write the doc entry *once* | 17:54 |
@HeikoS | and reference snippets that were marked in the meta language example | 17:54 |
@HeikoS | and the system then generates a listing box with the links for changing language | 17:54 |
@HeikoS | first point works with doxygen | 17:55 |
@HeikoS | second does not really | 17:55 |
@HeikoS | could make this work via jinja | 17:55 |
@HeikoS | but the problem then is | 17:55 |
@HeikoS | that the system gets messy to use | 17:55 |
@HeikoS | which means nobody will use it | 17:55 |
@HeikoS | so what to do there? | 17:55 |
@HeikoS | write a little mini framework that does this? | 17:55 |
@HeikoS | we can start from here: | 17:56 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 17:56 |
@HeikoS | so if in there, we would put | 17:56 |
@HeikoS | \snippet classifier_libsvm_probabilities.sg headers | 17:56 |
@HeikoS | and then use some grep/jinja magic to replace the .sg with the automatically generated listings | 17:57 |
@HeikoS | then we would get multiple pages | 17:57 |
@HeikoS | but doxygen does not offer a nice way to switch | 17:57 |
@HeikoS | we need some kind of bar in the top of the page that globally selects target language | 17:57 |
* HeikoS spams | 17:57 | |
@lambday | HeikoS: why globally | 17:58 |
@HeikoS | lambday: imagine someone only wants to look at octave | 17:58 |
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has joined #shogun | 17:58 | |
@HeikoS | he doesnt want to click octave for any listing | 17:58 |
@HeikoS | pickle27: hi! | 17:58 |
@HeikoS | pickle27: read the logs of the last 30 mins, some good idea going on here, and we need your help :) | 17:58 |
pickle27 | hey | 17:58 |
@lambday | oh yeah that makes sense | 17:58 |
pickle27 | can you give me a tldr? | 17:59 |
pickle27 | I just got back from 2 week vacay | 17:59 |
@HeikoS | pickle27: yes | 17:59 |
@HeikoS | oh haha :) | 17:59 |
pickle27 | and I am catching up on everything | 17:59 |
@HeikoS | pickle27: Ill write it up later | 17:59 |
@HeikoS | pickle27: and share | 17:59 |
@HeikoS | lambday: so if we use jinja to create multiple doxygen sites | 17:59 |
@HeikoS | that would be possible | 17:59 |
pickle27 | thanks | 17:59 |
@HeikoS | there is some root where one can select language | 18:00 |
@HeikoS | and then comes to the generated sites | 18:00 |
@lambday | HeikoS: multiple static html pages?? | 18:00 |
@HeikoS | lambday: maybe? | 18:00 |
@HeikoS | lambday: would at least work | 18:00 |
@HeikoS | lambday: but not pretty right? | 18:00 |
@lambday | umm nah there must be a better way | 18:00 |
@HeikoS | lambday: are there maybe some markdown objects that can do such things? | 18:00 |
@HeikoS | ah no | 18:00 |
@HeikoS | so doxygen can only generate static htmlk | 18:01 |
@HeikoS | html | 18:01 |
@lambday | yep | 18:01 |
@HeikoS | we would need dynamically generated sites then | 18:01 |
@HeikoS | now my expertise ends | 18:01 |
@lambday | HeikoS: yeah | 18:01 |
@HeikoS | :( | 18:01 |
@lambday | lisitsyn: sphinx does that? | 18:01 |
@lisitsyn | why dynamic? | 18:01 |
@lisitsyn | sphinx is as static | 18:01 |
@lambday | pickle27 is the guy :D | 18:01 |
@HeikoS | lisitsyn: for that language switching business | 18:02 |
@HeikoS | pickle27: ok let me summarise now | 18:02 |
@HeikoS | would be cool to get your input | 18:02 |
pickle27 | kk | 18:02 |
@lambday | lisitsyn: imagine we support 10 languages.. do we really wanna generate 10 static html pages for that? | 18:02 |
@lisitsyn | yes | 18:02 |
@HeikoS | pickle27: so we want to clone this: http://scikit-learn.org/stable/user_guide.html | 18:02 |
@lisitsyn | :D | 18:02 |
@HeikoS | there are two types of code listings in there, snippets and full examples if you click on the pictures | 18:02 |
@HeikoS | we want the same for shogun | 18:03 |
@lambday | lisitsyn: lol :D | 18:03 |
@HeikoS | but there should be some bar at the top, where one can change the language of the snippets | 18:03 |
@HeikoS | pickle27: since the meta language project is done, that is possible | 18:03 |
@lisitsyn | HeikoS: dynamic like javascript? | 18:03 |
pickle27 | cool | 18:03 |
@lisitsyn | or what? | 18:03 |
pickle27 | web wise its pretty straight forward | 18:03 |
@HeikoS | pickle27: but how to do the website, what system to ouse? | 18:03 |
@HeikoS | we want to be able to write *one* md page per method | 18:04 |
pickle27 | you could do it a lot of different ways | 18:04 |
@HeikoS | and then somehow reference snippets from the example in the meta language | 18:04 |
@HeikoS | and then based on the user selection, the snippets are pasted from the different target listing | 18:04 |
@HeikoS | pickle27: has to be easy to use, too, so something like this | 18:04 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 18:04 |
pickle27 | I like where lisitsyn was going with statically generating it | 18:05 |
@HeikoS | pickle27: so this gist shows how to do it in doxygen for a fixed language | 18:05 |
pickle27 | then we can't break it :p | 18:05 |
@lisitsyn | just generate all the stuff | 18:05 |
@HeikoS | then we could use doxygen | 18:05 |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has joined #shogun | 18:05 | |
@HeikoS | just need to generate all the doxypages and replace the source code of the snippet | 18:05 |
@lisitsyn | sorry guys heading home | 18:06 |
@HeikoS | lisitsyn: bye | 18:06 |
@HeikoS | pickle27: so what do you think? | 18:06 |
@lisitsyn | HeikoS: will you be online in 2 hrs? | 18:06 |
pickle27 | yeah sounds good | 18:06 |
@HeikoS | is the gist the way to go? along with some mechanism to create copies of the doxypage with the listing filename chnaged? | 18:06 |
@HeikoS | lisitsyn: maybe | 18:06 |
@lisitsyn | ok | 18:06 |
@HeikoS | lisitsyn: depends on whether I go climbing :) | 18:07 |
@lisitsyn | lets update this | 18:07 |
@lisitsyn | http://en.wikipedia.org/wiki/Shogun_(toolbox) | 18:07 |
@HeikoS | lisitsyn: go for it :) | 18:07 |
@lisitsyn | lets make it huge | 18:07 |
@lisitsyn | ok | 18:07 |
pickle27 | doxygen is kind of old school | 18:07 |
@HeikoS | pickle27: suggestions? | 18:07 |
@lisitsyn | sphinx! | 18:07 |
@lisitsyn | :D | 18:07 |
@HeikoS | pickle27: cool thing: | 18:07 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 18:07 |
pickle27 | what about jekyll | 18:07 |
@HeikoS | this is just an md file | 18:07 |
pickle27 | http://jekyllrb.com/ | 18:07 |
@HeikoS | so as long as these things work: | 18:08 |
@HeikoS | "\snippet classifier_libsvm_probabilities.cpp headers" | 18:08 |
@HeikoS | we are fine | 18:08 |
pickle27 | and we can host on github | 18:08 |
@lisitsyn | pickle27: but it doesn't scan all the classes | 18:08 |
@lisitsyn | for their doc | 18:08 |
@HeikoS | keep in mind this is not class docs | 18:08 |
@lisitsyn | we still need to have class reference | 18:08 |
@HeikoS | they can stay doxygen for now | 18:08 |
@HeikoS | we want a manual | 18:08 |
@lisitsyn | a manual is sphinx or jekyll | 18:08 |
@HeikoS | that is not this here: http://www.shogun-toolbox.org/doc/en/latest/python_modular_examples.html | 18:08 |
@lisitsyn | no other sane way | 18:08 |
pickle27 | yeah if we want class links then doxygen works | 18:08 |
pickle27 | I was thinking this was more of a curated example set kind of like the notebooks etc | 18:09 |
@HeikoS | yeah like the scikit | 18:09 |
@HeikoS | pickle27, lisitsyn so whats different between jekyll or sphinx | 18:09 |
@HeikoS | pickle27: what does this hosting on gitub imply? | 18:09 |
pickle27 | jekyll takes plain text and makes a static site | 18:10 |
@HeikoS | how would the gist example look in jekyll? | 18:10 |
pickle27 | github can host a static page for you from a repo | 18:10 |
pickle27 | I am not sure I'd have to look into it | 18:10 |
pickle27 | then when you push to the repo the site updates | 18:10 |
@HeikoS | pickle27: ah thats amazin | 18:10 |
pickle27 | yeah it is quite nice | 18:11 |
pickle27 | but you can only write html and javascript they can't run anything else | 18:11 |
@HeikoS | pickle27: is that a problem? | 18:11 |
pickle27 | I think what might be best is to put some kind of post process after doxygen | 18:11 |
pickle27 | HeikoS: not really for the docs but for the main site we run some stuff background wise | 18:12 |
pickle27 | I was thinking about how we might do our whole site from github pages | 18:12 |
pickle27 | that is what a lot of web open source projects do | 18:12 |
pickle27 | but yeah maybe jekyll on top of doxygen | 18:12 |
pickle27 | jekyll can add javascript and styles etc to the doxygen base | 18:13 |
@HeikoS | pickle27: so you would keep doxygen for the manual? | 18:13 |
@HeikoS | thing is I want to avoid doing something that we cannot use if we switch the system | 18:13 |
pickle27 | keep doygen for generating the plain html from the source code and then post process in jeykll to make it look better | 18:13 |
pickle27 | I dunno I am brain dumping here | 18:14 |
@HeikoS | cool thing here is that this is just md, https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 18:14 |
@HeikoS | any system that can parse this and generate a static page is fine | 18:14 |
@HeikoS | and we generate multiple of them via post-processing with jinja | 18:14 |
pickle27 | yeah that works too | 18:14 |
@HeikoS | and that can be postprocessed then | 18:15 |
@HeikoS | ok | 18:15 |
@HeikoS | one thing | 18:15 |
@HeikoS | pickle27: it would be amazing to have like a header bar where use can select the language | 18:15 |
pickle27 | so if that works we just need to host it and add styles? | 18:15 |
@HeikoS | check here | 18:15 |
@HeikoS | http://scikit-learn.org/stable/modules/linear_model.html | 18:15 |
@HeikoS | they have this thing to remove the <<< from the python snippet | 18:15 |
@HeikoS | something like that for all languages, but maybe globally | 18:15 |
@HeikoS | so all snippets change | 18:16 |
pickle27 | yeah so what I would do there is include all the languages in the md file | 18:16 |
pickle27 | and somehow make it generate them in different divs | 18:16 |
pickle27 | then do something like this | 18:16 |
pickle27 | http://getbootstrap.com/javascript/#tabs | 18:16 |
-!- abinashm [uid66179@gateway/web/irccloud.com/x-dgstmgfmchomthlq] has joined #shogun | 18:17 | |
@HeikoS | ah | 18:19 |
@HeikoS | pickle27: these tabs you mean? | 18:20 |
pickle27 | yeah | 18:20 |
@HeikoS | pickle27: thing is | 18:20 |
pickle27 | we can re-style them | 18:20 |
@HeikoS | imagine a user wants to have octave | 18:20 |
@HeikoS | he doesnt want to press on octave button on each snippet | 18:20 |
@HeikoS | just once | 18:20 |
@HeikoS | so thats why like a header or so with these would be cool | 18:20 |
pickle27 | sure we can js a global bar | 18:20 |
pickle27 | thats easy to do | 18:20 |
@HeikoS | and that would change the static html site? | 18:21 |
pickle27 | what we need is to have each language in a div with the id or class set to the language | 18:21 |
@HeikoS | pickle27: multiple files not good? | 18:21 |
pickle27 | then we write a bit of javascript that we include on the page | 18:21 |
@HeikoS | pickle27: would be in fact easier | 18:21 |
@HeikoS | remember the developers have to write this here: | 18:22 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 18:22 |
pickle27 | we use javascript to control which div is visible is all | 18:22 |
@HeikoS | in there I would just put | 18:22 |
@HeikoS | \snippet classifier_libsvm_probabilities.cpp headers | 18:22 |
@HeikoS | with .sg instead of cpp | 18:22 |
@HeikoS | and then postprocessing does the rest | 18:22 |
pickle27 | yeah post process would need to include every language file | 18:22 |
pickle27 | so we can say what is visible | 18:23 |
@HeikoS | if we have to put all the stuff in there, that might be messy? | 18:23 |
pickle27 | for a static site | 18:23 |
pickle27 | nah I dont think so | 18:23 |
@HeikoS | but the file itself is markdown | 18:23 |
@HeikoS | how to put all listings in there? | 18:23 |
@HeikoS | but actually better as only one copy of the file | 18:23 |
@HeikoS | how does the div thing work? | 18:23 |
@HeikoS | how would it look like? | 18:23 |
-!- drawert [c65b040e@gateway/web/freenode/ip.198.91.4.14] has quit [Quit: Page closed] | 18:24 | |
@lambday | it would just hide other language ids | 18:24 |
pickle27 | this ^ | 18:24 |
pickle27 | we need to load all content and then control visibility | 18:24 |
pickle27 | I would say we write some sort of macro for whatever processes the md files to automatically include all the languages | 18:25 |
@lambday | we can have a script to generate different divs with different ids for different langs | 18:25 |
@HeikoS | I dont know this thing, could you paste an example? | 18:25 |
pickle27 | errr one sec | 18:26 |
pickle27 | it would look like this http://wrapbootstrap.com/preview/WB0K176S9 | 18:26 |
@HeikoS | I meant more the code | 18:27 |
@HeikoS | how the file with all content would look like | 18:28 |
pickle27 | yup working on it | 18:28 |
@HeikoS | ah ok | 18:28 |
@HeikoS | thanks | 18:28 |
@HeikoS | what should I look at at this page? | 18:28 |
pickle27 | here | 18:30 |
pickle27 | http://pastebin.com/ucdRWrrn | 18:30 |
@HeikoS | pickle27: and the postprocessed doxygen file? | 18:30 |
pickle27 | thats the html we need in the end | 18:31 |
@HeikoS | but I still dont get one thing | 18:31 |
@HeikoS | are there multiple html files? | 18:31 |
@HeikoS | or just one? | 18:31 |
@lambday | for each example you have one | 18:32 |
pickle27 | kinda depends how we lay it out | 18:32 |
pickle27 | I would agree with lambday one file for each example | 18:32 |
pickle27 | we can concat them later if they are all on one page and use them as partials | 18:32 |
@HeikoS | so how does the pipeline go | 18:33 |
@HeikoS | we start here | 18:33 |
@HeikoS | https://gist.github.com/karlnapf/97cee3b334bf78d69466 | 18:33 |
@HeikoS | this is the md file | 18:33 |
-!- hiii [74ca656a@gateway/web/freenode/ip.116.202.101.106] has joined #shogun | 18:33 | |
@HeikoS | then a script runs over it and replaces *.sg with all the listings | 18:33 |
@HeikoS | that we have | 18:33 |
pickle27 | yeah something like that | 18:33 |
@HeikoS | so then we have multiple of those md files | 18:34 |
@HeikoS | each of which with a different snippet listing filename | 18:34 |
@HeikoS | doxygen generates static html pages for each of them | 18:34 |
@HeikoS | We have a set of html files | 18:34 |
pickle27 | yeah unless we can generate the original md file too | 18:34 |
@HeikoS | those are then put into the tab by the js code you sent | 18:34 |
@HeikoS | what do you mean generate the original md file? | 18:34 |
pickle27 | like if we want to do this for all examples then we could put the text in the .sg file and extract it | 18:35 |
@HeikoS | ah | 18:35 |
@HeikoS | I see | 18:35 |
@HeikoS | I kind of dont want to do that | 18:35 |
@HeikoS | Would like to have a seperate set of examples just for the manual | 18:36 |
@HeikoS | and then longer examples (the ones we currently have) that generate a plot or so | 18:36 |
pickle27 | or we could still put the code in the .sg and then have a whitelist for the manual | 18:36 |
@HeikoS | and then distributing the exisitng examples into that categoriy | 18:36 |
@HeikoS | how do you mean? | 18:36 |
@HeikoS | I think the end goal is to have a site like the scikit one | 18:37 |
@HeikoS | and the entries are hand-crafted | 18:37 |
@HeikoS | or | 18:37 |
@HeikoS | what about this: | 18:37 |
@HeikoS | ah no | 18:37 |
@HeikoS | maybe the sg file contains the markdown code at the beginning to have things together? | 18:37 |
@lambday | do wew need to generate multiple md files? | 18:38 |
@HeikoS | But I think thats not so nice | 18:38 |
@HeikoS | rather write the manual entries by hand | 18:38 |
@HeikoS | quickly summarise what the method does | 18:38 |
@HeikoS | give some mini snippets how to use it | 18:38 |
@HeikoS | not a while example file, thats the point | 18:38 |
@HeikoS | just a selection of some code (that is though executable to maintain) | 18:38 |
@lambday | just the snippet part should be copied ands pasted over the same md ... then some div magic | 18:38 |
pickle27 | ah okay gotcha | 18:39 |
pickle27 | didn't realize the snippets were not the examples | 18:39 |
pickle27 | yeah I think we have the overall idea nailed out | 18:39 |
@HeikoS | pickle27: idea is to have markers in the .sg file | 18:39 |
@HeikoS | see the gist I sent | 18:39 |
@HeikoS | second file | 18:39 |
@HeikoS | and then reference that from the manual text | 18:39 |
pickle27 | yeah I think this will work | 18:40 |
@HeikoS | pickle27, lambday one more thing I would like to ask you about | 18:40 |
@HeikoS | http://scikit-learn.org/stable/modules/linear_model.html | 18:40 |
@HeikoS | there are these plots | 18:40 |
@HeikoS | and one can click to get the code that generated the plot | 18:40 |
@HeikoS | this is different to the snippets | 18:41 |
@HeikoS | It would be cool to have something similar | 18:41 |
@HeikoS | but how to do? | 18:41 |
@HeikoS | since plots can only be done in python | 18:41 |
pickle27 | I would just link to a python script then | 18:41 |
pickle27 | or plot in something else for the manual | 18:41 |
pickle27 | like d3 / nvd3 | 18:42 |
pickle27 | and just output json from the snippet | 18:42 |
pickle27 | probably best to stick with python and link to the single script though | 18:42 |
@HeikoS | the scikit people have two things per method | 18:42 |
@HeikoS | 1. snippet 2. long example that generates plot | 18:42 |
@HeikoS | = more work than one | 18:42 |
@HeikoS | but maybe best way | 18:42 |
@HeikoS | long example can be python | 18:43 |
@HeikoS | have to use that for the plot anyways | 18:43 |
@HeikoS | snippets are multiple languages | 18:43 |
pickle27 | I think that makes sense | 18:43 |
@HeikoS | any idea how to get the image in in a systematic way? | 18:43 |
-!- exploreshaifali [~shaifali@182.70.232.149] has joined #shogun | 18:43 | |
@HeikoS | so we now have written the doxypage in md | 18:43 |
@HeikoS | at some point, we put like | 18:43 |
@HeikoS | argh | 18:44 |
@HeikoS | irc commands | 18:44 |
@HeikoS | a line like | 18:44 |
@HeikoS | exampleimage log_regression.py | 18:45 |
@HeikoS | with a slash in front | 18:45 |
@HeikoS | that could be in the md | 18:45 |
@HeikoS | and then somehow, the picture gets included | 18:45 |
@HeikoS | or, we just refer to notebook? | 18:45 |
pickle27 | yeah something like that could work | 18:45 |
@HeikoS | dont know | 18:45 |
@HeikoS | seems messy | 18:45 |
@HeikoS | the scikit people have these example sections | 18:46 |
@HeikoS | http://scikit-learn.org/stable/modules/linear_model.html | 18:46 |
@HeikoS | bullet points with examples | 18:46 |
pickle27 | yeah loading images by path is a bit messy but there isn't really another way | 18:46 |
pickle27 | we just need to ensure that the images get made properly | 18:46 |
@HeikoS | that leads to a page which contains the plot and the script output and the sourcce code below | 18:46 |
@HeikoS | and they then just include that same plot in the manual itself | 18:46 |
@HeikoS | mmmh | 18:47 |
@HeikoS | maybe that can be done later | 18:47 |
@HeikoS | could be added after first thing is working | 18:47 |
@HeikoS | right? should be possible to extend somehow | 18:47 |
pickle27 | I actually have to run, let me know what you come up with and I can happily help review etc but no time to work on it myself | 18:47 |
@HeikoS | ok | 18:47 |
@HeikoS | Ill try to set up a prototype | 18:47 |
pickle27 | all my shogun time needs to go to the website v2 | 18:47 |
pickle27 | later! | 18:47 |
@HeikoS | yeah :) | 18:47 |
@HeikoS | bye! | 18:47 |
@HeikoS | lambday: still there? | 18:48 |
@lambday | HeikoS: yeah | 18:48 |
@lambday | finished dinner in between :D | 18:48 |
@HeikoS | what if there were no pictures at the manual for now | 18:48 |
@HeikoS | hewhe :) | 18:48 |
@HeikoS | what did you ahve? | 18:48 |
@lambday | HeikoS: Indian :D and not the spicy things people assume :D | 18:49 |
@lambday | HeikoS: yeah it can be done later.. but would be better if we think about it before hand | 18:49 |
@HeikoS | I like indian food | 18:49 |
@HeikoS | I agree | 18:50 |
@HeikoS | I like to think from the perspective of the person a) reading it and b) writing the manual entry | 18:50 |
@lambday | HeikoS: I'm am not getting how multiple md files can be parsed into one html by doxygen.. | 18:50 |
@HeikoS | so from a) we definitely need pictures | 18:50 |
@HeikoS | lambday: I think we would have to have mutliple static html files | 18:50 |
@HeikoS | and then pickle27 s js magic deals with them somehow | 18:51 |
@lambday | HeikoS: but also duplicating the text surrounding to the snippets? | 18:51 |
@lambday | they get copied too? | 18:51 |
@HeikoS | I guess yes | 18:51 |
@HeikoS | doxygen can only process the md files themselves | 18:52 |
@HeikoS | or maybe put all snippets? | 18:52 |
@HeikoS | and then they get cut out | 18:52 |
@HeikoS | but I dont know to make doxygen do that | 18:52 |
@HeikoS | like the static version more as I understand it :) | 18:52 |
@HeikoS | and if no js is available this still works | 18:52 |
@HeikoS | and one has clean single sites, not a big one with everything | 18:52 |
@lambday | hehe..but hiding thing is cool... | 18:53 |
@lambday | drop down menus work similarly I assume | 18:53 |
@HeikoS | any idea how to make doxygen output html that can be postprocessed in this way? | 18:53 |
@lambday | they have all the text there itself.. they just hide certain parts | 18:54 |
@HeikoS | I see | 18:54 |
@lambday | nada | 18:54 |
-!- curiousguy13 [~curiousgu@120.59.231.218] has quit [Ping timeout: 250 seconds] | 18:54 | |
@lambday | the reason you want doxygen is because of its md parsing capability | 18:54 |
@lambday | I didn't understand how postprocessing would work though | 18:55 |
@HeikoS | in the gist | 18:55 |
@HeikoS | postprocessing creates a number of copies of the md file | 18:56 |
@HeikoS | each of which contains *.py rather than *.sg | 18:56 |
@lambday | nah I meant to say - once doxygen generates the static html.. after that what? | 18:56 |
@lambday | isn't it possible to tell doxygen to create some predefined snippet with some spcific id/class | 18:57 |
@lambday | I meant to say - you have this md file ... then a post processing script copies and pastes the snippet over and over for all the languages.. and somehow doxygen/something else is instructed to generate different divs with those snippets.. different ids/class | 18:58 |
@lambday | then with one html you have it all - text just once.. just the appropriate snippet shown for selected lang | 18:58 |
@lambday | each example one html | 18:59 |
@lambday | js can take care of hiding | 18:59 |
@HeikoS | yeah in this view I meant, there is one html per target language | 18:59 |
@HeikoS | in yours, there is one html file with all listings | 18:59 |
@HeikoS | and then some are hidden | 18:59 |
@HeikoS | which is way nicer | 18:59 |
@lambday | HeikoS: I don't know what to use technically to achieve this - but should be possible | 19:00 |
@HeikoS | lambday: I dont think doxygen can do this | 19:01 |
@HeikoS | but it would be awesome right | 19:01 |
@HeikoS | ? | 19:01 |
@lambday | if we have different htmls.. then the links has to be taken care of as well | 19:01 |
@lambday | yeah | 19:01 |
@lambday | switching language idea is a killer :D | 19:02 |
@HeikoS | hehe :) | 19:02 |
@HeikoS | so what about this: | 19:02 |
@HeikoS | postprocessing generates all these html files | 19:02 |
xAndreLopesx | hi | 19:02 |
@HeikoS | and then post - postprocessing merges them into one | 19:02 |
@HeikoS | xAndreLopesx: Hi! | 19:02 |
xAndreLopesx | im reading the chat log... you guys are working on javadoc and other lkanguages doc? | 19:02 |
@HeikoS | xAndreLopesx: doxygen | 19:03 |
xAndreLopesx | awesome! | 19:03 |
xAndreLopesx | so yes, right? | 19:03 |
@HeikoS | we want to build a clone of http://scikit-learn.org/stable/modules/linear_model.html | 19:03 |
@HeikoS | but with shogun | 19:03 |
@HeikoS | and with a 1-click way of changing the code language | 19:03 |
xAndreLopesx | oh | 19:03 |
xAndreLopesx | i thought you guys were talking about docs | 19:03 |
xAndreLopesx | :P | 19:03 |
@HeikoS | yeah we do | 19:04 |
@HeikoS | thats docs | 19:04 |
xAndreLopesx | ah | 19:04 |
@HeikoS | xAndreLopesx: have a read through the last hour ;) | 19:04 |
@lambday | post post processing haha :D | 19:04 |
xAndreLopesx | the last hour was erased | 19:04 |
xAndreLopesx | i have just partial log | 19:04 |
@HeikoS | xAndreLopesx: its in the channel logs | 19:04 |
xAndreLopesx | im using kiwi irc | 19:04 |
xAndreLopesx | ah | 19:04 |
xAndreLopesx | ok | 19:04 |
@HeikoS | http://bit.ly/1eBecWl | 19:04 |
@lambday | xAndreLopesx: http://bit.ly/1eBecWl | 19:04 |
@HeikoS | lambday: thats possible right? | 19:04 |
xAndreLopesx | javadoc S2 | 19:04 |
@HeikoS | since we can look for the html output of doxygen that starts a snippet | 19:04 |
@HeikoS | and then replace with this div thing of all languages | 19:05 |
@HeikoS | though not clean | 19:05 |
@lambday | HeikoS: hehe yeah.. have some way to tell code part from the snippet part in the html | 19:05 |
@HeikoS | lambday: its possible but hacky | 19:05 |
@HeikoS | so not nice | 19:05 |
@HeikoS | lets assume we do multiple static html files for now | 19:06 |
@HeikoS | and the header just causes the system to load the appropriate ones | 19:06 |
@lambday | HeikoS: yeah that's technically possible | 19:06 |
@HeikoS | so fine | 19:06 |
@HeikoS | so we have sorted a) from above | 19:07 |
@HeikoS | what about the pictures | 19:07 |
@HeikoS | so there we could link to generated images from the examples | 19:07 |
-!- curiousguy13 [~curiousgu@59.177.199.201] has joined #shogun | 19:07 | |
@HeikoS | but then we need to write things in python | 19:07 |
@HeikoS | so we need two code files for each method | 19:08 |
@HeikoS | one is just the snippet stuff, minimal | 19:08 |
@HeikoS | the other one (optional) is the thing that generates the image | 19:08 |
@HeikoS | and we generate pages like this http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html | 19:08 |
@HeikoS | and then somehow put image+link in the main manual | 19:08 |
@HeikoS | ok I will draft a prototype | 19:08 |
@HeikoS | lets see where we get | 19:08 |
@HeikoS | need a break now | 19:09 |
@HeikoS | Ill put this into the wiki | 19:09 |
@lambday | yeah.. we generate these images each make doc? or just statically have those images along-with the pyscripts | 19:09 |
@lambday | HeikoS: yeah.. :D | 19:09 |
@lambday | HeikoS: coffee? | 19:09 |
@HeikoS | haha no I had enough, water :) | 19:10 |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 19:10 | |
@lambday | we made a few MB log today | 19:11 |
@HeikoS | hehe | 19:11 |
@HeikoS | thats good | 19:11 |
-!- kshitijk [~kshitijk@115.249.18.25] has quit [Ping timeout: 265 seconds] | 19:14 | |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has joined #shogun | 19:25 | |
xAndreLopesx | DoubleMatrix.loadAsciiFile requires the full path? | 19:25 |
@HeikoS | xAndreLopesx: not sure, check jblas documentation | 19:26 |
@HeikoS | I guess this is java? | 19:26 |
-!- hiii [74ca656a@gateway/web/freenode/ip.116.202.101.106] has quit [Ping timeout: 246 seconds] | 19:26 | |
xAndreLopesx | yes | 19:26 |
xAndreLopesx | its java | 19:26 |
xAndreLopesx | it seems it does use full path :( | 19:26 |
@HeikoS | xAndreLopesx: annoying | 19:29 |
@HeikoS | maybe open a bug report for jblas? | 19:29 |
xAndreLopesx | will do | 19:29 |
@HeikoS | lambday: there is another question: still around? | 19:29 |
@lambday | HeikoS: yeah' | 19:29 |
@HeikoS | have a look at | 19:30 |
@HeikoS | say http://scikit-learn.org/stable/modules/linear_model.html | 19:30 |
@HeikoS | they use toy data | 19:30 |
@HeikoS | and its immediately clear what this consists of and in what format it is | 19:30 |
@HeikoS | now our meta examples look like: | 19:30 |
@lambday | HeikoS: synthetic data? | 19:30 |
@lambday | oh no | 19:30 |
@lambday | diabetes | 19:31 |
@HeikoS | https://github.com/sorig/shogun/tree/develop/examples/example-generation | 19:31 |
@HeikoS | they load files | 19:31 |
@HeikoS | I wonder whether this is good for such documentation? | 19:31 |
@HeikoS | see what I mean? | 19:32 |
@HeikoS | and another thing | 19:33 |
@lambday | HeikoS: umm no. I think while explaining a method, minimal importance should be given to the data... creates less confusion to the readers | 19:34 |
@lambday | if that's what you mean | 19:34 |
@HeikoS | ok | 19:34 |
@HeikoS | so you think loading files is ok? | 19:34 |
@lambday | HeikoS: what alternative idea you have? generating small dataset in the program itself? | 19:34 |
@HeikoS | dont know | 19:34 |
@HeikoS | but thats not possible with meta language | 19:34 |
@lambday | HeikoS: would loading be a problem for sg programs? | 19:35 |
@lambday | i see | 19:35 |
@lambday | generating data is not possible either | 19:35 |
@lambday | unless its all shogun code | 19:36 |
@lambday | but for python we use numpy etc for that | 19:36 |
@HeikoS | generating would be if we added a class | 19:36 |
xAndreLopesx | Can i make a quick question? | 19:38 |
xAndreLopesx | perceptron.train(); I noticed it locks the thread.. How can i get the error rate? | 19:39 |
xAndreLopesx | And its possible to get the error rate during training ? | 19:39 |
@HeikoS | xAndreLopesx: unfortuately not, but I think you can set a max number of iterations | 19:39 |
xAndreLopesx | even using C++ ? | 19:39 |
@HeikoS | xAndreLopesx: the perceptron implementation we have is very crappy, it is not really useful, rather use another linear method, perceptron is not a good choice anyways | 19:40 |
@HeikoS | though we need to clean this up | 19:40 |
xAndreLopesx | im just running the example.. | 19:40 |
xAndreLopesx | ok | 19:40 |
@HeikoS | xAndreLopesx: nope even in c++ | 19:40 |
@HeikoS | ah | 19:40 |
@HeikoS | the example should work | 19:40 |
xAndreLopesx | Going to try neural networks then. Im used to Encog. | 19:40 |
xAndreLopesx | Lets see what i dig, im new to shogun :) | 19:40 |
@HeikoS | yeah go to NNs :) | 19:40 |
@HeikoS | all new | 19:40 |
@HeikoS | (and hopefully proper) | 19:41 |
@HeikoS | svms all work for sure | 19:41 |
@HeikoS | and super mature and stable | 19:41 |
@lambday | HeikoS: added a class where? | 19:41 |
@HeikoS | lambday: shogun c++ class to generate toy data | 19:42 |
@HeikoS | but not really good, we can just load I agree | 19:42 |
@lambday | HeikoS: oh.. yeah.. then meta can handle it | 19:42 |
@lambday | HeikoS: yeah.. these are standard datasets right.. | 19:43 |
@lambday | if we can load then it would be good | 19:43 |
@HeikoS | yep works | 19:43 |
@HeikoS | Ill show you an exampl ein 10 secs | 19:44 |
@lambday | wow :D | 19:44 |
xAndreLopesx | DynamicObjectArray :O | 19:44 |
@HeikoS | https://gist.github.com/karlnapf/93062ce150158a9cea03 | 19:44 |
xAndreLopesx | so DynamicObjectArray holds CSGObjects | 19:45 |
xAndreLopesx | right? | 19:45 |
@HeikoS | yep | 19:45 |
@HeikoS | so any shogun object | 19:45 |
@lambday | oh yeah we have files :D | 19:45 |
@HeikoS | with reference counting | 19:45 |
@HeikoS | xAndreLopesx: in java you dont need that | 19:45 |
xAndreLopesx | The ANN is asking for DynamicObjectArray as a parameter or nothing at all | 19:46 |
xAndreLopesx | im not sure whats the method to add layers and neurons :O | 19:46 |
@HeikoS | Ah | 19:46 |
@HeikoS | Ok so create one :) | 19:46 |
xAndreLopesx | There is this | 19:46 |
xAndreLopesx | set_layers(DynamicObjectArray doa) | 19:46 |
@HeikoS | methods are documented here: | 19:46 |
xAndreLopesx | http://shogun.ml/doc/en/latest/classshogun_1_1CSGObject.html | 19:46 |
xAndreLopesx | this page, right? | 19:46 |
@HeikoS | http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CDynamicObjectArray.html | 19:47 |
@HeikoS | yeah | 19:47 |
xAndreLopesx | so this DOA will hold the layers, right? | 19:47 |
xAndreLopesx | :P | 19:47 |
xAndreLopesx | got it | 19:48 |
xAndreLopesx | yay its not so jhard after all :P | 19:48 |
@HeikoS | check the notebooks on NNs | 19:48 |
@HeikoS | http://shogun-toolbox.org/page/documentation/notebook/ | 19:48 |
@HeikoS | same syntax when you use Java | 19:48 |
xAndreLopesx | thats way better :) | 19:50 |
@lambday | lol I remember when I came here for the first time :D | 19:51 |
@HeikoS | lambday: hehe how was it? | 19:51 |
@lambday | HeikoS: I guess you answered my queries there as well :D | 19:51 |
@lambday | I wanted to implement a string kernel using shogun | 19:52 |
@HeikoS | ah yeah | 19:52 |
@HeikoS | thats on stack overflow right? | 19:52 |
@lisitsyn | hola | 19:52 |
@lambday | HeikoS: its not in shogun as well :D | 19:52 |
@lambday | lisitsyn: hola amigo | 19:52 |
@lisitsyn | so | 19:52 |
@lambday | oops it *is* in shogun | 19:53 |
@HeikoS | lisitsyn: its all solved | 19:53 |
@HeikoS | see our website | 19:53 |
@lisitsyn | really? | 19:53 |
@lisitsyn | what | 19:53 |
@HeikoS | lambday: wrote all examples in 2 hrs | 19:53 |
@HeikoS | magic script | 19:53 |
@lisitsyn | what solved? | 19:53 |
@HeikoS | we now have a manual | 19:53 |
@lambday | HeikoS: whoa!! | 19:53 |
@lisitsyn | where? | 19:53 |
@HeikoS | www.distant_future.com | 19:53 |
@lambday | lisitsyn: lol you missed the show :D | 19:53 |
@lisitsyn | ohhh english humour | 19:54 |
@lisitsyn | ohkay | 19:54 |
@lambday | I got to understand how this meta language works! | 19:55 |
@HeikoS | I am prototyping | 19:55 |
@HeikoS | but gotta go soon | 19:55 |
@lambday | HeikoS: trekking? | 19:55 |
@HeikoS | climbing :) | 19:56 |
@lambday | oh but in london it must be 7 | 19:56 |
@lambday | niceee! | 19:56 |
xAndreLopesx | shogun is implemented in C++ right? | 19:56 |
@lambday | yessir | 19:56 |
@HeikoS | lambday: yeah it is | 19:57 |
@HeikoS | late | 19:57 |
xAndreLopesx | where is the activationFunctions :O | 19:57 |
@HeikoS | xAndreLopesx: C++11 rules! | 19:57 |
@lisitsyn | auto auto = auto(); | 19:57 |
@lisitsyn | that's my favourite program in C++24 | 19:58 |
@lambday | c++17 is coming :D | 19:58 |
@lambday | lol | 19:58 |
xAndreLopesx | :D | 19:58 |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has joined #shogun | 19:58 | |
@lisitsyn | I am programming in C++29 usually | 19:58 |
@lisitsyn | but that's a matter of taste | 19:59 |
@lambday | xAndreLopesx: check the doxygen doc for the class.. it must be there somewhere | 19:59 |
@lisitsyn | some don't like metaheterogeneous pseudoconverters of latent inline indicator const functions | 19:59 |
@lambday | lisitsyn: how's the terminators doing? | 19:59 |
@lisitsyn | lambday: they were written in c99 and crashed | 19:59 |
@lambday | +1 for humanity | 20:00 |
xAndreLopesx | lol | 20:00 |
@lambday | lisitsyn: so when we're having "Code code = generate_everything_I_am_too_lazy();" in c++? | 20:00 |
xAndreLopesx | 2025 | 20:01 |
xAndreLopesx | 17/may | 20:01 |
@lisitsyn | lambday: that's auto auto = auto(); | 20:01 |
xAndreLopesx | at 3 pm | 20:01 |
@lambday | lisitsyn: lol | 20:01 |
@lisitsyn | lambday: you've got to use mvalue | 20:01 |
@lambday | xAndreLopesx: haha :D | 20:01 |
xAndreLopesx | I have seen it in my nightmares | 20:01 |
xAndreLopesx | robots coming from the sky. | 20:01 |
@lisitsyn | after introducing rvalues in addition to lvalues | 20:02 |
@lisitsyn | they added mvalue | 20:02 |
@lisitsyn | this is meta-transcendent value of horror | 20:02 |
@lisitsyn | it does some kind of random type inference | 20:02 |
@lisitsyn | it is quite simple when you realize it is a functor on top of that Strathmann manifold | 20:02 |
@lambday | hahahaha :D | 20:03 |
@lambday | HeikoS: ^ | 20:03 |
@HeikoS | hahaha | 20:03 |
@HeikoS | Strathmanian manifold | 20:03 |
@lisitsyn | Strathmanian is a determinant of third order curvature matrix of Strathmann manifold | 20:04 |
@HeikoS | how can I make doxygen produce output when I have only one input file? | 20:04 |
@lisitsyn | see Strathmann 2019 | 20:05 |
@lisitsyn | HeikoS: it can only work on two files | 20:05 |
@HeikoS | hehe | 20:05 |
@lambday | you're on the roll :D | 20:05 |
@HeikoS | doesnt produce anything | 20:06 |
@lisitsyn | HeikoS: ok I stop :D | 20:06 |
@lisitsyn | what's the problem? | 20:06 |
@HeikoS | ls | 20:07 |
@HeikoS | Doxyfile_en.inDoxyfile_en.in~ html knn.md knn.md~knn.sglatex | 20:07 |
@lisitsyn | ok | 20:07 |
@HeikoS | doxygen Doxyfile_en.in . html | 20:07 |
@HeikoS | the index.html is empty | 20:07 |
@HeikoS | # The INPUT tag can be used to specify the files and/or directories that contain | 20:07 |
@HeikoS | # documented source files. You may enter file names like "myfile.cpp" or | 20:07 |
@HeikoS | # directories like "/usr/src/myproject". Separate the files or directories | 20:07 |
@HeikoS | # with spaces. | 20:07 |
@HeikoS | INPUT = knn.sg | 20:07 |
@HeikoS | em .md | 20:08 |
@HeikoS | ah | 20:08 |
@HeikoS | now worked | 20:08 |
@lisitsyn | ha | 20:08 |
@HeikoS | just doesnt see the .sh | 20:08 |
@HeikoS | .sg | 20:08 |
@lisitsyn | HeikoS: you are welcome! ;) | 20:08 |
@lisitsyn | so helpful I am | 20:08 |
@HeikoS | indeed | 20:08 |
@lisitsyn | HeikoS: you just try to explain me a problem until you realize how to solve it | 20:09 |
@lisitsyn | the dummy listener method | 20:09 |
@lambday | HeikoS: how does the html look? | 20:10 |
@HeikoS | empty | 20:11 |
@HeikoS | need to put code | 20:11 |
@HeikoS | just trying | 20:11 |
@lambday | umm I thought it worked :D | 20:11 |
@lisitsyn | tldr | 20:11 |
@lisitsyn | what you decide? | 20:11 |
@HeikoS | just a sec | 20:12 |
@HeikoS | almost done | 20:12 |
@HeikoS | ok | 20:13 |
@lambday | md like HeikoS has --> script to generate multiple such mds for each supported lang --> pass it to doxygen --> generate static htmls ---> [optional] merge them together to hide these snippets under some div with different id/class ---> use js to hide the rest of the snippets except for the currently selected one | 20:13 |
@HeikoS | now one more thing | 20:13 |
@lambday | whoa this itself is tl | 20:13 |
@lisitsyn | good | 20:13 |
@lisitsyn | now I understand | 20:14 |
@lisitsyn | I speak english if it is less than screen | 20:14 |
@lisitsyn | otherwise I don't | 20:14 |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 20:14 | |
@lisitsyn | HeikoS: you can use bootstrap tabs | 20:18 |
@lisitsyn | is that a plan? | 20:18 |
@lambday | lisitsyn: for hiding stuffs? | 20:18 |
@lisitsyn | lambday: http://getbootstrap.com/javascript/#tabs | 20:19 |
@HeikoS | lisitsyn: maybe | 20:19 |
@lambday | but we don't want to select language for every example - a user wants to use shogun in java.. he just selects java once - rest will be presented to him in java only | 20:19 |
@HeikoS | lisitsyn: yeah pickle27 mentioned that | 20:19 |
@lisitsyn | HeikoS: lambday: we can bound them together | 20:20 |
@lisitsyn | if java is selected all examples get java | 20:20 |
-!- PirosB3 [~pirosb3@host72-217-dynamic.42-79-r.retail.telecomitalia.it] has joined #shogun | 20:23 | |
-!- zxtx_ [~zxtx@sunnythinking.org] has joined #shogun | 20:28 | |
-!- zxtx [~zxtx@sunnythinking.org] has quit [Read error: Connection reset by peer] | 20:29 | |
-!- kshitijk [~kshitijk@115.249.18.25] has joined #shogun | 20:30 | |
-!- vortex_ape [~vortex_ap@120.59.203.44] has joined #shogun | 20:44 | |
@HeikoS | lisitsyn, lambday, pickle27 | 20:53 |
@HeikoS | https://github.com/karlnapf/shogun_manual | 20:53 |
@HeikoS | we now need to sort out some examples and make it pretty | 20:54 |
@HeikoS | this generates static html for target languages | 20:54 |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has joined #shogun | 20:56 | |
xAndreLopesx | Anyone online ? | 21:04 |
@HeikoS | xAndreLopesx: just about to go, whats up? | 21:06 |
xAndreLopesx | hey, im having a little questions about neural networks in shogun.. if you have 5 mins for me :) | 21:06 |
@lisitsyn | that's for me | 21:06 |
xAndreLopesx | Okay :) do you mind if i ask you some questions? | 21:07 |
xAndreLopesx | I did this listsyn | 21:08 |
xAndreLopesx | doa.append_element(new NeuralInputLayer(2)); | 21:08 |
xAndreLopesx | doa.append_element(new NeuralLogisticLayer(2)); | 21:08 |
xAndreLopesx | doa.append_element(new NeuralLogisticLayer(2)); | 21:08 |
xAndreLopesx | and then i used quickConnect.. | 21:08 |
xAndreLopesx | it will know the outputLayer, right ? | 21:08 |
@HeikoS | lisitsyn: share your wisdom :D | 21:12 |
@HeikoS | i gotta run, see you! | 21:12 |
xAndreLopesx | cya :) | 21:12 |
-!- exploreshaifali [~shaifali@182.70.232.149] has quit [Quit: Leaving] | 21:13 | |
-!- HeikoS [~heiko@laptop-net.gatsby.ucl.ac.uk] has quit [Quit: Leaving.] | 21:13 | |
-!- sonne|osx [~sonne@f052088178.adsl.alicedsl.de] has quit [Quit: sonne|osx] | 21:18 | |
xAndreLopesx | DynamicObjectArray() doesnt work for java? | 21:23 |
xAndreLopesx | Well this : DynamicObjectArray doa = new DynamicObjectArray(); makes my JVM crash | 21:25 |
-!- vortex_ape [~vortex_ap@120.59.203.44] has quit [Ping timeout: 255 seconds] | 21:38 | |
-!- vortex_ape [~vortex_ap@120.59.77.221] has joined #shogun | 21:38 | |
-!- kshitijk [~kshitijk@115.249.18.25] has quit [Ping timeout: 255 seconds] | 21:41 | |
@lisitsyn | back | 21:44 |
@lisitsyn | xAndreLopesx: should work.. | 21:44 |
xAndreLopesx | it works now :) | 21:44 |
xAndreLopesx | i forgot to init shogun | 21:44 |
xAndreLopesx | but now its asking for labels... | 21:44 |
xAndreLopesx | im not sure what are labels in shogun | 21:44 |
xAndreLopesx | @lisitsyn | 21:45 |
@lisitsyn | xAndreLopesx: labels are target variables like class or probability | 21:46 |
xAndreLopesx | i never used them on ANN's | 21:46 |
xAndreLopesx | im a bit confused :( | 21:46 |
@lisitsyn | xAndreLopesx: well you probably want to predict something? ;) | 21:47 |
xAndreLopesx | yes | 21:47 |
xAndreLopesx | im making a stupid input-sum with 1 output | 21:47 |
@lisitsyn | when you train labels contain what you want to get | 21:47 |
xAndreLopesx | ah | 21:47 |
xAndreLopesx | so the labels are just the result i expect? | 21:47 |
@lisitsyn | yes | 21:47 |
@lisitsyn | and the result you get as well | 21:48 |
xAndreLopesx | got it | 21:48 |
@lisitsyn | when you classify some data you also get labels | 21:48 |
xAndreLopesx | for clustering, correct? | 21:48 |
xAndreLopesx | or SOM? | 21:48 |
@lisitsyn | hmm no we don't have som | 21:49 |
@lisitsyn | and no clustering | 21:49 |
xAndreLopesx | oh ok | 21:49 |
-!- abinashm [uid66179@gateway/web/irccloud.com/x-dgstmgfmchomthlq] has quit [Quit: Connection closed for inactivity] | 21:58 | |
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has quit [Remote host closed the connection] | 22:15 | |
xAndreLopesx | #lisitsyn How can print the error rate? | 22:16 |
@lisitsyn | xAndreLopesx: you using java? | 22:21 |
xAndreLopesx | yes | 22:21 |
@lisitsyn | let me find an example | 22:21 |
xAndreLopesx | trying to find net_no_reg.io.set_loglevel(MSG_INFO) | 22:21 |
-!- vortex_ape [~vortex_ap@120.59.77.221] has quit [Quit: Leaving] | 22:22 | |
@lisitsyn | xAndreLopesx: https://github.com/shogun-toolbox/shogun/blob/develop/examples/undocumented/java_modular/evaluation_multiclassaccuracy_modular.java | 22:22 |
@lisitsyn | xAndreLopesx: yes that would print training error | 22:22 |
@lisitsyn | or MSG_DEBUG | 22:22 |
xAndreLopesx | cant find that | 22:22 |
xAndreLopesx | no class with that tag that i can find | 22:23 |
@lisitsyn | what tag? | 22:23 |
xAndreLopesx | log level | 22:23 |
xAndreLopesx | i meant. | 22:23 |
@lisitsyn | MSG_DEBUG? | 22:24 |
xAndreLopesx | anything related to log at all | 22:24 |
@lisitsyn | xAndreLopesx: maybe org.shogun.EMessageType.MSG_DEBUG? | 22:30 |
xAndreLopesx | thanks! | 22:31 |
xAndreLopesx | do you know wheres the package to set this log level? | 22:31 |
@lisitsyn | xAndreLopesx: just get io of any object | 22:32 |
xAndreLopesx | ah | 22:32 |
@lisitsyn | try something like neuralNet.io.set_loglevel(org.shogun.EMessageType.MSG_DEBUG); | 22:33 |
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has joined #shogun | 22:33 | |
xAndreLopesx | io returns me | 22:33 |
xAndreLopesx | SWIGTYPE_p_shogun__SGIO | 22:33 |
@lisitsyn | yeah then call set_loglevel | 22:35 |
@lisitsyn | and it will output all the stuff | 22:35 |
-!- pickle27 [~pickle27@192-0-134-235.cpe.teksavvy.com] has quit [Remote host closed the connection] | 22:35 | |
xAndreLopesx | nn.getIo().set_loglevel(1); | 22:36 |
xAndreLopesx | cant find method | 22:36 |
@lisitsyn | why getIo? | 22:36 |
xAndreLopesx | you said to get IO of any object :P | 22:37 |
-!- prakhar2511 [~prakhar25@202.78.172.162] has joined #shogun | 22:39 | |
@lisitsyn | it is a field | 22:39 |
xAndreLopesx | theres no io in neural network object | 22:40 |
@lisitsyn | hmm this sucks :) | 22:42 |
xAndreLopesx | :( | 22:43 |
@lisitsyn | xAndreLopesx: I have to compile java interface | 22:43 |
-!- aditya95 [6f5d0646@gateway/web/freenode/ip.111.93.6.70] has quit [Ping timeout: 246 seconds] | 22:46 | |
xAndreLopesx | Exception in thread "main" java.lang.NullPointerException: vector expected | 22:46 |
xAndreLopesx | ok im stopping for tonight | 22:46 |
xAndreLopesx | im lost | 22:47 |
-!- prakhar2511 [~prakhar25@202.78.172.162] has quit [Ping timeout: 252 seconds] | 22:48 | |
-!- xAndreLopesx [b194c420@gateway/web/cgi-irc/kiwiirc.com/ip.177.148.196.32] has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] | 22:57 | |
-!- anishshah_ [uid50585@gateway/web/irccloud.com/x-skszbzaeiltovluw] has quit [Quit: Connection closed for inactivity] | 23:50 | |
--- Log closed Thu Feb 19 00:00:26 2015 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!