IRC logs of #shogun for Monday, 2011-07-04

--- Log opened Mon Jul 04 00:00:43 2011
-!- f-x [~user@117.192.209.232] has quit [Remote host closed the connection]02:10
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun06:41
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]06:44
CIA-32shogun: Soeren Sonnenburg master * raa41ac5 / (10 files):07:53
CIA-32shogun: Merge pull request #167 from sploving/master07:53
CIA-32shogun: add some java kernel examples - http://bit.ly/khi5Cz07:53
-!- sploving [~root@124.16.139.196] has joined #shogun08:59
splovinghi sonney2k08:59
@sonney2ksploving, hi09:11
@sonney2kfinally I see you in chat :)09:11
splovingholiday ends?09:11
@sonney2kI hope you are doing fine...09:11
@sonney2kI wouldn't say that I was on holidays...09:11
@sonney2kanyway please give me a quick update what the current problems for java_modular completion are?09:12
@sonney2kI mean mid-term is approaching quickly09:12
splovingnow just some case about test-suite. I did not understand generator.py09:13
CIA-32shogun: Soeren Sonnenburg master * re2c834b / (32 files in 9 dirs):09:14
CIA-32shogun: Follow Shashwat Lal Das nice suggestion and use overloading for09:14
CIA-32shogun: get_vector and related functions. - http://bit.ly/izi6YT09:14
@sonney2ksploving, before discussing that - translating examples are works?09:14
@sonney2kI mean did you discover any issues?09:15
@sonney2ksploving, still there?09:16
splovingnot any issues now. I pushed the examples works well09:16
@sonney2ksploving, great09:16
splovingarange(1,degree+1,dtype=double)[::-1]09:17
splovingwhat does ::-1 mean?09:17
@sonney2kreverse the vector09:17
splovinglike this small issue. that I donot understand some examples well. so I did not added them all09:17
@sonney2ksploving, always ask09:17
@sonney2kplease09:17
@sonney2kin the example above the vector is no e.g 1...10 but 10...109:18
@sonney2ksploving, now regarding generator.py - what do you not understand?09:18
@sonney2kgenerator.py reads all the .py files and then runs the examples one by one with the configurations mentioned in the top of the .py file09:19
@sonney2ksince these examples provide a function of same name and return some results - these are serialzed (pickled)09:19
@sonney2kand written down to disc09:19
@sonney2kthat's all09:20
@sonney2know when tester.py is run - it reads these serialized results and also runs the examples and gets the function return values and then compares if results are the same09:20
@sonney2ksploving, ok?09:21
splovingsounds ok09:21
splovingyou mean generator.py writes all the results in the disc09:21
@sonney2ksploving, yes09:21
@sonney2kthat is why I said you don't need to print but just provide functions that return the results09:22
splovingtester.py also run the example. then their results are the same. because the examples are run twice?09:22
@sonney2kthey should be if everything is correct - yes09:22
splovingthen there is no need to compares them. An example is run twice, the results is certly the same09:24
@sonney2ksploving, heh09:25
@sonney2kone would think so09:25
@sonney2kbut it is not always true09:25
@sonney2kif you are on a different architecture / library set09:25
@sonney2kthere can be differences09:25
@sonney2kand of course someone might change an algorithm and you now want to test if it really gives the same result09:26
@sonney2kand that is waht these regression tests are for09:26
@sonney2ksploving, does that make sense?09:27
splovingsonney2k, that sounds reponsible09:27
@sonney2ksploving, so do you now know what to do?09:28
@sonney2ksploving, IIRC these examples and test scripts and some documentation how to test java works etc is the remaining thing to be done for java for now09:29
@sonney2k(lets ignore UJMP sparse matrix support until it is implemented upstream)09:29
splovingdocumentation?09:29
splovingnot autogenerated?09:29
@sonney2ksploving, no that one here http://www.shogun-toolbox.org/doc/installation.html09:30
@sonney2kI mean you just have to write what is necessary09:30
@sonney2kto run java examples and give a small example like here http://www.shogun-toolbox.org/doc/modular_tutorial.html09:31
@sonney2ksploving, really not a lot maybe 1-3 paragraphs with that we expect things in CLASSPATH etc09:31
@sonney2ksploving, certainly doable in a 1-2 hours09:32
@sonney2ksploving, OK?09:32
splovingsonney2k, I am afrained I could not finished them in a week09:33
@sonney2ksploving, finish what?09:33
splovingI am not a java expert. I am not familiar to write the tester script09:33
splovingI mean examples , test-suite, and docs09:34
@sonney2ksploving, ask mikio early then how to do the generator / tester scripts and write examples while you are waiting for his reply09:34
splovingsonney2k, I think it is not difficult. but may take some time.09:35
splovingso there is no need to ask09:36
splovingI have a meeting next week09:36
@sonney2ksploving, midterm is in 11 days so you have still 88 hrs :)09:36
splovingin another city09:36
splovingI have to prepare for it also09:36
@sonney2ksploving, well please try hard - OK?09:37
splovingOf course. I will try my best09:37
splovingmidterm is on next Monday, am I right?09:37
@sonney2kok - so just keep the patches coming and ask early... it is really not a lot of work for 11 days. I would say examples take 1-3 days, documentation 1 day at best09:37
@sonney2khttp://www.google-melange.com/gsoc/events/google/gsoc201109:38
@sonney2kdeadline is 15th09:38
@sonney2ksploving, just start working now... I will be around if there are further burning questions09:38
@sonney2ksploving, talk to you soon!09:38
splovingokay.09:40
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun09:55
-!- blackburn [~blackburn@188.122.238.99] has quit [Ping timeout: 240 seconds]10:09
-!- sploving [~root@124.16.139.196] has left #shogun []11:12
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has quit [Read error: Connection reset by peer]11:58
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun13:37
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]13:40
@sonney2kblackburn - this would be something for you file:///home/sonne/Downloads/11-07-04/waffles/web/tutorial/dimred.html14:02
@sonney2kerr sorry - http://waffles.sourceforge.net/tutorial/dimred.html14:03
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun14:28
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun14:30
-!- in3xes1 [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds]14:32
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]14:33
-!- f-x [~user@117.192.204.74] has joined #shogun14:50
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun15:09
@sonney2kblackburn, seen that http://waffles.sourceforge.net/tutorial/dimred.html15:12
@sonney2k?15:12
blackburnnope15:12
blackburnwhy it could be interesting? :)15:13
blackburnhm15:13
blackburnyes manifold sculpting is impressive15:13
-!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has joined #shogun15:29
@sonney2kblackburn, just because of the pictures :)15:53
blackburnsonney2k: the most funny thing about these pictures - they could become ugly just if we set k=9 but not 10 or so15:57
blackburnit is all unstable a bit15:58
@sonney2kisn't that the case for all these dim red methods?15:58
blackburnsome of they could be non-parametric, I don't know for sure15:58
blackburnPCA have no parameters like k hehe15:59
blackburnand useless for swiss-roll things15:59
blackburnhm I guess I have to really test my arpack wrapper16:01
-!- f-x [~user@117.192.204.74] has quit [Remote host closed the connection]16:21
-!- in3xes_ [~in3xes@210.212.58.111] has joined #shogun16:31
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 276 seconds]16:35
-!- blackburn [~blackburn@188.122.238.99] has quit [Quit: Leaving.]16:35
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun16:35
-!- in3xes_ is now known as in3xes16:57
CIA-32shogun: Baozeng Ding master * r87f2965 / (4 files): add some kernel examples for java_modular - http://bit.ly/jBIwLv17:56
CIA-32shogun: Soeren Sonnenburg master * r414534f / (4 files):17:56
CIA-32shogun: Merge pull request #168 from sploving/master17:56
CIA-32shogun: add some kernel example for java_modular - http://bit.ly/kbD9S117:56
-!- f-x [~user@117.192.204.74] has joined #shogun18:55
-!- b3ttyb00 [~bettyboo@bane.ml.tu-berlin.de] has joined #shogun19:51
-!- bettyboo [~bettyboo@bane.ml.tu-berlin.de] has quit [Ping timeout: 240 seconds]19:52
-!- in3xes [~in3xes@210.212.58.111] has quit [Ping timeout: 240 seconds]19:52
-!- b3ttyb00 is now known as bettyboo19:52
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun20:03
@sonney2kf-x, regarding your patch - it is mostly fine21:25
@sonney2kI am not really sure if we want SGVector business or not for these functions - I tend to say yes but it would be OK for now if you leave the float64_t* int stuff21:26
@sonney2k(the code in dotfeatures is legacy in this respect too - I would convert it to SGVector too at some stage)21:26
f-xsonney2k: about SGVector - I find the SGD code easier to read right now without it21:27
f-xi converted it to use SGVector, but it was simpler to write using separate variables21:27
@sonney2kf-x, well that can be improved: just consider you have the basic operations defined for SGVector21:27
@sonney2kthen it would be more readable w/ SGVector21:27
* blackburn tends to *not* implement even basic operations for SG* structures21:28
@sonney2kblackburn, why not?21:29
f-xsonney2k: yeah, but then again call that stuff in CMath isn't yet made for SGVector, right?21:29
f-xi haven't checked it out21:29
@sonney2kblackburn, wouldn't it be nice to say vec.multiply(2)21:29
f-xbut its functions in SGD are called through separate args21:29
blackburnsonney2k: looks nice but implementation issues21:29
@sonney2kf-x, yeah - that code could go to SGVector ...21:29
@sonney2kblackburn, which?21:29
blackburnblas? or simple loops?21:30
blackburnblas could be good for some operations, loops for other, right?21:30
blackburnthe other problem - in fact we have pretty 'low' level in algos21:31
@sonney2kblackburn, so what is the problem?21:31
@sonney2kone can use blas for float32_t / float64_t and loops otherwise21:32
blackburnsometimes blas is not very reasonable21:32
blackburnwhat if we just want to multiply 3-4 elements?21:32
blackburnoverhead of calling blas may be even higher than just simple loop21:33
@sonney2kblackburn, yes but no one forces you to use these operations / to not call a loop based implementation21:33
blackburnthat is a problem too: we will mix it up21:33
blackburni.e. sth like21:34
blackburnfor (i=0; i<N; i++)21:34
blackburnblablabla21:34
blackburnvec.multiply(blablabla)21:34
blackburnI'd rather use only some fors than mixing it up21:35
@sonney2kblackburn, I don't see any problem so far...21:35
blackburnI don't know21:36
blackburnmay be it just for me :)21:36
blackburnI think that all the code should be on the same 'level'21:37
blackburnand in fact we can't generalize it21:37
@sonney2kblackburn, what is the problem to have specialized implementations for specific data types?21:40
* sonney2k is wondering what happened to blackburn who suggested this in the first place...21:41
blackburnhaha21:41
blackburnokay well my experience of working with arpack and algos changed me21:41
blackburnfor example21:41
blackburnwhat are the operations for matrices?21:42
blackburnmainly dot product21:43
@sonney2kblackburn, just the basic ones we need in the algos21:43
blackburnyes but sometimes not basic ones is needed21:43
blackburni.e. it is triangular matrix or so21:43
blackburnin this case using general way will cause lower performance21:44
f-xsonney2k: in SVMSGD, lambda=1/num_vec.. in the online version should i keep this as a parameter with some default constant value (1e-4 as in Leon's version) or something else? because the weights seem to depend quite a bit on it21:44
blackburnso my point is to use 'expert-mode' of these things21:44
@sonney2kblackburn, well that is very specific and you could either have a specific impl. in SGMatrix or separate21:44
blackburnclapack, cblas, etc21:44
blackburnnot A.dot(b)21:45
@sonney2kf-x, *sigh* that can really screw up everything - you should ask John about this - he is the expert21:45
@sonney2kblackburn, yes always use expert mode of course21:46
blackburnthe pros of doing it this way is that if we want to multiply some part of matrix or so - we just change N->k or so21:46
f-xsonney2k: in Leon's svmsgd2.cpp, he sets lambda=1e-4 which can be changed through a command line option.. hence i thought it could be something to let the user decide21:46
blackburnif we want to do this trick with some a.dot(b) - we have to change it to some cblas routine, right?21:46
@sonney2kf-x, I guess you have no other choice21:47
f-xsonney2k: i guess.. anyway an email to john is on the way..21:47
@sonney2kblackburn, you can impl. a.dot(b) using cblas for float* types and for other types using a loop21:47
blackburnmy point is: encapsulating some operations won't really improve readability21:47
@sonney2kblackburn, ehh why not?21:49
@sonney2kwhen you can always write a.dot(b) not matter what type and get the best impl. underneath?21:49
blackburnbecause even small changes: some cutting of matrix or so - will cause to change from that a.dot to cblas_dgemm, etc21:50
blackburnif some apply_to_feature vector have MANY fors like LLE does21:51
blackburnsome a.dot will not really improve readability21:51
@sonney2kblackburn, but for these you use specific impl's anyways21:51
blackburnso I think we better use specific all the time :)21:51
blackburnI mean we have two ways: some old-school hard-code mutha-fucka expert coding everywhere _or_ mix some first with a.dot(b)21:54
blackburndon't you think so?21:54
@sonney2kblackburn, there is one 'common' way of using a matrix/vector21:55
@sonney2kand one for kewl shapes etc21:55
f-xsonney2k: i just checked the code of vw - the default in that is 0.001. (again set through the command line) so it doesn't look like it will be much of a problem to use a similar thing in our implementation.. will wait for john's reply though21:55
@sonney2kI would define the operations for the 'common' case only21:55
@sonney2kf-x, I read your email :)21:55
f-xsonney2k: oh ok :)21:55
@sonney2kf-x, I would suggest to document that 1/num_examples is a good starting point21:56
@sonney2kand then set the default value like SGD does21:56
f-xsonney2k: okay, will do21:56
f-xbut i still suggest we use separate batch/online versions of algorithms21:56
f-xbecause such things may be lost out when we're converting it into something depending on the online framework21:57
@sonney2kblackburn, f-x now has the problem for very simple operations like multiply with scalar, add some vectors21:57
@sonney2kblackburn, since these algorithms all not use a real vector data type things become unreadable quickly...21:57
blackburnwhy?21:57
blackburnoh I don't know21:58
@sonney2kblackburn, all our interface functions cannot use SGVector etc / or if we use them we always have to vec.vector / vec.lenght21:58
blackburnmay be I was working on some fancy things too many hours21:58
@sonney2kblackburn, well lets have a look when f-x is through the code21:58
@sonney2kf-x, btw can I now merge the features patch?21:59
@sonney2kf-x, did you do the small changes?21:59
blackburne.g. arpack wrapper  uses cholesky, diagonal matrices, ..21:59
blackburnno way to really hide it somehow21:59
@sonney2kblackburn, yeah - surely not sth. fo SGMatrix :)21:59
blackburnmay be dgemm could be hided21:59
blackburnand saxpy21:59
f-xsonney2k: its unchanged, but it will compile.. problem is i made further (unrelated) changes to those files afterwards, so if I push and make a pull request now, those things will come up too..22:00
@sonney2kf-x, why do you do this? This patch is way to big anyways already22:00
@sonney2kf-x, can't you just do small changes that I can somehow digest in a few minutes?22:01
@sonney2kit is really growing too big for me - and hard to realize what all the consequences are22:01
* blackburn should learn some gdb and valgrind22:01
f-xsonney2k: i had to make those changes for the sgd.. anyway i'll revert back and merge just those minor changes, then update my copy using it22:01
@sonney2kf-x, anyway what are these unrelated changes now?22:01
f-xjust give me half an hour22:01
f-xsonney2k: i'll push those changes later - they won't come up in the pull request22:02
@sonney2kbtw, I am now reachable during normal working hours that is 7-15hrs UTC22:03
* blackburn should take some teeth medicine :(22:03
@sonney2kblackburn, vodka?22:03
blackburnsonney2k: vodka helps but it produces headache at morning22:03
blackburnI've got a pulpitis again hhr22:04
@sonney2kpoor blackburn22:08
blackburnsonney2k: what do you use for navigating when some vim'ing?22:11
blackburnjust console?22:11
@sonney2kI don't understand the question22:11
blackburnwell there are some nerdtree or so22:12
blackburnI mean do you exit vim, change dir, etc22:12
@sonney2kblackburn, I use gnome-terminal with multiple tabs open22:13
@sonney2kone for vim, one for running examples etc22:13
blackburnso cd... blabla22:13
blackburnvim blabla22:13
blackburn:wq22:13
blackburnvim blabla222:13
blackburnthis way?22:13
blackburnis there some way to 'dir' current directory in vim, open something?22:14
@sonney2kI don't exit22:17
@sonney2kbut yes jsut vim /path/todir22:17
@sonney2kor :e /path/to/dir22:17
blackburnaha22:18
blackburnthat is exactly I was asking22:18
blackburneigs=[0.0000000000,0.0000000000,0.0000000000,0.0000000000]22:38
blackburnTime passed 0.00071883201599122:38
blackburnfantastic speed lol22:38
blackburnforgot to uncomment at least one eigensolver :D22:38
@sonney2k:))22:43
-!- blackburn [~blackburn@188.122.238.99] has quit [Quit: Leaving.]22:44
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun22:44
@sonney2kf-x, any news?23:16
* sonney2k is now only semi-awake23:17
f-xsonney2k: yes - i'm making the changes into another cloned branch23:18
f-xi have to remove those macro declarations right?23:18
@sonney2kf-x, ok I guess then this will be the first thing I can look at tomorrow morning23:18
f-xok.. the pull request should be there by then23:19
blackburnsonney2k: better brush your teeth first, not shogun :D or will be having similar problems :)23:22
@sonney2kblackburn, I know what you are talking about ...23:24
CIA-32shogun: Sergey Lisitsyn master * rccfa941 / src/libshogun/preprocessor/ClassicMDS.cpp : Fixed segfault at ClassicMDS eigenvalues vector - http://bit.ly/iy22Bq23:27
blackburnor damn shift-invert mode23:27
blackburnoh*23:27
blackburnanother day with no serious result, it doesn't converge now for some reason23:28
--- Log closed Tue Jul 05 00:00:46 2011

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