IRC logs of #shogun for Monday, 2011-06-27

--- Log opened Mon Jun 27 00:00:24 2011
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun00:03
-!- blackburn1 [~blackburn@31.28.40.202] has joined #shogun00:55
-!- blackburn [~blackburn@31.28.40.202] has quit [Read error: No route to host]00:55
-!- blackburn1 [~blackburn@31.28.40.202] has quit [Quit: Leaving.]01:07
-!- alesis-novik [~alesis@188.74.87.206] has quit [Quit: I'll be Bach]03:19
-!- heiko [~heiko@main.uni-duisburg.de] has joined #shogun09:34
heikosonney2k, are you there?10:15
@sonney2kyes10:15
heikoi have a question for the subset stuff we talked about10:15
heikoyou suggested to just add a getter for the subset variable and then to call set/remove methods directly on it10:15
heikoHowever, some feature classes require some post set/remove stuff10:16
heikosuch as determine_maximum_string_length for string features10:16
heikoYet, this was handled by the wrapper methods10:17
heikoI thought about perhaps registering a callback function or something10:18
heikoor do you have a better idea?10:18
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun10:26
@sonney2kheiko, I guess I don't understand the problem10:27
heikoif you have a subset10:27
heikoand you remove it10:27
@sonney2kI meant the setters / getters are needed only to get the actual subset indices10:28
@sonney2kresp. set them10:28
heikothen, it is sometimes necessary to do some stuff afterwards10:28
heikofor example the maximum string length10:28
heikochanges if the subset changes10:28
@sonney2kheiko, ok - but?10:28
heikoso, then if a subset is set, the maximum string length is wrong10:28
@sonney2kheiko, well you have to update it of course after setting10:29
heikook thats my point10:29
heikoif I call string_features::get_subset::set_idx10:29
heikothen string_features does not know when the subset has changed10:29
@sonney2kheiko, now I understand - I was assuming that you create a subset object and set that10:30
@sonney2knot change the index of an existing subset object10:30
heikook, I see10:31
heikoso the subsets are never changed but alyways newly created?10:31
@sonney2kI would do it this way10:32
heikoOk, good that I asked then :)10:32
heikothen the set_subset methods of CSubset can go10:33
@sonney2kI am not really sure if this is consistent to what we do usually10:33
* sonney2k is pondering10:33
heikommh ---10:33
@sonney2kwith features - if you change the matrix - but applied preprocs before I don't think preprocs will be applied again10:34
@sonney2kso I would say to have some kind of 'update' function10:34
@sonney2kthat can be called manually10:34
heikoCan you explain this some more?10:35
@sonney2kheiko, in the respective feature class you could have some update function that can be called manually to e.g. check for string length, compute nnz elements etc10:39
heikook, but this may be simply called in the get/set methods for the CSubset variable10:40
@sonney2kheiko, yes or manually if someone changes just the idx in subset10:41
heikobut this should not be possible, or?10:42
@sonney2kheiko, if documented supported it could - as you wish10:55
heikook10:55
* blackburn is wondering how it would look like if sonney2k and heiko was discussing it in deutsch11:01
heikohehe :) it would look very deutsch11:01
blackburnhow much deutsch? :D11:02
@sonney2kblackburn, ganz doll deutsch eben11:02
blackburnsonney2k: last word sounds very rude in russian :D11:02
@sonney2kblackburn, german is a rude language :D11:03
heikosonney2k11:05
heikoanother question for the subset stufdf11:05
heikoIf the num_vectors variable is not touched11:05
heikothen its usage has to be replaced by some get_num_vectors() method which returns the number of vectors of the possibly set subset11:05
heikoInitialliy, before gsoc, we had something like this11:06
heikobut you suggested to use another variable to avoid overhead11:06
heikobut now, If this is removed again and we have only one variable and this get_num_vectors method, I have to change it all over again11:07
@sonney2kyou are right (as always)11:08
@sonney2kso one thing is more readable the other is faster11:08
@sonney2k(maybe)11:08
@sonney2kactually - I prefer the more readable variant in this case11:08
@sonney2kin every performance critical loop one could fetch the number of vectors before doing anything11:09
blackburnI love the wrapper I'm writing now!11:09
heikook, alright11:09
@sonney2kblackburn, being in love is always a good thing :D11:17
blackburnI should not tell my gf :D11:17
bettyboohe11:17
blackburnsonney2k: is it possible to 'borrow' that cover tree code by Langford?11:30
@sonney2kblackburn, I think so11:44
blackburnsonney2k: the only thing - it should be some object-like, right?12:05
blackburnnot just a couple of funcs :)12:06
-!- blackburn [~blackburn@31.28.40.202] has quit [Quit: Leaving.]12:15
-!- alesis-novik [~alesis@188.74.87.206] has joined #shogun13:21
-!- heiko [~heiko@main.uni-duisburg.de] has quit [Quit: Leaving.]13:31
-!- f-x [~user@117.192.198.247] has joined #shogun13:46
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has quit [Read error: Connection reset by peer]14:35
@sonney2kmlsec, around?15:15
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun16:57
-!- in3xes_ [~in3xes@180.149.49.230] has joined #shogun17:12
-!- blackburn [~blackburn@31.28.40.202] has quit [Read error: Connection reset by peer]17:51
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun17:52
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has joined #shogun18:06
serialhexbettyboo's been demoted??18:06
bettybooserialhex: I had been sick for a while just like Chris, such a wonder - cold is going around Samara and Tuebingen both :D18:06
serialhexwell i hope you're feeling better bettyboo18:07
bettybooserialhex: whatev!! it sepends on who you're asking!18:07
blackburnserialhex: :D18:07
bettyboo^_^18:07
serialhexwhats going on blackburn??18:07
blackburnserialhex: nothing special, day by day :)18:08
serialhexcool cool18:08
blackburnwhat about you?18:08
serialhexnot too much, just went on an appt to sell some knives & didn't sell NOTHIN!!!18:10
serialhexreally kinda bummed, i think i'm gonna dive into some more code here in a min18:10
blackburnah bad18:10
serialhexyeah18:10
blackburnI'm now writing prettiest arpack wrapper :)18:11
serialhexreally??  is that sarcasm i hear in your voice or is it really pretty?? :P18:12
blackburnyes I try to make it pretty18:12
serialhexcool cool, i like pretty code.  it makes life *SOOO* much easier18:14
blackburnwell I hope nobody will have to touch it - I should make it good18:14
-!- f-x [~user@117.192.198.247] has left #shogun ["ERC Version 5.3 (IRC client for Emacs)"]18:16
blackburnhey he uses emacs for irc??18:17
serialhexreally... thats kind of interesting18:20
serialhexwhat dosn't emacs do?? make toast???18:21
blackburnserialhex: I guess everything18:21
blackburnhey it have dildo-mode :D18:21
blackburnhas*18:21
serialhexlol :P18:22
-!- f-x [~user@117.192.198.247] has joined #shogun18:25
-!- in3xes_ [~in3xes@180.149.49.230] has quit [Ping timeout: 246 seconds]18:27
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun18:28
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]18:31
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun18:35
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun18:37
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]18:38
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun18:39
-!- in3xes__ [~in3xes@180.149.49.230] has joined #shogun18:40
-!- in3xes1 [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds]18:40
-!- in3xes__ is now known as in3xes118:40
-!- mrsrikanth [~mrsrikant@59.92.81.39] has joined #shogun18:41
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds]18:43
-!- in3xes__ [~in3xes@59.163.196.5] has joined #shogun18:50
-!- in3xes [~in3xes@210.212.58.111] has joined #shogun18:51
-!- in3xes1 [~in3xes@180.149.49.230] has quit [Ping timeout: 240 seconds]18:53
-!- in3xes__ is now known as in3xes118:53
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds]18:54
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has quit [Remote host closed the connection]19:23
-!- in3xes1 [~in3xes@59.163.196.5] has quit [Quit: Ooops..!!]19:31
-!- blackburn [~blackburn@31.28.40.202] has quit [Ping timeout: 255 seconds]20:19
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun20:32
-!- blackburn [~blackburn@31.28.40.202] has quit [Read error: Connection reset by peer]20:48
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun20:54
blackburnlandmark isomap is wrong..21:34
blackburnmlsec: around?21:39
@mlsecNot really21:40
blackburnmlsec: have you worked with L-Isomap? if so will ask you for some help later21:41
@mlsecNope. Just used standard isomap21:41
blackburnokay21:41
blackburnthanks anyway21:41
-!- blackburn [~blackburn@31.28.40.202] has left #shogun []21:50
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun21:51
CIA-32shogun: Sergey Lisitsyn master * r596755e / (2 files): Temporarly remove LandmarkIsomap - http://bit.ly/kWUDDb22:08
blackburnah that would cause errors22:09
CIA-32shogun: Sergey Lisitsyn master * r1114044 / (2 files): Restore LandmarkIsomap with not implemented tags - http://bit.ly/jtREp622:10
@sonney2kblackburn, ?22:12
blackburnsonney2k: ? ;)22:12
@sonney2knot enough vodka today?22:12
@sonney2kman you need your fuel!22:12
blackburnsonney2k: hhaha22:12
blackburnsomething like that..22:13
blackburnwell I thought that erroneus algo should be here, then recalled that it would cause errors22:13
@sonney2kI feel like merging with my evil twin22:13
blackburnshouldn't*22:14
CIA-32shogun: Soeren Sonnenburg master * ra42094c / (14 files in 6 dirs):22:14
CIA-32shogun: Merge pull request #139 from karlnapf/master22:14
CIA-32shogun: first working version of subset support for SimpleFeatures - http://bit.ly/khm2PZ22:14
@sonney2kf-x, around?22:14
f-xsonney2k: yes22:14
@sonney2kf-x, what is the issue with calling free_feature_vector()?22:15
@sonney2kf-x, simplefeatures work like this:22:15
@sonney2k1. you have either a feature matrix (in memory)22:15
@sonney2kor some method to get just one feature vector22:15
@sonney2k2. on top of this there can be preprocessor chains22:15
@sonney2kthese preprocessors can be applied inplace to the feature matrix or only on-the-fly to the feature vector22:16
@sonney2k3. for that reason you might get copies of the feature vector and have to call free_*22:16
@sonney2kbut usually (i.e. when working with a feature matrix) this is just a NOP22:17
@sonney2kf-x, OK?22:17
f-xsonney2k: okay.. there isn't any issue with adding free_feature_vector()22:17
f-xit's just that i've done delete[] vector in release_example()22:17
f-xso i have to change a bit of the code there22:17
f-x(to make it work for examples extracted from a CSimpleFeatures object)22:18
@sonney2kyes ok22:18
@sonney2kregarding streamingfile changes22:19
@sonney2kdon't you think you should rather derive from streamingfile?22:19
f-xsonney2k: yes.. "StreamingFile" is becoming too broad a class for the things it handles22:19
@sonney2kand then override just the functions to return the examples etc22:20
@sonney2kI mean in principle StreamingSimpleFeatures shouldn't change when streamingfile's design is right or?22:20
f-xi guess, but i wouldn't commit on that22:21
f-xbecause for now the input source has always been the FILE* pointer in StreamingFile22:21
@sonney2kI think you could just override the get_*_vector functions and return what is in simplefeatures and that's it22:21
f-xStreamingSimpleFeatures won't change, but InputParser code may change somewhat22:22
f-xokay, so a class derived from StreamingFile specific to SimpleFeatures?22:22
@sonney2kf-x, I think that makes more sense22:23
f-xwhich has its input source as a CFeatures*22:23
@sonney2kf-x, or SimpleFeatures even22:23
f-xsonney2k: correct.. but now i'm thinking there will be too many new files22:24
f-xwhile writing the code to use all this22:24
f-xone would have to know about all the different kinds of Streaming*File22:25
f-xand Streaming*Features etc22:25
f-xi was wondering if something more convenient could be made for the user22:25
@sonney2kf-x, maybe you are right22:26
f-xsonney2k: my ideal implementation would be:22:27
f-xCStreamingSimpleFeatures* feat=new CStreamingFeatures(a CSimpleFeatures object)22:28
f-x<and then the rest the same as for a normal file input>22:28
f-xor new CStreamingFeatures(an explicit CStreamingFile object)22:28
f-x<and the rest the same>22:28
f-xfor a file based input22:28
f-x*sorry 'new CStreamingSimpleFeatures' everywhere22:29
@sonney2kf-x, exactly22:30
@sonney2kthat is the most convenient22:30
f-xsonney2k: maybe just a two-way split -- one for reading from files/sockets, etc., and the other from features objects?22:31
@sonney2kf-x, what I don't like is that the file class is getting so messy22:31
f-xsonney2k: me too.. it's going to be difficult to edit later22:32
@sonney2k(and that free_feature_vector is missing currently)22:32
* blackburn is staring to FLOAT K parameter at LandmarkIsomap22:34
blackburngarcon, vodka!22:34
f-xsonney2k: i think i'll make StreamingFile-like (or maybe derived) class to deal purely with getting vectors from features objects22:35
@sonney2kf-x, I really wonder how to simplify streamingfile further22:38
blackburnsonney2k: just take some vodka, it helps22:38
@sonney2kI mean - in the end you only need a few functions22:38
@sonney2kf-x, like get_*_vector stuff or get_string22:38
@sonney2kor get_sparse_vector22:38
@sonney2kno more than that22:38
f-xget_*_vector, where * includes simplefeatures etc. right?22:39
@sonney2kSo maybe you should make 3 base classes - one for simplefeatures, one for sparse and one for strings22:39
@sonney2kand then you can overload these for ascii22:40
@sonney2ketc22:40
@sonney2k(etc here would then be StreamingFileFromFeatures or so)22:40
@sonney2kblackburn, I am trying chocolate instead22:41
blackburnsonney2k: just try vodka, I'm telling you as old alcoholic :D22:41
f-xsonney2k: that should work. thinking of where i may have problems with that...22:43
@sonney2kf-x, currently it is really becoming to messy I think. But sleep one night over it - maybe tomorrow you will see the problems clearly :)22:44
@sonney2kblackburn, you are a freshman - but I guess still very experienced alcoholic22:45
blackburnsonney2k: exactly I am22:45
f-xsonney2k: yeah and i dislike that we have to do that #define thing for all the template variations.. it's nice as a hack though..22:46
blackburnI have an polyurethane liver22:46
@sonney2kf-x, yeah but it becomes unhandy when you have to do that massively as we do now22:47
f-xsonney2k: yup.. it's the kind of thing which drives people away from touching the code22:47
@sonney2kyeah - so better change it while the streamingfeatures code is still fresh22:49
f-xsonney2k: hehe... that doesn't apply to my own code however.. at least for now :)22:49
@sonney2kstreamingfile code I meant22:51
f-xyeah, will do it now22:52
@sonney2kf-x, thanks - btw you should add some small examples that read some data and do sth. otherwise we cannot check that things work22:52
@sonney2kif you want just in C++ for now (in examples/undocumented/libshogun then)22:53
@sonney2kblackburn, did you make any progress on arpack?22:53
f-xsonney2k: sure, i'll put up some files i made for testing myself22:53
blackburnsonney2k: writing wrapper step by step22:53
@sonney2kf-x, thanks22:53
@sonney2kblackburn the rapper22:54
@sonney2kerr wrapper ;-)22:54
blackburnsonney2k: in fact now I'm stucked with L-Isomap - it acts not like it should22:54
@sonney2kblackburn, doesn't anyone else implement this?22:54
@sonney2kI mean not even the matlab dim red toolbox?22:55
blackburnyes, it is in that toolbox22:55
@sonney2k(such that you could check?)22:55
blackburnwell I tried to understand that shity crap of shit22:56
blackburnand seems like they do it just like me22:56
@sonney2kblackburn, but their code works right :D22:58
@sonney2ksometimes shitty code is better than glossy code22:58
blackburnsonney2k: yes, but I can't really understand what was on their mind while they was writing it :D23:00
blackburnmatlab + some optimizations = luv23:00
@sonney2kblackburn, well if they do auxiliary calculations - try to check if you get the same results23:01
blackburnsonney2k: I just need to get comprehension how to do it in math - that way worked for all other algos23:02
blackburnfound some python - should be compherensive23:04
blackburnsonney2k: btw why are you asking about arpack? :)23:04
@sonney2kblackburn, because you wanted it - now I want results :D23:05
blackburnsonney2k: ah ok, working on it23:07
f-xsonney2k: in Leon's svmsgd, is there an online algorithm listed separately or i have to set epochs=1 in his svmsgd2.cpp and be done with it?23:13
@sonney2kf-x, yeah epochs = 1 is what you need23:13
f-xsonney2k: so is there a need to refer back to the original code or the few minor modifications required in SVMSGD.cpp in shogun are sufficient?23:14
@sonney2kf-x, in principle the few minor modifications should do23:15
@sonney2kI mean in the end we only want 1 algorithm23:15
@sonney2kSVMSGD in there23:15
@sonney2kI guess you could add a reset_stream() function that restarts at the beginning (if possible)23:15
@sonney2kso you could do multiple epochs even23:16
f-xsonney2k: that's an option when we're reading from a file, definitely23:16
@sonney2kthen SVMSGD code can work with streamingfeatures and only has to exist once23:16
@sonney2kf-x, or simplefeatures23:16
@sonney2kor dotfeatures etc23:16
@sonney2kand if unsupported SG_ERROR :)23:17
f-xright, right.. forgot about that..23:17
blackburnto embed or not to embed23:17
f-x:)23:17
blackburnwhether tis' isomap23:17
blackburnin the mind to suffer23:17
blackburnnot to embed, i'll better wrap instead23:22
@sonney2kblackburn!23:24
blackburnyes?23:25
@sonney2kthe new Goethe!23:25
blackburn:D23:25
f-xsonney2k: again, about the free_feature_vector(): since i'm using the SGVector<ST> get_feature_vector(int32_t num) which implicitly does free_feature_vector(), should i add something more to my code?23:31
blackburnisomap works cool, classicmds works cool, even landmark mds works pretty cool23:31
blackburnwhy this god damn landmark isomap is wrong23:32
@sonney2kblackburn, ^ seen f-x's question?23:32
@sonney2ksounds to me like we need another consolidation23:32
blackburnsonney2k: eh.. don't understand the issue23:33
@sonney2kblackburn, in simplefeatures you can do get_feature_vector23:33
blackburnyes23:33
@sonney2kbut you always have to call *free_feature_vector* afterwards23:33
@sonney2know when SGVector has the same thing this is somehow double'd23:33
blackburnyeess23:33
blackburnsonney2k: why SGVector has the same thing?23:34
@sonney2kblackburn, recall the do_free flag?23:34
@sonney2khmmhh23:34
blackburnsonney2k: I just don't recall if SGVector has destructor23:34
blackburnhas it?23:34
@sonney2kno23:34
@sonney2kwhy?23:35
@sonney2kit has a free_vector() function23:35
blackburnso can't see anything double23:35
blackburndoubled*23:35
blackburnwhat is doubled?23:35
@sonney2kfree_feature_vector  / free_vector23:35
blackburnahh23:35
@sonney2kmore vodka please23:35
@sonney2kbut the free_feature_vector is a bit more general23:35
@sonney2kit could be that the features are coming from some strange thing23:36
blackburnsonney2k: I will be smart some day, I swear :D23:36
@sonney2kand so the free is some more complex function23:36
@sonney2kblackburn, smart enough for my taste23:36
blackburnokay I see23:37
blackburnbut can't see any way to avoid this23:37
@sonney2kf-x, anyway for now please call just free_feature_vector()23:37
f-xsonney2k: okay..23:37
blackburnwhat exactly free_feature_vector could do?23:38
@sonney2kblackburn, yeah but I would rather simplify things and avoid free_feature_vector23:38
blackburnI think I have a E.coli instead of my brain23:38
@sonney2kblackburn, anything23:38
blackburnsonney2k: even mess around with girls?23:39
@sonney2kfor sure23:39
@sonney2kblackburn, even date bettyboo23:40
bettyboosonney2k: or should i do it side by side23:40
* sonney2k does not want further details23:40
blackburnbettyboo: would you like to have a luv time with some free_feature_vector() methods?23:40
bettybooblackburn: I'm pretty new to the project but there's no c# interface from what I've seen in the code and documentation. I have no idea about the scale of the samples with regards to your second question so I'll let someone else more knowledgable answer that lol23:41
blackburnsonney2k: well how can it be possible to avoid that method?23:41
@sonney2kblackburn, by restricting shogun to platonic love - and just allowing free_vector()23:43
blackburnsonney2k: well let it be this way if possible :)23:44
blackburnsonney2k: do you use some autocompletion in vim?23:44
@sonney2kblackburn, I looked at the code - not so easy. if features are cached, free_feature_vector will unlock the cached row for example23:45
@sonney2kso hmhhh don't want to touch it23:45
blackburnthe only thing I lack - how to get e.g. at least param names of cblas_dgemm23:45
@sonney2kblackburn, google23:46
blackburnsonney2k: google of course can help - but in vim??23:46
@sonney2kblackburn, I don't use that autocompletion stuff...23:47
blackburnokaay23:47
-!- blackburn [~blackburn@31.28.40.202] has quit [Quit: Leaving.]23:52
-!- blackburn [~blackburn@31.28.40.202] has joined #shogun23:53
-!- mrsrikanth [~mrsrikant@59.92.81.39] has quit [Quit: Leaving]23:58
--- Log closed Tue Jun 28 00:00:27 2011

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