Open in new window / Try shogun cloud
--- Log opened Sat Apr 26 00:00:22 2014
-!- khalednasr [~k.nasr92@] has quit [Ping timeout: 265 seconds]00:04
-!- HeikoS [] has joined #shogun01:47
-!- mode/#shogun [+o HeikoS] by ChanServ01:47
-!- HeikoS [] has quit [Quit: Leaving.]02:01
-!- soumyaC [uid15286@gateway/web/] has quit [Quit: Connection closed for inactivity]03:46
-!- PirosB3 [] has joined #shogun04:10
-!- PirosB3 [] has quit [Quit: PirosB3]04:42
-!- kislay [~Abhijeet@] has joined #shogun08:56
-!- kislay [~Abhijeet@] has quit [Read error: Connection reset by peer]09:00
-!- kislay [~Abhijeet@] has joined #shogun09:46
-!- kislay [~Abhijeet@] has quit [Ping timeout: 252 seconds]10:04
-!- kislay [~Abhijeet@] has joined #shogun10:04
-!- khalednasr [~k.nasr92@] has joined #shogun10:58
-!- khalednasr [~k.nasr92@] has quit [Client Quit]11:01
-!- kislay [~Abhijeet@] has quit [Ping timeout: 252 seconds]11:38
-!- kislay [~Abhijeet@] has joined #shogun11:57
-!- kislay [~Abhijeet@] has quit [Ping timeout: 240 seconds]12:16
-!- kislay [~Abhijeet@] has joined #shogun12:17
-!- PirosB3 [] has joined #shogun13:31
-!- kislay [~Abhijeet@] has quit [Quit: Leaving]13:34
-!- lambday [67157f4f@gateway/web/freenode/ip.] has joined #shogun13:39
-!- lambday [67157f4f@gateway/web/freenode/ip.] has quit [Quit: Page closed]14:31
-!- thor|alf [] has joined #shogun14:46
thor|alflisitsyn: Ping?14:46
thor|alflisitsyn: I don't understand your last comment to
-!- PirosB3 [] has quit [Quit: PirosB3]14:57
lisitsynwell I mean if you want to restrict copies14:57
lisitsynyou do it this way14:57
lisitsyn= delete14:57
lisitsynso that it is explicitly deleted14:58
thor|alfI feel totally lost.  Do you mean adding a " = delete" to the header like " = 0" sometimes?14:58
lisitsynthor|alf: exactly14:59
lisitsynthis means you won't provide implementation of this method anywhere14:59
lisitsynthor|alf: when it is used you will be errored with quite meaningful message that the constructor you use is explicitly deleted15:00
lisitsyninstead of 'undefined reference to ...'15:00
thor|alfAh, cool!15:00
thor|alfNow I understand.15:00
thor|alfDeleting the implementation, but keeping (a modified) declaration.15:01
thor|alfIs it part of the c++ standard or something gcc-ish or GNU-ish?15:02
thor|alfNever seen this.15:02
thor|alfIs declaring "delete" for operator= needed as well?  Wouldn't it mean that we cannot copy using "=" any more?15:06
thor|alfI only want to restrict new CSGObject(*other_object), but not "CSGObject foo = other_object;".15:07
thor|alflisitsyn: Or are they tied in a way I don't see yet?15:08
lisitsynthor|alf: sorry was afk15:11
lisitsynthor|alf: yeah it is C++1115:12
lisitsynwell operator= is quite similar15:12
thor|alfDo you mean "=" has got the same bug?15:12
lisitsynthor|alf: no not really15:12
lisitsynthor|alf: I mean usually they come along15:12
lisitsynthor|alf: so e.g. if you don't allow copying you usually don't allow assignment as well15:13
thor|alfOkay, but if I forbit assignment, this will break shogun.15:13
thor|alfWe will force everybody to use only references, because "normal" instances cannot be assigned any more.15:14
lisitsynthor|alf: yeah15:15
lisitsynthor|alf: then it is not the case :)15:15
lisitsynthor|alf: though it looks pretty ok to use only references15:25
-!- lisitsyn1 [] has joined #shogun15:26
-!- lisitsyn [] has quit [Ping timeout: 240 seconds]15:29
thor|alflisitsyn1: I'll check what happens.  Thanks for pointing this out15:31
-!- soumyaC [uid15286@gateway/web/] has joined #shogun16:02
-!- lambday [67157f4f@gateway/web/freenode/ip.] has joined #shogun17:02
lisitsyn1thor|alf: :D17:26
lisitsyn1thor|alf: the boss is out of house17:26
lisitsyn1thor|alf: we need more security facing the threats of space invaders :D17:27
lisitsyn1that's actually putiphone17:27
thor|alfStill looping.17:30
lambdaythor|alf: could you please stop my travis build?17:32
lambdaythor|alf: silly overlooking :(17:32
thor|alfI can't.17:33
thor|alflambday: It's only you and me.17:40
thor|alfI just decided to do my laundry while waiting for Travis, so really no worries.17:41
lambdaythor|alf: both on travis and on this chatroom? :P17:41
thor|alflambday: Hmm.  Let me check.17:41
thor|alflisitsyn1: You're listening or not?17:41
lambdayhe's out!17:42
lisitsyn1thor|alf: hmm not really :)17:42
lambdayoh he's in!  :D17:42
thor|alfHaha. :D17:42
lisitsyn1highlight me17:42
lisitsyn1if I am not here after highlight then I am out :)17:42
lambdaylisitsyn1: how? <i>lisitsyn1</i>17:42
lambdayor you prefer to be bold?17:42
lisitsyn1lambday: nickname ;)17:43
-!- lisitsyn1 is now known as lisitsyn17:43
lisitsynI am already bold and I don't like it :D17:43
lambdaylisitsyn: run forest run17:43
lisitsynthor|alf: so what's up?17:43
thor|alflisitsyn: Nothing.  lambday asked if we're alone in the channel or not...17:44
lambdayiirc last year this time we were pouring words like rain in this chatroom17:45
thor|alflisitsyn: Sorry for waking you up, but I thought you're always happy to chat.17:45
lisitsynthor|alf: sure ;)17:45
thor|alf(Disclaimer: Unable to smalltalk about music. ;))17:45
lisitsynthat's pretty clear ;)17:46
lambdaythor|alf: ah finally that errorneus build finished! now I can die in peace!17:46
-!- HeikoS [~heiko@] has joined #shogun17:56
-!- mode/#shogun [+o HeikoS] by ChanServ17:56
lambdayHeikoS: hey!18:00
@HeikoSlambday: hey!18:00
@HeikoShow are things?18:00
lambdayHeikoS: good. sent the symmetry related patch first18:01
lambdayHeikoS: modified QuadraticTimeMMD - but not fully finished18:01
lambdaythinking of having a setter for depricated implementation and new implementation18:02
@HeikoSlambday: what about just having various different enums for the null approximation?18:02
lambdayHeikoS: how's Iceland?18:02
@HeikoSlambday: quite cool, climbed a mountain yesterday18:02
lambdayHeikoS: ah nice! :D18:03
@HeikoSwith snow and stuff, really cool18:03
lambdayHeikoS: yeah enums would be there18:03
@HeikoSlambday: then no need to change htings, just add some new private methods18:03
lambdayHeikoS: no I mean, the statistic returned is also different - so its not just MMD2_SPECTRUM/MMD2_SPECTRUM_DEPRECATED but we should have deprecated methods as well18:04
lambdaybecause compute_biased_statistic/compute_unbiased_statistic would return different values18:05
@HeikoSbut thats also possible wiht enums right?18:05
@HeikoSlambday: in fact the deprecated impl should not be exposed to bright18:05
@HeikoSshould not be used18:05
@HeikoSso only need constructor for other one18:05
@HeikoSand then have some setter to change enum internally (well documented etc)18:05
lambdayHeikoS: I am not fully getting how this would work - I mean, for setting null_approximation methods we can use the enums18:07
@HeikoSthere already is the MMD_biased and unbiased, cant we just extend that?18:07
lambdaybut those would internally use compute_statistic methods which would be having two different impl.... one for new one that returns mn/(m+n)*MMD^2 and previous ones which returned (m+n)*MMD^218:08
lambdayHeikoS: umm yeah - then we'd have to set quite a lot of enums18:08
@HeikoSlambday: ok whats you suggestion?18:09
lambdayHeikoS: what I was thinking is to have two copies of pvt methods - compute_unbiased_statistic_DEPRECATED() and compute_unbiased_statistic() .... then by using just one flag use_deprecated, we can switch which method to use - for null approximation method we'll have to set enum anyway18:11
lambdaybut since statistic returned is also changed, so to compare we gotta keep both, right18:12
@HeikoSlambday: ok thats fine, as long as all this deprecated stuff is hidden to the outside18:12
@HeikoSlambday: I would just use a setter for that, not constructor, people should not really use that18:12
lambdayHeikoS: yeah definitely a setter18:13
@HeikoSjust put good documentation, i.e. reference to papers, etc18:13
lambdayHeikoS: yeah - modified the documentation already18:13
-!- thor|alf [] has quit [Quit: Konversation terminated!]18:14
lambdayHeikoS: btw computing variance can be done on the fly when computing statistic - so should I add a method compute_statistic_and_variance() or have two separate methods for that? because, say, we're using PERMUTATION and then computing asymptotic variance for every single iteration isn't really needed18:15
@HeikoSlambday: yes I think thats a good idea18:17
@HeikoSlambday: though again, document why you do this18:17
lambdayHeikoS: which one is good idea? having two separate methods?18:17
@HeikoSlambday: we want to keep the design as clean as possible, not corrupt just due to old buggy papers ;)18:17
lambdayhehe :D18:17
lambdayHeikoS: yeah trying to keep things well documented..18:18
@HeikoSlambday: how much overhead is it to compute the variance always?`Also, streaming version should only use data once18:21
lambdayHeikoS: yeah for streaming version its done in one go - for computing var alongwith statistic we need to compute sums/squared-sums row-wise - so overhead isn't the kernel calls but extra arithmatic to compute stuff..18:24
@HeikoSthat shouldnt be too much right?18:24
lambdayHeikoS: I guess so - unless we use permuation test18:24
lambdayHeikoS: having separate methods would require to recompute kernel values as well18:25
@HeikoSlambday: well thats bad18:25
@HeikoSwe dont want this18:25
@HeikoSrather have some neglectible overhead for the variance18:25
lambdayHeikoS: how about we add both - I mean, sometimes we just want to estimate the statistic and not the asympotic var - so one compute_statistic would do that and another compute_statistic_and_variance would compute both18:26
@HeikoSlambday: ok thats also fine18:29
@HeikoSlambday: but maybe only internally?18:29
@HeikoSor do we need this from the outside?18:29
lambdayHeikoS: I think internally it can be done - just need to make sure which are the things we need from outside18:30
lambdayHeikoS: we need var under null and alternative, right?18:31
lambdayso, instead of exposing the compute_statistic_and_variance() to outside, we can have compute_variance() returning both var estimations under null and alternative18:32
lambdaywhich is exposed18:32
lambdayand compute_statistic() is exposed18:32
@HeikoSyep nice!18:34
-!- lambday [67157f4f@gateway/web/freenode/ip.] has quit [Ping timeout: 240 seconds]18:46
-!- lambday [67157f4f@gateway/web/freenode/ip.] has joined #shogun18:47
lambdayHeikoS: hey!18:49
lambdayHeikoS: sorry I got dc18:49
lambdayHeikoS: Integration test is failing due to fixed lhs_equals_rhs flag in data18:50
@HeikoSlambday: yep thats expected18:50
lambdayHeikoS: how do I fix this?18:50
@HeikoSlambday: update the test using in integration test dir18:54
@HeikoSlambday: update the test using in integration test dir18:54
lambdayHeikoS: okay18:54
lambdayHeikoS: you mean generate_testdata.py18:56
lambdayHeikoS: yeah got it18:56
@HeikoSlambday: you need to commit this to shogun-data, then update the data version of your PR18:59
@HeikoSI merge first, then travis will work again18:59
lambdayHeikoS: okay.. thanks18:59
-!- HeikoS [~heiko@] has quit [Quit: Leaving.]19:00
-!- HeikoS [~heiko@] has joined #shogun19:08
-!- mode/#shogun [+o HeikoS] by ChanServ19:08
-!- HeikoS [~heiko@] has quit [Quit: Leaving.]19:28
-!- lambday [67157f4f@gateway/web/freenode/ip.] has quit [Ping timeout: 240 seconds]19:36
-!- khalednasr [~k.nasr92@] has joined #shogun20:09
-!- khalednasr [~k.nasr92@] has quit [Quit: Leaving]21:15
-!- HeikoS [] has joined #shogun22:55
-!- mode/#shogun [+o HeikoS] by ChanServ22:55
-!- HeikoS [] has quit [Quit: Leaving.]23:02
-!- HeikoS [] has joined #shogun23:03
-!- mode/#shogun [+o HeikoS] by ChanServ23:03
-!- iglesiasg [] has joined #shogun23:50
-!- mode/#shogun [+o iglesiasg] by ChanServ23:50
-!- HeikoS [] has quit [Quit: Leaving.]23:55
--- Log closed Sun Apr 27 00:00:23 2014