Open in new window / Try shogun cloud
--- Log opened Thu Apr 04 00:00:19 2013
-!- heiko [] has quit [Quit: Leaving.]00:10
-!- zxtx [] has joined #shogun01:25
-!- n4nd0 [] has quit [Quit: leaving]02:02
-!- shogun-notifier- [] has quit [Quit: transmission timeout]02:19
shogun-buildbot_build #343 of nightly_default is complete: Success [build successful]  Build details are at
-!- shogun-notifier- [] has joined #shogun08:35
shogun-notifier-shogun: Soeren Sonnenburg :master * 385bd08 / / (6 files):
shogun-notifier-shogun: really fail on buildbot when new tests fail08:35
shogun-notifier-shogun: - require new data version with updated test-data08:35
shogun-notifier-shogun: - seed randomized examples for reproducible results08:35
shogun-notifier-shogun: - let tester display list of failed examples08:35
@sonney2kblackburn, that should do it...08:35
shogun-buildbot_build #995 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>09:17
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]09:50
-!- n4nd0 [] has joined #shogun10:09
-!- lambday [b613104f@gateway/web/freenode/ip.] has joined #shogun10:28
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 260 seconds]10:53
-!- wiking [] has joined #shogun10:53
-!- n4nd0 [] has quit [Quit: leaving]11:09
-!- n4nd0 [] has joined #shogun11:10
-!- shogun-notifier- [] has quit [Quit: transmission timeout]11:35
-!- heiko [] has joined #shogun11:37
-!- blackburn [] has joined #shogun11:41
blackburnsonne|work: libsvr?11:42
blackburnhah we never know what will fail11:42
heikoblackburn: thats my fault11:43
heikowhat is failing?11:43
heikoblackburn:  ah I fucked up the data again :(11:45
blackburnheiko: hah alright11:46
heikoblackburn: where do I have to commit data again? which dir?11:46
blackburnheiko: shogun/data11:46
blackburnheiko: ah btw I need your comments on11:46
blackburnheiko: ah and one more thing11:48
blackburnheiko: what do you think about the following syntax11:48
blackburnheiko: svm.parameter("width").set(5.0);11:48
blackburnthe latter with enum could be easily implemented as I see11:50
heikoblackburn: for what?11:50
heikoin order to avoid getter/setter stuff?11:50
blackburnheiko: yes11:50
heikovery cool idea11:50
heikomuch easier11:50
heikobetter to implement etc11:50
blackburnheiko: but not only for that11:50
heikoI think we should use strings11:50
heikosince do not have to mess with enums,11:51
heikothats always annoying in python11:51
blackburnheiko: yes I like strings but enum is easier to implement11:51
heikoblackburn: what means easier? for who?11:51
blackburnheiko: for us and users11:51
heikolets do the thing thats easier for users11:51
blackburnparameter(DoubleParameterEnum) would return the thing11:51
heikobut why?11:51
blackburnthat can be set only with double11:51
blackburnthat's not that easy with string11:52
heikoblackburn: my fear is that one forgets to define those enums11:52
blackburnyeah I like strings too11:52
blackburnyou know it is an anti-pattern11:52
blackburnbut still11:52
heikoblackburn: as for the model selection syntax, we really have to think about all possible cases11:52
heikothis was a horrible pain to implement 2 years ago, since so many possible combinations11:53
heikoso whatever we use, lets keep all combinations in mind11:53
blackburnheiko: so you do hate getters too?11:53
heikoin the c++ examples, I covered most of the possible parameter trees11:53
heikoblackburn: yes totally11:53
heikowhy do we have the parameter framework?11:53
heikohaha :D11:53
blackburnheiko: my idea is to store all parameters in map11:54
heikoblackburn, so your example in the issue are fine11:54
heikobut problems is sub-parameters11:54
blackburnheiko: like?11:54
heikolike sonney2k 's exam?ple11:54
blackburnno that's not a problem11:54
blackburnlet me show how would I do that11:55
heikoblackburn: I like this syntax more11:55
heikosince it is more clear what hjappens11:55
blackburnheiko: which syntax do you like more?11:56
sonne|workheiko: failing libsvr makes sense - please commit to data and then do git add data and commit from the main repo and while you are at it please also regenerate for - I've changed that too11:56
heikosonne|work: already did, I will add the kernel stuff11:57
lambdayheiko, blackburn : hi :) morning11:57
sonne|workheiko: but did you git push to data11:57
blackburnlambday: hey11:57
sonne|workheiko: *and* to the src repo?11:57
lambdayheiko, blackburn : I made some changes in that commit..11:57
blackburnheiko: yeah you probably forgot to update link in shogun11:57
heikolambday: morning!11:58
blackburngit add data11:58
lambdaynow it uses amd for both older and newer eigen11:58
blackburnshogun/data I mean11:58
blackburnlambday: nice11:58
heikoblackburn, what is the procedure to update data commits? sorry for being stupid but I thought I have to push to data and thats it?11:58
heikolambday: very good!11:58
blackburnheiko: no, go to shogun main repo now11:58
lambdayheiko: tried various methods since last night... seems like extending simplicialcholesky to use some of its protected members was the easiest among all11:58
heikolambday: did you write a test for both cases?11:58
blackburnand update data dir too11:58
sonne|workheiko: do you want the git lecture?11:59
blackburnheiko: data dir in *main* repo points to some 'revision'11:59
blackburnyou updated the data but now you need to update that pointer in shogun *main* repo11:59
sonne|workheiko: git can also keep submodules in sync with the main shogun repo11:59
heikoblackburn: I see11:59
lambdayheiko: ummm... only one test case is there... if shogun is configured with older eigen it will use older method, otherwise newer method... I tested with both and it gives same result11:59
sonne|workheiko: that is you need to commit the revision number of data thing by doing git commit data12:00
sonne|workfrom the main shogun repo12:00
sonne|workand then push12:00
heikolambday: ok good then, I will merge soon!12:00
heikosonne|work: let me try12:00
sonne|workheiko: now when you do git pull it will also update data to the required state12:00
sonne|workthat helps to keep test data *AND* src code in sync12:00
lambdayheiko: :) I'll start looking into the Sampling large sparse Gaussians issue then...12:02
heikosonne|work:  so when I use the generator to generate a new test, git tells me no changes :(12:05
heikofrom both data and shogun12:05
sonne|workheiko: for which .py files?12:05
sonne|workand in data you are on main branch?12:06
sonne|workmaster I mean12:06
heikoyes master12:06
heikopython ../../../examples/undocumented/python_modular/kernel_local_alignment_string_modular.py12:06
sonne|workheiko: no just do12:06
sonne| kernel_local_alignment_string_modular.py12:06
heikowas that changed recently? ... might just be my bad memory12:07
sonne|workno was always like this12:07
heikosonne|work: still git status doesnt contain the new files12:07
sonne|workheiko: and you are in the data/ folder?12:08
heikothe data repo or the data folder of the tests=?12:08
heikoheiko@heiko-ThinkPad-T420:~/Desktop/shogun/data$ git status12:09
heiko# On branch master12:09
heikonothing to commit (working directory clean)12:09
sonne|workand on master branch?12:09
sonne|workok the please remove the file12:09
heikothe new data file?12:09
sonne|workand see if git sees that there is a change12:10
heikoI am totally confused, I changed all these tests a while ago and had no problems with it12:11
sonne|workso is there one now?12:11
sonne|workif you remove that file?12:11
heikoyes that is detected12:12
heikoI create the new ones ...12:12
heikogit status still tells me deleted12:12
heikothe genereator does not create the file ...12:13
heikolet me check how I call it12:13
sonne|workpython kernel_local_alignment_string_modular.py12:15
sonne|workbut you need *latest* shogun compiled and python modular installed12:16
-!- shogun-notifier- [] has joined #shogun12:19
shogun-notifier-shogun: lambday :master * 7ba436e / / (3 files):
shogun-notifier-shogun: added log-det method for sparse matrices in CStatistics12:19
shogun-notifier-shogun: Heiko Strathmann :master * dba5cb7 / / (3 files):
shogun-notifier-shogun: Merge pull request #961 from lambday/master12:19
shogun-notifier-shogun: Added log-determinant method for sparse matrices in CStatistics class12:19
heikosonne|work: that might be the reason, of course!12:20
heikosonne|work: ok I have pushed to the data repo, will now commit the data version and push12:23
heikolets see if it works12:23
shogun-buildbot_build #996 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>12:25
shogun-notifier-shogun: Heiko Strathmann :master * d4f8bf8 / data:
shogun-notifier-shogun: new tests for libsvr and local alignment kernel12:25
shogun-notifier-shogun: Heiko Strathmann :master * 7987f7c / data:
shogun-notifier-shogun: Merge pull request #964 from karlnapf/master12:25
shogun-notifier-shogun: new data version12:25
heikosonne|work, blackburn, that should be it right?12:25
heikolambday: I merged your code, nice work!12:26
lambdayheiko: thanks man.. :)12:26
heikolambday: yes, sampling the large Gaussians is very similar, you have to permute the matrix, use the cholesky to sample, and then permute back12:26
heikoyou might want to look into the Gaussian class12:26
heikosince it already can sample12:26
heikobut maybe we want another approach12:27
heikodont know yet, feel free to suggest12:27
lambdayheiko: as of now, CGaussian doesn't use SGSparseMatrix I guess.. let me check12:27
heikolambday: exactly12:27
heikosonne|work: so the integration tests now make the buildbot fail, nice!12:28
heikosonne|work: what about adding python_modular to the travis at some point? at least one simple version12:28
blackburnheiko: yes should be right12:29
heikoand I also would like to see the warnings as errors for the travis (at least for libshogun and python)12:29
heikobut thats quite restrictive :D12:29
heikoanyway, have to do some work now ...12:29
lambdayheiko: by the way, we'll be needing that SGSparseMatrix to eigen's SparseMatrix again... what about we add this method somewhere? blackburn asked to talk to sonney2k regarding this..12:30
heikolambday: ah yes, I remember12:30
heikoit would be good to have tools for this, but yes, swig could cause trouble12:30
heikoI dont know what might happen, ask sonney2k aka sonne|work12:31
lambdayheiko: hmmm...12:31
heikolambday: what do you think about the CGaussian class?12:31
lambdayheiko: I just had a look...12:32
heikolambday: I think its the wrong place12:33
heikothese CDistribution classes have a different purpose12:33
lambdayheiko: for this, we need to add a sample method (like the one that's already there), right? the one that uses cblas12:33
lambdayheiko: what's the wrong?12:33
heikoso maybe, we just add sample_gaussian to CStatistics?12:33
lambdayheiko: oh!12:33
heikoso what about a method to sample a multivariate Gaussian in CStatistics?12:34
heikoboth for sparse and dense matrices12:34
heikoyou give mean and covariance matrix and a number n12:34
heikoyou get n samples from that Gaussian12:34
heikoyou could start again with dense to get a feeling for the method12:34
heikoand then extend to sparse (permutation stuff again)12:34
lambdayheiko: that sounds good...12:35
heikofor the sparse, you have to compute the chol of the permuted matrix, and have to permute the samples backwards12:35
heikoin the unit test, you can sample a few thousand points and then compute the empirical covariance matrix (we have that in shogun)12:36
heikoand then compare12:36
lambdayheiko: let me see... will be shooting you with more stupid questions soon :D12:40
heikolambday: there are no stupid questions :D12:40
heikolambday: btw you could also replace the covariance method we have with an eigen3 call12:41
heikothat would be useful12:41
lambdaycovariance method in?12:43
shogun-buildbot_build #703 of cyg1 - libshogun is complete: Failure [failed configure]  Build details are at  blamelist: Heiko Strathmann <>, lambday <>12:44
lambdayoh no!12:44
heikolambday: thats cyg, dont worry12:45
lambdayheiko: phew!12:45
heikocould you rename the variables so that swig doesnt do this col_ row_ underscore thing?12:54
heikoand also please tell doxygen to ignore them12:55
heikothis way, we get rid of warnings12:55
heikoor maybe docunment them12:55
lambdayheiko: you mean rename col_ to col etc?12:57
heikolambday: swig renames col to col_ since col is reserved12:58
heikolambday: that is a bit annoying, but can be avoided via different names12:58
heikofor example for SGVector, we use12:59
heikovlen for the length12:59
heikolen is reserved12:59
heikojust be creative12:59
heikoand also tell doxygen to ignore or write comments with /** */12:59
lambdayheiko: and how do I tell doxygen to ignore the "not documented" part12:59
heiko#ifndef DOXYGEN_SHOULD_SKIP_THIS13:00
heikoblackburn: right? ^13:00
-!- blackburn [] has quit [Quit: Leaving.]13:02
heikolambday:  search the shogun code for this DOXYGEN_SOULD_SKIP_THIS to see how it works13:02
heikowow snowstorm13:02
heikolondon whether is really nice these days13:02
lambdayheiko: snowstrom ... I've never seen one :(13:03
heikolambday: not missing too much, its grey and cold ;)13:04
heikomy heating wasnt working for two days early this week13:04
heikowhich  means about 5 degrees inside the flat13:05
lambdayheiko: :D hard to imagine sitting here at 30 degree C13:05
lambdayheiko: oh shit! :D13:05
heikohaha :) I remember sweating a lot when I was in mumbai13:05
lambdayheiko: you were in mumbai? when?13:05
heikolambday: yes about 2 years ago, I stayed a few days in colaba before traveling southwards13:06
heikowent on a backpack holiday in south-west india for about 4 weeks13:06
heikoquite different place to here ;)13:06
lambdayheiko: aah.. :D13:07
-!- blackburn [] has joined #shogun13:07
lambdayand I'm dying to do so same in europe13:07
heikoblackburn: #ifndef DOXYGEN_SHOULD_SKIP_THIS is the way to avoid doxygen warnings right?13:07
blackburnheiko: yes13:07
heikolambday: go ahead :)13:07
lambdayokay I'm checking it then13:07
heikolambday: probably easiest way is through academia I guess - many Indian guys here at UCL for example13:08
heikolambday: I gotta do some work, will be back later today13:08
lambdayheiko: hmm... alright13:08
lambdayciao man :)13:08
blackburnlambday: discussing ways to leave india? :)13:09
lambdayblackburn: more of a trip :P13:09
-!- n4nd0 [] has quit [Ping timeout: 252 seconds]13:09
lambdaycould use some break from studies and do some other stuffs :D13:10
lambdaymay be next year13:10
blackburnlambday: what year of your studies it is?13:11
lambdayblackburn: doing pre-final year in masters13:11
blackburnthe same here hah13:14
lambdayblackburn: ahan... planning for phd?13:15
shogun-buildbot_build #997 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at
blackburnlambday: I don't know - I am heavily involved into kind of industry13:16
blackburnand the only way to consider is phd in eu/usa not here13:16
lambdayblackburn: same here.. will think of phd if I get a chance abroad.. where are you from basically?13:18
blackburnlambday: russia13:19
lambdayblackburn: ah, vodka :D13:20
blackburnlambday: yes of course13:20
lambdayI started with it.. 8 years back.. never stopped :D13:22
blackburnlambday: oh we use it instead of milk13:23
lambdayblackburn: lol man! :D13:23
shogun-buildbot_build #998 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Heiko Strathmann <>, lambday <>13:25
-!- zxtx [] has left #shogun ["Leaving"]13:39
-!- n4nd0 [] has joined #shogun13:40
-!- n4nd0 [] has quit [Client Quit]13:40
-!- n4nd0 [] has joined #shogun13:42
sonne|workheiko: did you git push?13:49
heikosonne|work yes, check github, both tests still fail :(13:55
sonne|workheiko: but github didn't build that yet AFAIK13:55
heikoill force a rebuild13:56
sonne|workthat is the last commit13:56
heikoshows the data commit13:56
heikoand in data there is also the new file13:56
heikoThe following tests failed! setting 1/2 setting 2/2 setting 1/2 setting 2/213:57
heikobuild 999 :)13:57
blackburnhaha ebay wants something like coffin for liblinear14:09
heikoblackburn: thats awesome!14:15
heikowe will use that in shogun :)14:15
blackburnheiko: someone should consider applying for that job14:16
blackburnit looks like a week of work14:17
blackburn(if one messed with shogun)14:17
heikomaybe :)14:17
sonne|workblackburn, heiko well shogun can already do that all :D14:17
heikoI dont have time14:18
heikosonne|work haha :D14:18
heikowe should tell them and ask for money14:18
blackburnsonne|work: yeah that looks stupid to make *research* on that14:19
blackburnnothing to research here14:19
blackburnI am quite surprised that ebay doesn't know that?14:21
blackburnhow do they train classifiers?14:22
sonne|workI guess some SGD14:22
n4nd0blackburn: sometimes I think that everything has already been discovered14:22
n4nd0we just have to actually find which person has already done what we aim for :D14:23
blackburnn4nd0: yeah that's true14:23
shogun-buildbot_build #999 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Heiko Strathmann <>, lambday <>14:26
sonne|workheiko: could you please run locally with  and ?14:29
sonne|work^stuff still seems to fail on the bb14:30
heikosonne|work, works locally14:51
-!- blackburn [] has quit [Quit: Leaving.]15:08
-!- shogun-notifier- [] has quit [Quit: transmission timeout]15:25
-!- kakashi_ [~kakashi_@nltk/kakashi] has quit [Ping timeout: 245 seconds]15:33
lambdayheiko: let me know if I got this right - first I generate n random samples X, using CMath::randn_double(), then I compute the lower cholesky factor, L of the covariance matrix C, then I use it to compute Y = L * X, and then add mean to each of these to get the actual n samples..15:37
heikolambday: yes15:38
heikothats how it works15:38
heikoyou will have to add the mean afterwards15:38
heikolambday: oh wait15:39
heikoin fact, you have to create vectors from N(0,I) - so each element with randn15:39
heikoand then n of those vectors15:39
heikowhat you can do is just to create a DxN matrix and fill all the elements with randn15:40
heikoand be careful about transposes since they sometimes mess up things, you should check for all this in the unit tests, but thats the way in pronciple15:40
lambdayheiko: yes... hmm15:40
heikosonne|work, so works locally, got it commited, but fails on bb??15:40
lambdayheiko: btw I fixed the doxygen warnings.. renamed the variables as well..15:41
lambdaywhy is build failing?15:42
heikolambday: nice, would you send a PR just with that?15:42
heikolambday: my fault, dont worry15:42
lambdayheiko: hmm.. okay I am sending a PR15:42
-!- shogun-notifier- [] has joined #shogun15:46
shogun-notifier-shogun: lambday :master * 1873193 / src/shogun/mathematics/Statistics.h:
shogun-notifier-shogun: fixed doxygen warnings in CStatistics15:46
shogun-notifier-shogun: Heiko Strathmann :master * 4c78dc8 / src/shogun/mathematics/Statistics.h:
shogun-notifier-shogun: Merge pull request #965 from lambday/master15:46
shogun-notifier-shogun: fixed doxygen warnings in CStatistics, renamed a few variables15:46
-!- n4nd0 [] has quit [Quit: leaving]15:51
lambdayheiko: one more thing... say, we empirically calculate the covariance matrix of the samples, how do we compare it with the original one in the unit test?15:53
heikomake sure the norm of the difference is small15:53
heiko"sufficiently small"15:53
heikosame for the mean15:53
lambdayohkay... got it15:54
-!- lambday_ [0e8b614f@gateway/web/freenode/ip.] has joined #shogun15:58
-!- lambday [b613104f@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]15:58
shogun-buildbot_build #704 of cyg1 - libshogun is complete: Success [build successful]  Build details are at
-!- sonne|work [] has quit [Ping timeout: 260 seconds]16:04
@sonney2kheiko, let me check if the stuff fails here too...16:11
heikosonney2k: ok16:11
-!- sumit [73f91219@gateway/web/freenode/ip.] has joined #shogun16:11
@sonney2kheiko, local alignment kernel works fine here16:12
heikoand libsvr?16:13
heikosonney2k: I changed that too16:13
@sonney2kexception - what did you do?16:13
@sonney2kcan't we have two libsvr examples instead of one?16:14
@sonney2kI mean one for epsilon / C and one for C & nu?16:14
@sonney2kheiko, ^16:18
heikoah sorry16:18
heikosonney2k: I changed the example to do both16:19
-!- sonne|work [] has joined #shogun16:19
heikosonney2k: dont get this, but its safe to overwrite -- I added  unit tests which ensure that libsvr does the correct thing for epsilon and nu (compared against libsvm output)16:19
heikoso just create a new test file16:20
heikodont know why mine doesnt work16:20
@sonney2kheiko, no I meant it might be worthwhile to have each method in a separate file but IDK16:21
heikosonney2k: why?16:21
heikoits just one line difference16:21
heikoand the unit tests should tell us which one of those fail16:21
heikobut we can also change it16:21
@sonney2kheiko, looks like you didn't update the svr data16:23
@sonney2kat least the output is once len == 100 and once 12016:24
-!- blackburn [] has joined #shogun16:24
heikobut I dont know, I always struggle with this16:25
heikocould you add a new one? was working before and I only changed example a bit16:25
@sonney2kheiko, but did you git add data *afterwards*16:25
heikoapparently not, but I thought I did16:26
@sonney2kno you didn't16:26
heikoI committed this yesterday16:26
heikoand updated the data today16:26
@sonney2klet me update the data ptr16:27
heikocool thanks!16:27
@sonney2kheiko, btw both works here just fine16:27
shogun-buildbot_build #1000 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at
shogun-buildbot_build #1001 of deb3 - modular_interfaces is complete: Failure [failed test ruby_modular]  Build details are at  blamelist: Heiko Strathmann <>16:47
-!- kakashi_ [~kakashi_@nltk/kakashi] has joined #shogun16:53
-!- sumit [73f91219@gateway/web/freenode/ip.] has quit [Quit: Page closed]16:55
-!- tp199911 [~thomas@] has joined #shogun16:57
-!- tp199911 is now known as ZeThomad16:57
-!- ZeThomad is now known as ZeThomas16:57
ZeThomashey sonney2k, blackburn17:34
ZeThomasI get weird stuff in my code17:35
ZeThomasit just almost immediately exits with code 139, no errors17:35
ZeThomashere's my code:
ZeThomasI had the same thing when I did a similar thing with a CustomKernel, but that got solved by no longer subclassing CustomKernel, as sonney2k pointed out17:39
ZeThomasBut DirectorKernels are made for being subclassed, no? Or is there another way?17:39
blackburnZeThomas: hey17:49
blackburnlet me take a look17:49
blackburnZeThomas: sorry have to go - will take a look tonight17:52
-!- blackburn [] has quit [Quit: Leaving.]17:52
-!- n4nd0 [] has joined #shogun18:11
ZeThomasweird... I have implemented the exact same functionality in 2 different kernel setups, and yet the svm gives me different results...18:33
ZeThomasan F1-score on average of 3% more when using the CustomKernel that does the exact same thing as a LinearKernel with big feature vectors18:36
-!- n4nd0 [] has quit [Ping timeout: 256 seconds]18:37
-!- n4nd0 [] has joined #shogun18:41
shogun-buildbot_build #1002 of deb3 - modular_interfaces is complete: Success [build successful]  Build details are at
-!- shogun-notifier- [] has quit [Quit: transmission timeout]18:46
-!- shogun-toolbox [] has quit [Ping timeout: 256 seconds]19:01
--- Log closed Thu Apr 04 19:01:21 2013
--- Log opened Thu Apr 04 19:01:29 2013
-!- shogun-toolbox [] has joined #shogun19:01
-!- Irssi: #shogun: Total of 12 nicks [1 ops, 0 halfops, 0 voices, 11 normal]19:01
-!- Irssi: Join to #shogun was synced in 6 secs19:01
-!- lambday_ [0e8b614f@gateway/web/freenode/ip.] has quit [Ping timeout: 245 seconds]19:24
@sonney2kZeThomas, try to use a lower svm epsilon19:52
@sonney2ksay 1e-519:52
@sonney2kZeThomas, a custom kernel internally uses just floating point precision while a standard kernel uses double19:52
@sonney2kthat could alreayd explain it19:53
ZeThomassonney2k, but that implies that the less precise svm gives more precise predictions?19:54
@sonney2kZeThomas, sure why not19:54
ZeThomashow would you explain that?19:54
@sonney2kZeThomas, SVM just optimizes to eps precision19:54
@sonney2kso choice of eps / C / and floating point precison all matter19:55
ZeThomasoh, so by lowering the eps in the LinearKernel, my results will be better aligned?19:55
ZeThomasor in the CustomKernel?19:56
@sonney2kheiko, looks like you did commit data after all - we have one green happy bb!19:56
@sonney2kZeThomas, both19:56
heikosonney2k: yes build 1002 worked :)19:56
@sonney2kresults should get more similar19:56
heikosonney2k:  do you know what this weird warning in python modular means?19:57
@sonney2kheiko, yes19:57
@sonney2ksome scipy module loading a .mat file19:57
@sonney2kand it looks like it is not specifying some option19:58
@sonney2kwhich is supposed to be changed in future versions19:58
@sonney2klet me fix it19:58
-!- n4nd0 [] has quit [Ping timeout: 245 seconds]20:01
-!- shogun-notifier- [] has joined #shogun20:04
shogun-notifier-shogun: Soeren Sonnenburg :master * d10e022 / examples/undocumented/python_modular/ (3 files):
shogun-notifier-shogun: fix a the loadmat warning20:04
@sonney2kheiko, do you have git-flow available as a package?20:04
@sonney2kI mean could you please install it20:04
@sonney2kheiko, now that we have everything 'green' we should switch to the new dev model20:05
@sonney2kso it would be good taht you have this thing around too20:05
-!- ZeThomas [~thomas@] has quit [Ping timeout: 258 seconds]20:16
heikosonney2k: gitflow?20:19
@sonney2kheiko, you are on ubuntu right?20:19
@sonney2kit is this scheme
heikoah nice I see20:19
@sonney2kfor each feature we work on feature branches20:19
@sonney2kand then merge stuff down to the development branch20:20
heikoyes thats good20:20
@sonney2kgit flow helps us doing that all easily20:20
heikoI will check it out ...20:20
@sonney2kheiko, jsut type git flow help20:20
heikosonney2k: I will check it out later, currently busy with something, maybe lets do the switch on the weekend or next week?20:21
@sonney2kheiko, ASAP I would say20:22
@sonney2kwhen wiking/blackburn are around20:22
heikosonney2k: agreed20:22
heikolets just wait until everyone is around and then do it spontaneously20:22
@sonney2kmaster will become less polluted20:22
heikoI will be around on the weekend20:23
heikosonney2k: yes, that will be very useful20:23
heikoI am also keen on activating python on travis, will also help a lot20:23
@sonney2kheiko, well most important is to have our buildbot infrasturcture20:30
heikosonney2k: I am keen on this since it prevents us from being lazy20:30
@sonney2ktravis is not that helpful IMHO20:30
heikoso warnings/errors dont add up20:30
@sonney2kit is doing lots of false stuff20:30
heikoyou only merge if it succeeds20:30
heikosince we sometimes ignore new warnings in merges20:31
heikosame for new errors20:31
heikobut agree buildbot more useful20:31
heikobut travis is also very useful for gsoc20:31
heikowhen you dont write code on your own20:31
@sonney2kheiko, well I am pretty happy with the infrastructure now20:36
heikosonney, yes its getting better and better :)20:36
@sonney2kheiko, we had all these integration tests last year too but we didn't turn them on20:36
@sonney2kin the buildbot20:36
@sonney2kso that is why so much broke20:36
@sonney2know that we have everything in place it should be harder(tm) to break stuff20:37
@sonney2kin addition, lots of shogun's internals are more developed now so we won't have huge changes like we had the gsoc's back20:37
heikosonney2k, yes, agreed. I really like the approach of making things that work waterproof20:43
heikoso whenever something breaks, we will notice20:43
heikoI guess next step is to improve documentation :)20:43
@sonney2kheiko, for git flow watch this
@sonney2kheiko, and then this how to do it with git flow
@sonney2kit is really easy...20:51
@sonney2kheiko, so I think we can switch right away20:51
-!- blackburn [~blackburn@] has joined #shogun20:56
@sonney2kblackburn, we are greeeen!20:56
blackburnsonney2k: heh nice20:56
@sonney2kblackburn, lets switch to git flow !20:56
@sonney2kblackburn, do you already have git-flow installed?20:56
blackburnsonney2k: no20:56
@sonney2kblackburn, then please apt-get install it20:56
blackburnsonney2k: I didn't know about that tool (ashamed)20:57
@sonney2kblackburn, read here <sonney2k> heiko, for git flow watch this
@sonney2k<sonney2k> heiko, and then this how to do it with git flow
blackburnsonney2k: alrigh20:58
heikoguys, sorry I cannot stay much longer today20:58
@sonney2kheiko, no worries we will keep you updated20:58
blackburnheiko: you won't forgiven20:59
@sonney2kblackburn, what I don't know is whether everyone has to run git flow init20:59
blackburnsonney2k: what does it do exactly?20:59
@sonney2kblackburn, it sets up the git flow layout20:59
blackburn*exactly* which commands?21:00
@sonney2kwith feature branches, development branch main (aka master) branch etc21:00
@sonney2kgit flow init -d21:00
blackburnchecking sources21:00
@sonney2kblackburn, I would very much love to go with the defaults21:00
blackburnsonney2k: I think it is enough to do init only once21:01
blackburnaccording to what I see in sources of gitflow21:01
@sonney2kblackburn, you mean either of us can do it?21:01
blackburnsonney2k: yes probably - it creates branches21:01
@sonney2kblackburn, do you have local branches except master on your clone?21:01
blackburnsonney2k: can we drop some branches btw?21:02
@sonney2kblackburn, I mean on the shogun toolbox clone21:02
blackburnsonney2k: yes I got you - I don't have any local branches21:02
@sonney2knot shogun clone under your github account21:02
@sonney2kblackburn, then please do git flow init -d in that21:03
blackburnsonney2k: I am concerned with some stuff here21:03
blackburnsonney2k: there is such thing as feature publish21:04
blackburnI think we are not going to use remotes right?21:04
blackburnexcept main remore21:04
@sonney2kblackburn, maybe not but if git flow creates remote branches for features why not21:05
@sonney2kit doesn't hurt21:05
blackburnsonney2k: okay let me clean my repo and init21:06
blackburnsonney2k: ahh I was bored in bus and came with another api thing21:07
blackburnsonney2k: data.features(1,20).disable()21:07
@sonney2kblackburn, actually if I understand git correctly I could delete a local branch21:07
@sonney2kwhile keeping the remote branch21:07
blackburnsonney2k: yes21:07
blackburnwhy not21:07
@sonney2kbecause I have this stupid shogun_2.1.0 branch here21:08
@sonney2kbut I dont' need it21:08
blackburnbut it will appear on git pull21:08
@sonney2kI only needed it to push to our 3 remotes21:08
@sonney2kblackburn, no only when I explicitly pull it or?21:09
* sonney2k tries21:09
blackburnsonney2k: if you do just 'git pull'21:09
blackburnnot specifying any branch21:09
blackburnit will fetch it for you again I think21:09
@sonney2kgit branch -d shogun_2.121:09
@sonney2kerror: The branch 'shogun_2.1' is not fully merged.21:09
@sonney2kIf you are sure you want to delete it, run 'git branch -D shogun_2.1'.21:09
blackburnI did git flow init -d21:10
@sonney2kblackburn, did that go through?21:10
@sonney2kwhat branches do you have now?21:10
@sonney2kgit branch21:10
blackburnProduction and integration branches should differ.21:10
blackburnI think defaults are not ok for us21:10
blackburnokay where do we develop *next release*?21:10
blackburnsonney2k: unstable?21:10
@sonney2kor develop?21:11
@sonney2kI am confused by the wording21:11
blackburnsonney2k: lets get back to the scheme21:11
@sonney2kdevelop then21:12
blackburnsonney2k: if my understanding is correct - master is to store tags of releases21:12
blackburndevelop in what we do for next release21:13
blackburnuhm I am confused21:14
@sonney2kyeah I agree21:14
@sonney2kdevelop == for next release21:14
blackburnsonney2k: it didn't create anything21:14
blackburnhow does it work?21:14
@sonney2kblackburn, did it run through?21:15
@sonney2kI mean did you answer all the questions?21:15
blackburnsonney2k: I told it to use 'dev'21:15
@sonney2k5 or so21:15
@sonney2kand then21:15
blackburnI kept feature/release/etc by default21:15
blackburndoes it store some config for that?21:15
@sonney2kmaybe it is a local thing after all?21:15
@sonney2klooks like it21:15
@sonney2kgit config -l21:16
@sonney2kit should list gitflow21:16
@sonney2kthen let me run git flow init too21:16
blackburnohh yes21:16
blackburnI see21:16
@sonney2kblackburn, so we use dev right?21:17
@sonney2knot devel?21:17
blackburnsonney2k: it requires existent branch21:17
@sonney2kblackburn, I am asking because we have some dev branch crurently21:17
blackburnsonney2k: lets kill dev21:17
blackburnand create it once again21:17
@sonney2kand it is urgs21:17
@sonney2kplease kill it then21:17
@sonney2kso we will have master/dev/feature/hotfix/release right?21:18
blackburnsonney2k: lets call it develop21:18
@sonney2klets do it21:18
blackburnto not confuse with an old one21:18
blackburnsonney2k: oh I start to realize the power of that thing21:19
blackburnsonney2k: merging of hotfixes to releases sounds powerful21:20
@sonney2kblackburn, please prefix tags with shogun_21:20
blackburnsonney2k: ok21:21
blackburnsonney2k: can't we use only one git remote?21:21
blackburnsonney2k: may be some cron script that pushes it to sg and google21:21
blackburnI am afraid of breaking something if they go out of sync21:22
blackburnsonney2k: pull21:23
@sonney2kblackburn, probably - if you have time - please experiment with sth21:23
@sonney2kblackburn, so do I have to run git flow too?21:23
blackburnsonney2k: yes21:23
@sonney2kor shall I just git pull -a now?21:23
blackburnsonney2k: git pull to fetch new develop branch21:24
blackburnand git flow init -f to select it for now21:24
blackburnsonney2k: ^ that's how my git flwo conf looks like21:25
-!- heiko [] has left #shogun []21:28
@sonney2kblackburn, so now we can just do git flow feature foo21:28
@sonney2kwork on this finish this21:28
@sonney2kand done?21:29
@sonney2kI am not sure how the push/pull stuff works21:29
@sonney2kand how do we work with students from now on?21:29
@sonney2kthey all send PR's to dev right?21:29
blackburnsonney2k: yes21:29
blackburnsonney2k: from feature/something21:29
@sonney2kand they work on their own feature branches right?21:29
blackburnI am not sure about pushing21:30
@sonney2kohh I like it21:30
@sonney2kwhen we want to do a release21:30
@sonney2kwe can just start a release branch21:30
@sonney2kand then do all the fixing in there21:30
@sonney2kwhile we can still go wild in dev21:30
blackburnsonney2k: I am going to check the pushing thing21:31
@sonney2kblackburn, I think you just do git push on the branch you are on to the branch you want to push21:32
blackburnsonney2k: okay when you git flow feature start21:32
blackburnit creates a branch21:32
@sonney2kso it changed FETCH_HEAD to develop here21:32
blackburnyou commit some things21:32
@sonney2kyeah but that is local right?21:32
blackburnyes sure21:32
@sonney2kso only when you wnat to work with sb on this21:32
@sonney2kyou push it21:33
blackburngit flow feature finish *merges and deletes*21:33
@sonney2kto create a new remote branch21:33
@sonney2kso you have a single clean commit21:33
blackburnsonney2k: only one commit?21:34
blackburndoes it stack it?21:34
@sonney2kblackburn, I am only guessing21:35
blackburnsonney2k: no21:35
blackburnit puts all commits21:36
blackburnand merge commit too21:36
blackburnit is possible to stack them too I think21:36
blackburnwith some patching may be21:36
@sonney2kblackburn, the good thing is that you can do as many git reset <id> as you want21:38
@sonney2kso you /can/ cleanup your local feature branch21:38
@sonney2kto not have crappy / build breaking etc stuff in there21:38
blackburnsonney2k: I'd like to have kinda selective rights for branches21:38
@sonney2kyeah no one can push to master...21:39
@sonney2kexcept you or os21:39
blackburnsonney2k: then we would allow commits for everyone (in feature branches)21:39
@sonney2kblackburn, well then our repo would be spammed21:40
blackburnsonney2k: no, for students + us I mean21:40
@sonney2kyes sure21:40
@sonney2kblackburn, actually we don't need that for students - they can work on their own fork21:43
@sonney2kand from there do the PRs21:43
@sonney2kissue with git flow is that this doesn't go very well with github21:43
@sonney2kso PR's are some kind of alternate concept21:43
@sonney2kand other remote forks21:43
@sonney2kblackburn, please announce on the mailinglist that we changed the dev model21:46
@sonney2kand add the steps21:46
@sonney2kmaybe we need to add some page on our website where we document the steps21:47
@sonney2k(or at least our README.developer)21:47
blackburnsonney2k: ok21:50
@sonney2kblackburn, what is left to do for that is - what do we do with the buildbot?21:50
@sonney2kshould it form now on work on develop?21:51
blackburnsonney2k: yes as master is to be updated only a few times per year may be :)21:51
@sonney2kand actually master will just be some state we had in develop / the release branch21:52
@sonney2kthe only issue I see is that we would want to have a buildbot for release branches21:53
blackburnsonney2k: why?21:53
@sonney2kblackburn, tomorrow gsoc will be announced right?21:53
blackburnsonney2k: oh I am afraid 721:53
blackburnApril 8: 19:00 UTCList of accepted mentoring organizations published on the Google Summer of Code 2013 site.21:54
@sonney2kblackburn, because one directly commits to the release branch trying to stabilize things21:54
@sonney2kso we still have time21:54
blackburnsonney2k: for what?21:54
@sonney2kblackburn, recall our todo?21:54
@sonney2k1) get build to work21:54
@sonney2k2) new dev model21:55
@sonney2k3) update website21:55
blackburnsonney2k: oh this year gsoc is so sloooow21:55
@sonney2k4) announce workshop21:55
@sonney2k->then get accepted (please!!)21:55
blackburninterim is 8-22 May21:55
@sonney2kblackburn, how was it last year21:55
blackburnohh month back or even more21:55
@sonney2kI totally forgot...21:55
blackburnsonney2k: it started officially in early may21:56
@sonney2kyeah I remember it was quite some rush21:56
blackburnsonney2k: this time it starts with summer and ends in september21:56
@sonney2kI think they are trying to accomodate for how we study in europe21:56
blackburnyes probably21:56
@sonney2kvacations here are july-september21:57
blackburnin usa as well?21:57
@sonney2kno idea21:57
@sonney2kblackburn, btw
@sonney2kn4nd0 suggested to put the c-base workshop stuff on the long thing21:58
@sonney2kand the gsoc announcement in the middle?21:58
blackburnsonney2k: oh I totally dislike everything sorry :)21:59
blackburnwe should do something with it21:59
@sonney2k100% parse error21:59
blackburnsonney2k: haha I don't like whole design of the page22:00
blackburnsonney2k: soo I don't have any ideas22:01
blackburnwhat this cbase thing is doing here?22:01
blackburnsonney2k: I am mostly depressed about that box22:01
blackburnit looks like 2002 or 2003 idk22:02
blackburn3d box22:02
@sonney2kblackburn, which box?22:02
blackburnleft to shogun thing22:03
blackburnwith 'new' label22:03
blackburnsonney2k: do you feel ok about it?22:03
@sonney2kblackburn, sure I like it22:03
@sonney2kthe c-base logo - we want to announce the workshop22:03
blackburnoh I don't know may be it is something wrong with me :)22:03
@sonney2kso some kind of logo should be there22:04
@sonney2ksome graphics - text is too boring...22:04
@sonney2kblackburn, so you like this style?22:13
blackburnsonney2k: which?22:13
@sonney2kthis bootstrap link above22:14
blackburnoh yes it is awesome22:14
blackburnbootstrap stuff looks very cool (for me)22:14
@sonney2kit is wasting even more space than our theme though22:15
blackburnsonney2k: are you tired with my crazy api things? I have some more to show you22:16
@sonney2kblackburn, in any case switching themes is just a matter of someone changing the css22:16
@sonney2kthat's all22:16
blackburnsonney2k: no with bootstrap classes should be quite different22:16
@sonney2kblackburn, sure I am :D22:16
@sonney2kblackburn, why?22:17
@sonney2kblackburn, for remote scheduling?22:17
blackburnsonney2k: yes22:17
blackburnsonney2k: like/dislike?22:18
@sonney2kbut not sure22:18
blackburnsonney2k: about?22:19
@sonney2kwhere now() etc should be22:19
@sonney2kI mean svm.train() will already train no?22:19
blackburnI am thinking about how to handle defaults here22:19
blackburnby default it should be blocking (now())22:19
@sonney2kblackburn, and you want to have parameters for this time stuff22:19
blackburnsonney2k: what do you mean?22:20
@sonney2ke.g. memory limit22:20
@sonney2knumber of requested CPUs22:20
@sonney2kwhen to run22:20
@sonney2kuse MPI22:20
blackburnsonney2k: I am afraid I am overusing chains of method22:21
@sonney2kbuilderpattern without build lover22:21
blackburnsonney2k: it is probably d3.js that made me think about it22:24
@sonney2kblackburn, but d3 is more crazy22:24
@sonney2kkind of perceptron training in one line with data.enter().do_some_update()22:25
blackburnsonney2k: yes but may be it appears to be better22:25
@sonney2kit certainly is more compact22:26
@sonney2kbut also extremely hard to digest / read22:26
blackburnsonney2k: tradeoff as always22:27
blackburnsonney2k: recalling that model selection stuff22:27
blackburnthat builder-like thing is intended to fail during the run-time22:28
blackburnand may be more error-prone22:28
blackburnbut much more readable and digestable22:28
@sonney2kblackburn, why should at fail at run-time?22:30
blackburnsonney2k: I am afraid there would be some things like overloaded methods22:31
blackburnwhen you say use .from(10) on double parameter22:31
blackburnI am even sure there would be some things that are compiling well but fail on runtime22:32
@sonney2kahh you are talking C++22:32
blackburnsonney2k: ah btw when do you think we can get to C++11?22:33
blackburnsonney2k: have you learnt some C++11 btw?22:33
@sonney2kblackburn, you want to totally drift away from C-style programming right?22:34
blackburnsonney2k: depends what you mean by C-style22:35
@sonney2kwhat we had22:35
@sonney2kblackburn, regarding your api - in python modular that would not be an issue22:35
@sonney2kit is just an exception at a different level22:36
blackburnsonney2k: I am thinking about that C-style question22:36
blackburnsonney2k: I don't have the general answer - but there are a few things I'd like to get rid of22:37
blackburnlike we all hate getters and setters and etc22:37
blackburnsonney2k: I hope you do hate get/set too?22:37
@sonney2kblackburn, I am pretty pragmatic22:38
@sonney2kthey do the job22:38
blackburnsonney2k: they are disappearing in modern languages22:39
blackburnlike scala and etc22:39
@sonney2kblackburn, replaced by what builder patterns?22:40
blackburnsonney2k: no, why?22:40
@sonney2kblackburn, no how do you set a variable then22:41
@sonney2kin scala22:41
blackburnsonney2k: obj.field = something22:41
@sonney2kblackburn, public variables?22:41
@sonney2kor what is the difference?22:41
blackburnsonney2k: no this calls the getter22:41
@sonney2kwait so you still have a setter and getter?22:42
blackburnsonney2k: not in your code22:42
@sonney2kwhat setter/getter is then called?22:42
blackburnsonney2k: autogenerated code22:42
blackburnsonney2k: which you can overload if you really need some custom getter/setter22:43
blackburnsonney2k: if we were using only python22:44
blackburnsvm.parameter("C") = 3.022:44
blackburnwould be possible22:44
blackburnor rather22:44
blackburnbut we are tied to other langs22:44
@sonney2kwell svm.C would work if we don't want getters/setters at all22:45
blackburnsonney2k: not in java/etc22:46
blackburnhaha I am still managing to produce at least one commit per day for 29 days22:47
blackburnsonney2k: ah btw what about cmake22:58
blackburnsonney2k: are we going to go for cmake some day?22:59
@sonney2kas I said lot of work but I don't mind if someone does the job23:02
-!- shogun-notifier- [] has quit [Quit: transmission timeout]23:04
@sonney2kblackburn, please send the announcement23:28
blackburnyes yes23:28
@sonney2kwould be bad if someone kills master with a patch now23:28
blackburnohh yes23:28
blackburnwell heiko reads mail usually23:29
blackburnwill send a mail in a few minutes23:32
--- Log closed Fri Apr 05 00:00:21 2013