IRC logs of #shogun for Sunday, 2018-01-21

--- Log opened Sun Jan 21 00:00:28 2018
-shogun-buildbot:#shogun- Build nightly_all #76 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/22/builds/7607:12
-shogun-buildbot:#shogun- Build coverity analysis #23 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/7/builds/2308:54
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun10:54
-!- mode/#shogun [+o HeikoS] by ChanServ10:54
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf11:12
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf11:13
@HeikoSlisitsyn: see above, this project description is done now11:13
lisitsynchecking11:16
lisitsynHeikoS: that's good thanks a lot!11:18
@HeikoSlisitsyn: hopefully this is concrete enough for those students to get it11:18
@HeikoSlisitsyn: could you write a little user story for exceptions?11:18
@HeikoSlike how it should look like from the outside?11:18
lisitsynHeikoS: ok on it11:21
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf11:21
@HeikoSlisitsyn: just added this: Write user stories! Those are pseudo-code examples of how the user interacts with the library, and how that should look like. Your application needs to contain a couple of those (and ideas how to make them happen inside Shogun). Cover all the topics you want to address (see below), and try to be as precise as possible. See also below for more details.11:21
@HeikoSyou can put yours under "useful ressources" on the bottom11:21
lisitsynargh11:27
lisitsynyou keep changing it :)11:27
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by lisitsyn11:27
lisitsynHeikoS: updated the exceptions part11:27
@HeikoSmerci11:27
@HeikoSlisitsyn: what did you change?11:29
@HeikoScant figure out how to look at the diff11:29
lisitsynHeikoS: exceptions11:29
lisitsyn"Exception handling"11:29
@HeikoSwere is the user story? :)11:30
lisitsynHeikoS: not sure :)11:31
lisitsynhow?11:31
@HeikoSlisitsyn: example of a user doing something wrong and getting an exception11:31
@HeikoSjust to be very concrete11:31
lisitsynok11:32
@HeikoSlisitsyn: one thing I would like to see11:32
@HeikoSis for OutOfBound stuff11:32
@HeikoSwhat is provided and what is expected, should be automatically part of the error message11:32
lisitsynI am not sure OutOfBounds deserves exception11:32
@HeikoSit shouldnt be up to the developer to write this everytime11:32
@HeikoSbecause we forget11:32
lisitsynuhmm11:32
lisitsynHeikoS: okay that can be solved other way11:32
@HeikoSI think it should11:33
lisitsynAssertionError out_of_bounds()11:33
lisitsynlike that11:33
@HeikoSand also I think there should be examples for those things11:33
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by lisitsyn11:35
lisitsynHeikoS: ok added simplest example11:35
@HeikoSthx11:42
@HeikoSgut11:42
@HeikoSlisitsyn: question12:04
@HeikoSlisitsyn: remember when we said that we don't want predict_log_proba?12:04
@HeikoSand we said, the probabilities should just be included in the labels?12:04
@HeikoSso what do we do for cases like the GMM12:04
@HeikoSwhere classification is extremely cheap, but computing the probaility is a bit more expensive computationally12:05
lisitsynHeikoS: it can be lazy12:05
lisitsynbut I don't like that12:05
@HeikoSmmh12:05
lisitsynHeikoS: I'd go with some flags for predict12:06
lisitsynnot sure how12:06
@HeikoSso say you call gmm.predict(feats)12:06
@HeikoSmake it gmm.predict(feats, log_proba=true)12:06
lisitsynyes but it is not portable swig-wise12:06
@HeikoSwhats wrong with a sep method then12:06
lisitsynnothing12:07
@HeikoSgmm.predict_log_proba(feats)12:07
lisitsynI am actually fine with log_proba thing12:07
@HeikoSkk12:07
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: Hackathon-2017-base-api edited by karlnapf12:08
@HeikoSlisitsyn: another Q12:08
@HeikoSlisitsyn: multiple inheritance?12:08
@HeikoSso GMM is a distribution AND a machine12:09
lisitsynI don't know12:09
@HeikoSit has things like12:09
lisitsynI never checked how it works with swig12:09
@HeikoSGaussian* get_component(idx)12:09
@HeikoSI mean we dont really need a base class for that12:09
lisitsynHeikoS: .as_distribution() .as_machine()12:09
@HeikoSjust all the algorithms can offer that interface12:09
@HeikoSI see12:09
@HeikoSah yes good12:10
lisitsynmore explicit12:10
@HeikoSgmm.as_distribution().as_mixture().get_component(idx)12:10
lisitsynyeah12:10
@HeikoSgmm.as_classifier().predict(feats)12:10
lisitsynyes12:10
lisitsynbetter imo12:10
@HeikoSgmm.as_distribution.predict(feats) # returns log_proba12:10
lisitsynexactly12:10
@HeikoSkk12:10
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: Hackathon-2017-base-api edited by karlnapf12:13
@HeikoSlisitsyn:12:18
@HeikoSgmm = sg.GMM()12:18
@HeikoSgmm.fit(features)12:18
@HeikoSgmm.predict(features_test) # returns discrete labels, classification12:18
@HeikoSgmm.as_classifier().predict(features_test) # same as above12:18
@HeikoSgmm.as_distribution().predict(features_test) # returns the log-probability for each component for each data12:18
@HeikoSgmm.as_distribution().as_mixture().get_component(idx) # returns a Gaussian component12:18
@HeikoSgmm.as_distribution().sample(100) # returns 100 samples from the mixture12:18
@HeikoSgmm.algorithm = "split_and_merge_em"12:19
@HeikoSgmm.algorithm = "em"12:19
lisitsynlooks good12:19
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf12:19
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf12:19
@HeikoSlisitsyn: how does this "as_*" stuff work internally?12:21
lisitsynCMachine* as_machine()12:23
lisitsynCDistributioon* as_distribution()12:23
lisitsynHeikoS: we implement wrapper on top of GMM that calls appropriate methods12:23
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_usability edited by karlnapf12:23
@HeikoSkk12:23
@HeikoSand otherwise runtime error12:23
lisitsynyes12:24
lisitsynHeikoS: ok I think I have something arrayish12:25
@HeikoSDO IT12:25
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4096 opened by lisitsyn12:27
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/409612:27
lisitsynlike that ^12:27
lisitsynHeikoS:12:27
lisitsynHeikoS: so we register using make_any_ref_array and equals should work then12:29
lisitsynclone is a bit more tricky but I think I know how to do that12:29
@HeikoSwhat if it is an array of CSGObject* ?12:29
lisitsynoh12:29
@HeikoSthen equals needs to call ->equals on the elements12:29
lisitsynok let me call our equals thingy12:29
lisitsynyes12:29
@HeikoSI think we should not allow array of SGVector12:29
@HeikoSor shall we?12:30
@HeikoSyour call12:30
@HeikoSin that case need to check calling ".equals" as well12:30
@HeikoSand then there is floats12:30
@HeikoSI was thinking you could interpret any of the array elements as an any and then use that code for equals and clone?12:30
lisitsynehh12:30
lisitsynno comprendo12:31
@HeikoSnw12:32
@HeikoSignore the last thing12:32
@HeikoSbut std::equals will only work for basic types12:32
lisitsynHeikoS: I will use any_detail::compare12:33
lisitsynin std::equal12:33
@HeikoSah12:33
@HeikoSsorry I didnt realise that happens12:33
lisitsynHeikoS: I didn't as well12:34
lisitsyn:)12:34
@HeikoShehje12:34
@HeikoSbeauty of good code12:34
@HeikoSit does what you want even you didnt realise that it should12:34
@HeikoSI am fine merging this.12:35
lisitsynHeikoS: not yet!12:35
@HeikoStest passes?12:35
lisitsynneeds std::equal12:35
lisitsynwith compar12:35
@HeikoSokok12:35
lisitsynHeikoS: ok I will merge once it all works12:35
@HeikoSkk12:35
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml created by karlnapf12:40
@HeikoSlisitsyn: https://github.com/shogun-toolbox/shogun/wiki/GSoC_2018_project_efficient_ml12:40
@HeikoSmore to read12:40
@HeikoSlisitsyn: ill put you down12:41
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by karlnapf12:42
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by karlnapf12:42
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4096 synchronized by lisitsyn12:42
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by karlnapf12:43
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by karlnapf12:44
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_detox created by karlnapf12:47
@HeikoSah so much writing12:47
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Ping timeout: 260 seconds]12:55
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun14:18
-!- mode/#shogun [+o HeikoS] by ChanServ14:19
@wikingmuuu15:29
@wikingtime to write applications15:29
Trixiswiking: gsoc?15:33
@wikingyes15:33
Trixisneat15:33
@wikingTrixis, are you applying? :)15:33
Trixisdont think so, trying eth cs, amgen right now15:34
@wiking?15:34
@wikingwhat? .)15:34
@wikingto many abbrev in that sentence :)15:35
Trixisoh thought you meant applying for gsoc as a participant15:35
@wikingyes i meant that15:35
@wiking:))15:35
Trixisah right, ETH computer science dept has an statistics / ml summer thing, so thats one of the things im applying for15:35
@wikingah15:36
@wikingdidn't know15:36
@wiking:)15:36
Trixisthe other is amgen scholars, within that mathematical biology15:36
@wikingu know that i'm at eth atm :D15:36
-!- witness [uid10044@gateway/web/irccloud.com/x-copkzveowurjuhvu] has joined #shogun15:36
Trixisi think gunnar raetsch's lab is participating in that15:36
Trixisheh15:36
@wikingyeah i'm with gunnar15:37
@wiking:)))15:37
Trixisneat15:37
@wikingso i guess i see you in summer if you get accepted15:37
Trixisa researcher i've worked here with is gunnar's former colleague15:37
Trixiskind of want to do bit more of the theoretical aspect this summer15:38
Trixisive been trying to get a paper so that i have two by the time i finish undergrad (hence why gsoc isnt that high up)...15:46
@HeikoSwiking: jojo16:16
@wikingy-16:16
@wikingo16:16
@HeikoSwiking: so gsoc projects16:17
@HeikoSI have finished two16:17
@HeikoSnow want to write another one16:17
@wikinggreat16:17
@HeikoSsergey gave some good inputs for the other ones16:17
@HeikoSfrom that, I have phrased this gsoc to focus on usability16:17
@HeikoSso have user experience project16:18
@HeikoSand getting rid of shitty implementations16:18
@HeikoSnow I wanted to write one for michele16:18
@HeikoSwhich was about the features16:18
@HeikoSand the type free matrix stuff I guess16:18
@HeikoSno I am wondering, what is that about?16:18
@HeikoScomments?16:18
@HeikoSso e.g. we have this guy16:19
@HeikoShttps://github.com/shogun-toolbox/shogun/pull/385416:19
@HeikoSwiking: so I was thinking of calling the project "detox" again16:20
@HeikoSand want to address the features refactor stuff (clean API, views, const), the type free matrix stuff16:21
@HeikoSbut want to structure that a bit more16:21
@wiking:+116:21
@HeikoSbut then I realised, things are not really spelled out yet16:21
@HeikoSlike how will we do the views?16:22
@HeikoShow does the API look like16:22
@HeikoSand finally, how to implement the type free matrix stuff16:22
@HeikoSOR, shall we start with a reference implementation of that type free stuff first, to fix the API. And then maybe change things internally later16:22
@HeikoSlisitsyn: ^ you might have thoughts as well16:23
@HeikoSwiking: and then finally, what else should be in there?16:23
@HeikoS(the detox project)16:24
@wikingnot too much16:24
@wikingas anyways16:24
@wikingusually we only get to make16:24
@wiking50%16:24
@wikingof what is planned16:24
@wikingas the usual changes and 'oh we didnt think of that' stories16:24
@HeikoSyeah +116:24
@HeikoSok cool, so let's stay with features and linalg then16:24
@HeikoSwiking:  and comments on the rest?16:25
@wikingjust going through16:26
@wikinghavent had any time in the last 2 days to do things regarding this16:26
@HeikoSnot needed I guess16:27
@wiking?16:27
-!- wiking [~wiking@huwico/staff/wiking] has left #shogun ["Leaving"]16:27
@HeikoSjust want to brainstorm a bit on what we plan on doing in the detox216:27
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun16:27
-!- mode/#shogun [+o wiking] by ChanServ16:27
@wikingwhat do you mean?16:27
@wiking[16:25]  <HeikoS> wiking:  and comments on the rest?16:27
@HeikoSdetox3 I meant16:27
@HeikoSfeatures and linalg matrix16:27
@HeikoSwiking: so I was hoping to brainstorm a list of goals for the detox project with you, slightly more detailed that what I wrote above16:35
@HeikoSlisitsyn: there?16:57
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_detox edited by karlnapf17:26
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_detox edited by karlnapf17:28
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: Google-Summer-of-Code-2018-Projects edited by karlnapf17:29
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: Google-Summer-of-Code-2018-Projects edited by karlnapf17:31
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Ping timeout: 256 seconds]17:35
-!- yash_ [01ba2545@gateway/web/freenode/ip.1.186.37.69] has joined #shogun17:51
yash_Hello Devs !17:51
yash_I'm relatively new to open source contributions but I would love to contribute to the community17:52
yash_Is there any way I can help ? I can't understand the issues on the issues page17:54
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun18:22
-!- mode/#shogun [+o HeikoS] by ChanServ18:22
@wikingyash_, welcome! you should definitely check out our wiki how to get started18:30
@wikingyash_, https://github.com/shogun-toolbox/shogun/wiki/Getting-involved18:31
yash_Thanks.18:32
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4096 synchronized by lisitsyn18:41
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Quit: Leaving.]18:46
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun18:46
-!- mode/#shogun [+o HeikoS] by ChanServ18:47
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Ping timeout: 248 seconds]18:54
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by rcurtin19:10
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by rcurtin19:10
rcurtinoh nice, notifications about wiki changes19:11
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has joined #shogun19:11
-!- mode/#shogun [+o HeikoS] by ChanServ19:11
rcurtinHeikoS: saw the wiki page, looks good to me19:11
rcurtinI am able to edit it actually, which was surprising to me19:12
@HeikoSrcurtin: great19:12
@HeikoSyes I opened the wiki to the public a while ago19:12
@HeikoSeveryone can edit19:12
@HeikoSbut we will get notified19:12
@HeikoSmight turn it off if we get trolled, but for now this is easier because then for example you can edit19:12
@sukey[https://github.com/shogun-toolbox/shogun] Wiki page: GSoC_2018_project_efficient_ml edited by rcurtin19:13
rcurtinahh, ok19:13
rcurtinwell I think I am not trolling :)19:13
@HeikoShehe19:13
rcurtinthe main problem with a semi-acronym name is that everyone capitalizes it differently :(19:13
rcurtinI try to be consistent (and make things consistent) but I think it is a futile battle19:13
@HeikoSrcurtin: keep in mind europeans dont capitalise everything :19:14
@HeikoS:D19:14
@HeikoSSection headers look like this19:14
@HeikoSand only names are capital19:14
@HeikoSMarkov chain Monte Carlo19:14
@HeikoSetc19:14
@HeikoS :)19:14
@HeikoSbut whatever19:14
@HeikoSthx for getting involved19:14
@HeikoSrcurtin: so a question I have for you19:14
@HeikoSit would be cool to have a feature that spits out the "worst" cases for a library19:15
@HeikoSi.e. cases where it is ranked last, or cases where it fails19:15
@HeikoSas a list19:15
rcurtinhmm, you could do this by postprocessing the SQL results19:15
rcurtinI think it would be a fairly easy query too19:16
@HeikoScould I make an entrance task for that and send people to you?19:16
rcurtinthe system can run and output results into an SQL database or into SQLite too, so it's easy to just grab a database and go to town with the sqlite3 db19:16
rcurtinthat would be fine, but definitely we should talk with Marcus and see what he thinks the interface for that should be19:16
rcurtinlike right now we kind of have a command-line interface to actually run the benchmarks, and some HTML/JS to view the results19:17
rcurtinbut this seems like something separate, a simple script to analyze results19:17
rcurtinmy initial inclination is that maybe this would fit well into some kind of new results/scripts/ directory, which can contain simple scripts to work with the results19:17
rcurtinbut maybe Marcus has a better idea19:18
rcurtinand how to test the code to be submitted will be a little bit of an issue, we might need to set up some infrastructure for that19:19
@HeikoStrue all19:20
@sukey[https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4097 opened by karlnapf19:23
rcurtinanyway I am a bit swamped at the moment but I think the right thing to do is see what Marcus thinks and go from there19:23
@sukey[https://github.com/shogun-toolbox/shogun] Issue https://github.com/shogun-toolbox/shogun/issues/4097 karlnapf added label: "good first issue"19:23
@HeikoSrcurtin: tada19:23
@HeikoSrcurtin: https://github.com/shogun-toolbox/shogun/issues/409719:23
@HeikoSzoq: ^19:24
rcurtinsounds good, let's see what happens :)19:25
zoqAgreed, a simple preprocessing script sounds like a good idea, at the end, it's just a simple SQL query.19:34
zoqWe could provide some simple scripts apart from the HTML/JS interface for the most common tasks.19:35
zoqI guess you could also write a simple Jupiter notebook? I think you could provide some input on that?19:35
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4096 merged by lisitsyn20:01
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/2b3a8631dbdc017e74c83e561176d1526eba53e7 by lisitsyn20:01
@HeikoSzoq: thanks for the comments ... put that into the entrance task20:15
@HeikoSwill see how that goes20:15
-!- yash_ [01ba2545@gateway/web/freenode/ip.1.186.37.69] has quit [Ping timeout: 260 seconds]20:15
-!- HeikoS [~heiko@host86-129-231-92.range86-129.btcentralplus.com] has quit [Ping timeout: 240 seconds]20:19
-!- yash_ [01ba2545@gateway/web/freenode/ip.1.186.37.69] has joined #shogun20:25
-!- yash_ [01ba2545@gateway/web/freenode/ip.1.186.37.69] has quit [Ping timeout: 260 seconds]21:07
-!- travis-ci [~travis-ci@ec2-54-144-8-11.compute-1.amazonaws.com] has joined #shogun21:41
travis-ciit's Sergey Lisitsyn's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/33153368621:41
-!- travis-ci [~travis-ci@ec2-54-144-8-11.compute-1.amazonaws.com] has left #shogun []21:41
--- Log closed Mon Jan 22 00:00:29 2018

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