IRC logs of #shogun for Wednesday, 2011-07-06

--- Log opened Wed Jul 06 00:00:49 2011
-!- alesis-novik [~alesis@188.74.87.206] has quit [Quit: I'll be Bach]01:20
-!- f-x [~user@117.192.193.217] has quit [Read error: Connection reset by peer]01:32
-!- f-x [~user@117.192.193.217] has joined #shogun01:36
-!- f-x [~user@117.192.193.217] has quit [Remote host closed the connection]02:32
-!- in3xes [~in3xes@180.149.49.227] has quit [Remote host closed the connection]03:33
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun03:33
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 260 seconds]07:06
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun07:18
CIA-32shogun: Shashwat Lal Das master * r8e55cd8 / (3 files): Removed unnecessary macro definitions of the get_vector functions in StreamingFileFrom*Features. - http://bit.ly/qvnOBh08:55
CIA-32shogun: Soeren Sonnenburg master * re7e71c8 / (3 files):08:55
CIA-32shogun: Merge pull request #171 from frx/streamingfile08:55
CIA-32shogun: Removed unnecessary macro definitions of the get_vector functions - http://bit.ly/oYJXjL08:55
@sonney2kf-x__, thanks08:57
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun09:19
-!- sploving1 [~sploving@124.16.139.194] has joined #shogun09:21
sploving1hi sonney2k09:22
@sonney2ksploving1, IIRC jblas doesn't support types other than float/double?09:22
@sonney2kthought only UJMP can handle that09:22
sploving1sonney2k, jblas could not support it. but we could use DoubleMatrix, and convert it into the types that shogun need09:23
sploving1array[i] = (SGTYPE)carr[i]; like this09:24
sploving1as doulbe could be converted any other type.09:24
@sonney2ksploving1, I see - so you do that?09:24
@sonney2kmakes sense then09:24
@sonney2kbut needs to be documented...09:24
sploving1so the examples in java_modular like ushort could be added09:24
sploving1sonney2k, when documented, I will docted it.09:25
@sonney2kI see09:25
sploving1now there is an error09:25
@sonney2kmerging then09:25
CIA-32shogun: Baozeng Ding master * r59fe842 / src/java_modular/swig_typemaps.i : support other types for jblas - http://bit.ly/rnAyiz09:26
CIA-32shogun: Baozeng Ding master * r6e66f91 / (3 files): add regression examples for java_modular - http://bit.ly/nAvDXF09:26
CIA-32shogun: Soeren Sonnenburg master * r2fc6eb1 / (4 files in 2 dirs):09:26
CIA-32shogun: Merge pull request #172 from sploving/master09:26
CIA-32shogun: support other types for jblas and add regression examples - http://bit.ly/n7ZpHQ09:26
@sonney2ksploving1, error?09:26
sploving1compile:09:27
sploving1    [javac] Compiling 623 source files to /home/sploving/shogun/src/java_modular/classes09:27
sploving1    [javac] /home/sploving/shogun/src/java_modular/org/shogun/CustomKernel.java:68: in org.shogun.CustomKernel defineded alread set_full_kernel_matrix_from_full(org.jblas.DoubleMatrix)09:27
sploving1    [javac]   public boolean set_full_kernel_matrix_from_full(DoubleMatrix full_kernel_matrix) {09:27
sploving1   09:27
sploving1when I make, it shows the above error09:27
sploving1sonney2k, you could make hava a try. git clean -dfx, ./configure --interfaces=libshougn,java_modular, make -j409:28
@sonney2ksploving1, so it is because of your recent change or?09:29
@sonney2kI mean I just compiled before your commit09:29
@sonney2ksploving1, yeah look at this09:29
@sonney2k  public boolean set_full_kernel_matrix_from_full(DoubleMatrix full_kernel_matrix) {09:29
@sonney2k    return KernelJNI.CustomKernel_set_full_kernel_matrix_from_full__SWIG_0(swigCPtr, this, full_kernel_matrix);09:29
@sonney2k  }09:29
@sonney2k  public boolean set_full_kernel_matrix_from_full(DoubleMatrix full_kernel_matrix) {09:29
@sonney2k    return KernelJNI.CustomKernel_set_full_kernel_matrix_from_full__SWIG_1(swigCPtr, this, full_kernel_matrix);09:29
@sonney2k  }09:29
@sonney2kIfrom CustomKernel.java09:29
@sonney2ksploving1, I guess that is due to the new typemaps09:30
sploving1sonney2k, how to fix it09:31
@sonney2ksploving1, I don't know09:32
sploving1could we delete one method in shogun?09:32
@sonney2ksploving1, can't you internally detect what target type is needed?09:32
@sonney2kactually it is a bug in the typemaps09:33
@sonney2klook at libshogun/kernel/CustomKernel.h09:33
sploving1sonney2k, I will take a look at it09:34
@sonney2kthere the function is defined for float32_t and for float64_t09:34
@sonney2kbut in the java code it is always DoubleMatrix09:34
@sonney2kit should be FloatMatrix once and DoubleMatrix for the other09:34
sploving1it is easy. sonne2k, just add floatmatrix to typemap float_3209:35
sploving1others using DoubleMatrix09:35
sploving1make sense?09:35
@sonney2kwhere exactly?09:36
sploving1I mean splite float32_t in swig_type.i from other types09:37
sploving1sonne2k, ok?09:37
sploving1sonney2k09:37
@sonney2ksploving1, I guess you can do that by enhancing the macro a bit09:37
@sonney2ksuch that you always need to specify the *Matrix type09:38
@sonney2kthen you don't need two separate cases09:38
@sonney2ksploving1, I would say give this a try09:38
sploving1sonney2k, I will have a try. another thing is Regression examples09:40
sploving1I could javac regression_libsvr_modular.java wokr09:40
sploving1but java regression_libsvr_modular does not work09:41
@sonney2ksploving1, well I cannot test when java is not compiling09:41
@sonney2kso please fix that first09:41
sploving1sonney2k, fixed it. now I am testing it09:51
@sonney2ksploving1, and? does it work?10:02
sploving1sonney2k, not work well, still look where is the bug10:03
@sonney2kok, just let me know when you made progress - I will be around10:04
-!- sploving1 [~sploving@124.16.139.194] has quit [Ping timeout: 255 seconds]10:13
-!- sploving1 [~sploving@124.16.139.134] has joined #shogun10:14
sploving1my machine crashed justs now10:14
sploving1okay. when it works, I will push it10:16
@sonney2kok10:16
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun10:21
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Quit: Ooops..!!]10:26
sploving1sonney2k, pushed it10:28
@sonney2ksploving1, looking10:28
@sonney2ksploving1, where?10:29
@sonney2kdid you issue a pull request10:29
sploving1https://github.com/sploving/shogun/commit/d05e6bbf6e7a106d0c6025152760557ab4fcca5e10:29
sploving1no10:29
sploving1I will pull request10:29
sploving1okay10:30
CIA-32shogun: Baozeng Ding master * rd05e6bb / src/java_modular/swig_typemaps.i : improve jblas typemap for various types - http://bit.ly/nJe9oD10:32
CIA-32shogun: Soeren Sonnenburg master * rf23f64a / src/java_modular/swig_typemaps.i :10:32
CIA-32shogun: Merge pull request #173 from sploving/master10:32
CIA-32shogun: improve typemap for jblas - http://bit.ly/p3zJZC10:32
-!- blackburn1 [~blackburn@188.122.238.99] has joined #shogun10:37
sploving1sonney2k, java regression_krr_modular  still have problem10:39
sploving1Exception in thread "main" java.lang.UnsatisfiedLinkError: org.shogun.ClassifierJNI.KernelMachine_SWIGUpcast(J)J10:40
sploving1at org.shogun.ClassifierJNI.KernelMachine_SWIGUpcast(Native Method)10:40
sploving110:40
@sonney2kyes I see - can you make any sense of that10:40
@sonney2k?10:40
-!- blackburn [~blackburn@188.122.238.99] has quit [Ping timeout: 255 seconds]10:40
sploving1sonney2k, I have no idea10:41
blackburn1UnsatisfiedLinkError... I love it10:41
@sonney2krunning regression_libsvr_modular ..10:42
@sonney2kException in thread "main" java.lang.UnsatisfiedLinkError: org.shogun.ClassifierJNI.SVM_SWIGUpcast(J)J10:42
@sonney2kat org.shogun.ClassifierJNI.SVM_SWIGUpcast(Native Method)10:42
@sonney2kat org.shogun.SVM.<init>(Unknown Source)10:42
@sonney2kat org.shogun.LibSVR.<init>(Unknown Source)10:42
@sonney2kat org.shogun.LibSVR.<init>(Unknown Source)10:42
@sonney2kat regression_libsvr_modular.main(regression_libsvr_modular.java:28)10:42
blackburn1ain't we fixed it with some import?10:42
@sonney2kit seems to only happen with Regression10:42
@sonney2kso I suspect there is a classification / machine / regression clash somehow10:42
@sonney2kblackburn1, a new day a new problem :)10:42
@sonney2kblackburn1, for you :D10:43
-!- blackburn1 is now known as blackburn10:43
blackburnwhy for me, my headache is only arpack now :D10:43
@sonney2kblackburn, yeah - I forgot that :)10:43
blackburnshift-invert mode is still f-ked10:44
blackburnand is not used anywhere10:44
@sonney2karpack is suffitient punishment :D10:46
@sonney2kc10:46
@sonney2khttp://i.imgur.com/iYnGb.png10:49
blackburnahahha10:49
@sonney2khmmh could be a problem with KernelMachine being included in classifiers and Regression10:51
blackburnthe first time in my life the solution could be not to include something? :D10:53
@sonney2kblackburn, heh10:54
@sonney2kI think we need to have a separate Machine.i10:54
sploving1for i in xrange(10),(python) does java have similar function? anyone knows?11:10
blackburnehh11:11
blackburnfor(int i=0; i<10; i++)? :D11:12
sploving1blackburn, that is not native I think11:12
blackburnnative?11:12
sploving1but is useful11:12
blackburnwhat could be more 'native'?11:12
sploving1if java hava a build-in function "arange" then it is more native11:13
sploving1I do not know whether it has or not11:14
blackburnof course not11:14
blackburnpython has no cycles - that is why it has ranges11:14
blackburnyou can create Collection containing 1,2,3,4,5,6, ... and use for(Integer i: collection)11:14
blackburnbut it is the very bad way11:14
sploving1oh11:15
blackburnjava way to iterate over numbers is definitely loops11:16
sploving1you are a java/python expert? hero!11:16
blackburnwhy hero? :)11:17
sploving1I am not good at them. just know basic knowlege11:18
blackburnwell C++/java/python is kinda standard :)11:19
bettyboohaha11:19
sploving1in python, we could use 3*'a', in java, could we use 3*"a"?11:21
blackburnno, no way11:22
sploving1they how to get that? blackburn11:23
blackburnwith loops.. :)11:23
blackburnand StringBuilder11:23
blackburnyou can '+' strings11:23
sploving1blackburn, did you see test_check__comman...modular.py in python exmaple11:24
sploving1there are a lot of num* 'ACGT'11:24
blackburnaha I see11:25
sploving1a bit trival for java, do you agree with me?11:26
blackburnstrange test anyways11:27
blackburnI'll make a function repeating string num times11:27
blackburnin a minute11:27
sploving1in java?or python11:28
blackburnjava11:28
sploving1thx in advance, blackburn11:31
blackburnsploving1: http://pastebin.com/AzSFDx1v11:32
* blackburn wasn't code in java for a two months: what a wonderful feeling11:33
sploving1blackburn, lookes good~11:35
blackburnwill work fast ;)11:36
blackburnthe bad way to do that - just + strings11:36
blackburnit will cause high memory usage11:36
blackburni.e. then you do a = a+b11:36
blackburnit makes string a+b11:36
blackburnas well as a11:37
blackburnso O(n^2) memory usage :D11:37
sploving1blackburn, I think in the test, there is no need a+b11:39
blackburnI mean if you use loop where String + String11:39
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun11:39
blackburnit will produce as much strings as 'num'11:39
blackburnif not Stringbuilder or Stringbuffer is used11:40
sploving1if String POS = repeat("ACGT", 100); POS+NEG = repeat("ACGT", 200)?11:40
blackburneh?11:41
sploving1blackburn, in the test, POS is the same as NEG11:43
sploving1why POS+NEG, not construct just a POS11:43
blackburnI don't know, if it is the same just construct it this way11:44
sploving1blackburn, POS is not only 'ACGT' there is 'TTGT'11:45
sploving1also11:45
blackburnwell so just do POS = repeat("ACGT",some X) + repeat("TTGT",some Y)11:46
blackburnor so11:46
sploving1blackburn, in python, POS+NEG will result a string or string[]?11:50
blackburneh?11:50
blackburnwhat is pos and what is neg?11:51
sploving1in test_check_comm...modular.py11:51
blackburnah11:53
blackburnnon-trivial shit11:53
blackburnyou have to do it this way11:53
sploving1tring POS = repeat("ACGT", 600) + repeat("TTGT", 210) + repeat("ACGT", 600);String NEG = repeat("ACGT", 600) + repeat("TTGT", 210) + repeat("ACGT", 600);11:54
sploving1then use POS+NEG?11:54
blackburnString[] POS = new String[how many];11:54
blackburnfor (int i=0; i<how many; i++)11:54
blackburn  POS[i] = repeat("ACGT", 100);11:54
blackburnsomething like that11:54
blackburnthen construct NEG11:55
blackburnand then construct POSNEG11:55
blackburnyou can't do that POS+NEG in java11:55
sploving1you mean POS is 1 * x array11:55
sploving1NEG is too11:55
blackburnyes it is :)11:56
sploving1POS + NEG is 1* 2x array11:56
blackburnyes11:56
blackburnwhen constructing posneg you could just set first x elements with according pos' ones11:57
blackburnand last x with according neg's11:57
sploving1String POSNEG[] = new String[2]; POSNEG[0] = POS; POSNEG[1] = NEG11:59
sploving1?11:59
sploving1blackburn, am I right?11:59
blackburnno12:00
blackburnString[] pos = new String[x];12:01
blackburnString[] neg = new String[x];12:01
blackburnString[] posneg = new String[2*x];12:01
sploving1then a for look will be ok?12:02
sploving1thx blackburn12:02
sploving1I gtg bye12:02
-!- sploving1 [~sploving@124.16.139.134] has left #shogun []12:02
bettybookiss sploving112:02
blackburnShogun® java™ consulting program12:03
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Quit: Ooops..!!]12:17
-!- heiko1 [~heiko@main.uni-duisburg.de] has joined #shogun12:56
-!- in3xes [~in3xes@180.149.49.227] has quit [Read error: Operation timed out]13:06
@sonney2kblackburn, hmmhh I have a fix for that java thing  - guess what the solution is?13:13
blackburnsonney2k: import something?13:13
@sonney2kinclude / import yes :)13:13
bettyboointeresting13:13
blackburnwhat a surprise :D13:13
@sonney2kblackburn, the reason is simply that LibSVM is derived from KernelMachine13:14
@sonney2kand that is all defined in classifier13:14
@sonney2know LibSVR (regression!!!) is derived from LiBSVM13:14
@sonney2kso java needs to import classifier stuff to do the upcast from LibSVR -> SVM13:14
blackburnkinda intricated affairs13:15
@sonney2kdon't like that ... I would prefer that one does not need to import classifiers to use regression methofs13:15
@sonney2kmethods13:15
@sonney2klike it is in python13:15
@sonney2kbut sigh - I don't see any workaround other than having SVM not in classifiers but something else13:16
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun13:19
CIA-32shogun: Soeren Sonnenburg master * rcfc559d / (4 files in 2 dirs):13:22
CIA-32shogun: (temporary?) fix for java & regression: since LibSVR etc are derived13:22
CIA-32shogun: from SVM (which is in module classifiers) we need to import Classifiers13:22
CIA-32shogun: too (in Regression.i and also in the regression*.java examples) to fix13:22
CIA-32shogun: compilation issues. - http://bit.ly/nNBw0Y13:22
@sonney2kheiko1, all good with you swig fiddling?13:22
heiko1sonney2k, hi, yes makeing progress but it is fiddeling indeed :)13:23
blackburnis there any LU expert? :D13:23
@sonney2kask early and often is the only thing that can rescue you from becoming mad - and I know what I am talking about13:23
heiko1yes, I will13:24
heiko1problem is currently that I dont have a large overview how all this works13:24
heiko1but its getting better13:24
heiko1nearly have the example running13:24
heiko1blackburn, LU factorization?13:24
blackburnheiko1: yeap13:24
heiko1blackburn, I did a course in numerical mathematics in spring, we did LU, I know a little bit about it, what is your problem?13:25
blackburnI got an ill-posed matrix with det~e-1213:25
blackburnI have to do invers13:25
blackburne13:25
blackburnas I can see lapack do it with LU13:25
blackburnthen L^-1 U^-113:25
blackburnthe result is completely wrong13:25
blackburnthe result is non-sym matrix while given is sym13:26
heiko1mmh13:26
blackburnoctave gave me matrix with elements ~ e+0513:27
heiko1perhaps try it with another method? or implementation?13:27
blackburnhmm I will try dpotri now13:27
blackburncholesky inverse13:27
blackburnhmm13:28
blackburnno, I can't do it in wrapper13:28
blackburnit makes me mad13:28
heiko1i understand :(13:28
blackburnheiko1: I don't know if LU inverse is stable for this problem13:28
heiko1yes, that might be the problem13:29
blackburnI guess it should be, right?13:29
blackburnwell det(L) is 113:29
blackburndet(U) is product of diag13:29
blackburnso there shouldn't be det of e-1013:29
heiko1if the matrix is pos definite you might use cholseky, wikipedia says it is more stable13:31
heiko1and with the product of diagonal entries I think you have to be carefull when numerical errors are in the game. But I dont remember perfectly13:31
blackburnwell I do wrapper for symmetrical eigenproblems13:32
blackburnI can't be sure pos-def will be given13:32
heiko1oh ok :(13:32
blackburnarpack uses inverse communication13:33
blackburnand on each iteration I should solve system Aw=v13:33
blackburnwhere w, v will be given to me13:33
blackburnand A is given matrix13:33
blackburnso the good way to do that is to factorize A13:33
blackburnor compute A^-113:34
heiko1yes, indeed13:34
blackburnI guess inverse is bad way13:34
blackburnLLE gives me matrices with ~0 dets13:34
* heiko1 will get a coffe13:36
blackburnheiko1: hey is it a standard practice that students does a courses?13:36
heiko1what do you mean?13:37
blackburnyou take it or teach it?13:37
blackburnyou give a lessons, right?13:37
heiko1I took numerical maths, but I also give lessons in discrete mathematics, not the lecture but the exercises13:37
heiko1its usual here that student tutors do this13:38
blackburnI see13:38
heiko1so, I am off for coffee :) see you later13:38
blackburnsee you13:38
blackburnoh haha13:40
blackburnhttp://f.asset.soup.io/asset/2119/0975_2d73.jpeg13:40
-!- f-x [~user@117.192.192.180] has joined #shogun13:41
@sonney2kblackburn, :D13:43
blackburnsonney2k: do you know how to tell arpack that matrix is already factorized? ;(13:45
blackburnah13:45
blackburnlapack13:45
blackburnnot arpack13:45
* blackburn is crying13:45
@sonney2kblackburn, sorry but no... I guess you should ask on some lapack/blas/atlas mailinglist and do sth else to recover13:45
blackburnokaaaay13:46
blackburnhm13:48
blackburnI think it is not possible!13:48
@sonney2kblackburn, and I don't mean vodka this time13:48
blackburnsonney2k: yes but I already took two glasses of vodka this morning13:49
@sonney2kblackburn, of course - you are Russian :D13:51
bettyboohe13:51
@sonney2kit is widely known that you brush your teeth with vodka!13:51
blackburnmy day begins from power on my nuclear missile site, then I brush my teeth with vodka, play some balalayka and clean my house roof out of snow13:52
blackburnafter I have to walk out with bear and make some human rights violation :D13:53
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun13:53
@sonney2kblackburn, like burning US flags I suppose13:55
@sonney2kexactly what I expected13:55
blackburnyes, I burn US flags every day13:56
blackburnas well as haunting chodorkovsky :D13:56
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 244 seconds]13:57
heiko1lol  whats going on here? :)14:01
heiko1sonney2k, i got a question on this python/swig stuff14:01
heiko1I want to do a parameter tree example14:01
@sonney2kheiko1, normal day-to-day madness14:02
@sonney2kshoot14:02
heiko1in c++ i create all node with "new" and then when the root node is deleted, the tree is deleted automatically14:02
heiko1in python, i create all nodes via the normal constructor14:02
heiko1but then they are deleted automatically14:02
heiko1and then, the root node tries to delete them again14:02
heiko1segfault14:02
heiko1what to do against this?14:02
heiko1cann I tell python not to delete variables?14:03
heiko1(I want to translate the modelselection_parameter_tree example to python()14:03
@sonney2kheiko1, you need to use the SG_REF mechanism in C++14:04
@sonney2kthat is within your tree SG_REF the nodes that are in there14:04
@sonney2kand SG_UNREF when you are done14:05
heiko1ah ok14:05
heiko1when appending child nodes14:05
heiko1alright, that saved some time :)14:05
@sonney2kheiko1, basically everything that you keep a reference on (and is derived from SGObject) your should SG_REF14:06
@sonney2kand never use delete but SG_UNREF14:06
heiko1yes,14:06
heiko1i usually do this, you already told me, but i forgot about the tree structure14:06
@sonney2kswig then automagically will increase the refcount for the objects it still holds14:06
@sonney2kand whoever calls unref last will cause the object to die14:07
heiko1ok, will try now14:07
heiko1ehm.14:08
heiko1I use delete this at some point14:08
heiko1maybe have to think about this some more14:08
@sonney2kdelete this?14:09
@sonney2kheiko1, won't that kill the object under your feet?14:09
heiko1yes14:10
heiko1its for tree destruction14:10
blackburndelete this?!14:10
blackburn:D14:10
heiko1yes, I have a destroy method14:10
heiko1that does something other than destructor14:10
blackburnuff14:10
heiko1destructor only deletes node, destroy deleted tree of which node is the root14:10
blackburnwhy not make destructor capable of this?14:11
heiko1I want to be able to choose whether tree gets destroyed or not14:12
blackburnhmm14:12
heiko1well, I will think of it a bit now, perhaps I will change14:12
heiko1I changed some stuff afterwards, perhaps its possible to do it with only the destructor nwo14:13
heiko1now14:13
blackburndelete this looks strange to me14:13
heiko1yes its a bit esoterical :)14:13
heiko1but its possible14:13
blackburnsonney2k: I have one suggestion: lets make shogun version in assembly language?14:14
heiko1omg :D14:14
heiko1please not14:14
blackburn:D14:14
heiko1building products of sets of trees in assembler ;)14:14
@sonney2kblackburn, I prefer one that is totally written in java script14:14
blackburnoh yes14:15
blackburnjavascript works too14:15
heiko1what about google go if we already are paid by google :)14:15
blackburnhm14:17
blackburnI have an idea14:17
@sonney2ktoo easy14:17
blackburnhow to involve more developers14:17
blackburnPHP!14:17
blackburn:D14:17
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun14:20
blackburnheiko1: I guess I found a solution to my trouble14:24
heiko1blackburn, ok, what did you do?14:25
blackburnthat is the most applied mathematician did if they can't solve something14:25
blackburn:D14:25
blackburnI just will modify diag of matrix14:25
blackburnregularize it14:25
heiko1hehe14:25
heiko1lol that reminds me of a funny hint, a guy once gave me14:25
heiko1for my bachelor thesis I firstly used kernlab, an R implementation of SVM14:26
heiko1and it froze regulary14:26
heiko1I asked the developer14:26
heiko1He tolds me that due to numerical errors, the kernel matrix had some smal smal negative values14:26
blackburnhaha14:26
heiko1his solution was to add 0.1 to every diag entry :)14:27
heiko1that solved the problem for some cases, but not for every one,14:27
heiko1thats actually why i switched to shogun :)14:27
blackburnI have used similar technique in LLE already: when k>dim covariance matrix is singular14:27
heiko1wel"technique is a nice word for that :)14:28
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun14:36
@sonney2kheiko1, actually we do the same thing...14:37
@sonney2kall this numerical business is so damn wobbly / unstable or whatever you want to call it14:37
@sonney2kand every solver has its own oddities / problems14:39
@sonney2kIn your case I suspect your data was not in a 0-1 ball / not nicely normalized...14:39
-!- in3xes [~in3xes@180.149.49.227] has quit [Ping timeout: 240 seconds]14:39
-!- heiko1 [~heiko@main.uni-duisburg.de] has quit [Ping timeout: 258 seconds]14:39
@sonney2kI mean try a polynomial kernel on unnormalized data14:39
-!- in3xes_ [~in3xes@180.149.49.227] has quit [Ping timeout: 258 seconds]14:40
@sonney2kkaboom 0.0001**12 = 014:40
@sonney2kor 1000**12 == inf - well almost :)14:40
bettyboo8)14:40
-!- in3xes [~in3xes@180.149.49.227] has joined #shogun14:52
f-xsonney2k: copied my online sgd on top of shogun's and made a new pull request (not for merging, only for comparing).. the backend stuff is always open for changes, but i guess the code within the online version should remain more or less similar to the version i've committed14:59
f-xAlthough, again - I'm in favour of separate online/batch versions15:00
@sonney2kf-x, I wonder if we should create a new directory for online methods or just keep them in classifier etc15:00
@sonney2kI am not15:00
@sonney2k:)15:00
@sonney2kI mean code duplication is a mess15:01
f-xsonney2k: but as you pointed out, the batch version can take advantage of stuff like lambda=1/num_vec15:01
f-xwe'd be losing all that15:01
@sonney2kf-x, not really... features defines get_num_vectors()15:02
@sonney2kif it is != -1 you can use it15:02
f-xsonney2k: having those checks every time - i guess the code would look messy15:03
@sonney2kand surely we only do this for online methods like sgd / liblinear15:03
f-xbut as always, there might be a way to do it cleanly15:03
f-xsonney2k: and i expect that the batch techniques are already faster when we give input through say a SimpleFeatures feature matrix15:04
f-xthan the whole conversion to streaming features15:04
@sonney2kf-x, I don't think so15:04
@sonney2knot at all ...15:04
@sonney2kI mean you just pass pointers / everything is implemented in *.h files - the compiler will do the rest15:05
f-xi hope so - anyway i think there's a good enough scope for optimization for that which i haven't exploited yet.. that should speed up things when done15:08
@sonney2kf-x, your patch looks good to me btw.15:08
@sonney2kI would suggest to first have an OnlineMachine/StreamingMachine etc15:09
@sonney2kand then derive the things from there15:09
@sonney2kbut I guess you did already15:09
f-xsonney2k: i did Machine->OnlineLinearMachine directly15:09
@sonney2kfor now I am also fine with having OnlineSGD15:10
@sonney2kand when that works to try it out on some real examples and then do real benchmarks comparing it to the current SGD15:10
f-xsonney2k: right. this test version i have right now works, but i need to benchmark and make changes in the parser and stuff depending on the results15:12
-!- heiko1 [~heiko@main.uni-duisburg.de] has joined #shogun15:12
f-xso for the time being I will throw in my OnlineLinearMachine and OnlineSVMSGD separately and make a pull request soon15:13
@sonney2kf-x, full ack15:13
f-xsonney2k: for a non-native, you know plenty of english colloquial stuff :)15:14
f-xooh but full ack has a german origin, says google15:16
blackburnvolle zustimmung :D15:17
@sonney2kf-x, hmmh question now is - is this good or bad15:18
f-xsonney2k: separate classes?15:19
@sonney2kf-x, get thsi data set here http://largescale.ml.tu-berlin.de/submission/evaluation/1/5/15:19
@sonney2kand try to do the sgd experiment15:19
@sonney2kif you get around 0.14 aoPRC we are fine15:19
@sonney2kf-x, slang15:20
@sonney2kf-x, btw instructions are here http://largescale.ml.tu-berlin.de/instructions/15:23
-!- f-x` [~user@117.192.200.70] has joined #shogun15:23
f-x`sonney2k: okay - got the dataset link15:24
@sonney2kf-x`, and data here ftp://largescale.ml.tu-berlin.de/largescale15:24
@sonney2kalpha is the smalles data set ...15:24
@sonney2k500,000 examples15:25
@sonney2kso you could train on 400k examples15:25
@sonney2kand measure performance on the remaining 100k15:25
-!- f-x [~user@117.192.192.180] has quit [Ping timeout: 260 seconds]15:25
f-x`sonney2k: do you have the results for the batch version?15:26
@sonney2kf-x__, f-x` - look on the website or what I wrote above: 0.14 aoPRC should be OK15:26
heiko1sonney2k, could you help me with this:15:26
heiko1i got a c++ method get_combinations(DynArray<ParameterCombination*> c)15:26
heiko1i got a swig type15:27
heiko1%template(DynamicParameterCombinationPointerArray) DynArray<ParameterCombination*>;15:27
f-x`sonney2k: okay, will do15:27
heiko1and i want to do this in python15:27
heiko1combinations=DynamicParameterCombinationPointerArray()15:27
heiko1root.get_combinations(combinations)15:27
heiko1but i get a type error15:27
@sonney2kheiko1, you should shorten the name - say ParameterCombinations15:27
heiko1ok will do..15:27
heiko1but still:15:27
heiko1TypeError: in method 'ModelSelectionParameters_get_combinations', argument 2 of type 'DynArray< shogun::ParameterCombination * > &'15:27
@sonney2kbut this works: combinations=DynamicParameterCombinationPointerArray() ?15:28
heiko1yes15:28
@sonney2kyeah15:28
@sonney2kthere is a ptr in this15:28
heiko1?15:29
@sonney2klet me check15:29
heiko1defi nition is :15:29
heiko1void CModelSelectionParameters::get_combinations(15:30
heiko1DynArray<ParameterCombination*>& result)15:30
@sonney2kheiko1, yeah that won't work15:30
@sonney2kyou should do  DynArray<ParameterCombination*>* get_whatever()15:30
@sonney2kthere is not typemap for the & stuff15:31
heiko1why is the reference stuff not possible?15:31
@sonney2k^15:31
@sonney2kyou need to return things...15:31
heiko1is it possible to return the original DynArray which was given in the parameter?15:32
@sonney2kheiko1, I don't understand15:36
@sonney2kyou have  DynArray<ParameterCombination*>* get_whatever( DynArray<ParameterCombination*>* p)15:36
@sonney2kand want to return p ?15:36
heiko1yes, is that possible?15:36
@sonney2kyes why not15:37
heiko1ok15:37
heiko1thanks15:37
@sonney2kbut I see one problem this array won't do SG_REF/UNREF15:37
heiko1mmh ok15:38
heiko1ParameterCombination is not an SGObject15:38
@sonney2kwhy not?15:39
@sonney2kI mean you can do it w/o for testing now but you will run into memory related trouble15:39
@sonney2kmemory leak / crash15:40
heiko1i did this because it is not serializable15:47
heiko1but ok you are right, I can add this anyways15:47
@sonney2kheiko1, well you don't have to register any parameters for serializaton15:55
heiko1I will change this later then.15:57
@sonney2kso adding a C prefix won't add marginal overhead (reference count and say 70 bytes)15:57
heiko1First want to get it working :)15:57
heiko1ok alright then15:57
heiko1mmh15:57
heiko1Then i might also use DynamicArray instead of DynArray15:57
@sonney2kyes15:57
heiko1*sigh*15:57
@sonney2kbut that is compatible or?15:57
heiko1then I have to rethink of all the memory stuff15:57
@sonney2kwell except for SG_UNREF stuff15:57
heiko1yes,15:57
heiko1ok will do this at some point15:58
heiko1but for now I want to get this python example working15:58
@sonney2kthat is admittedly painful :(15:58
@sonney2kyou need to review the whole code then15:58
@sonney2kheiko1, if you try it now - you will see random crashes I suspect15:58
heiko1You know I used this get_combinations(DynArray...) stuff because then I could use stack variables and did not have to worry about all this memory15:58
@sonney2kheiko1, well it is not a good idea to use stack variables (at least not too many of them) ... we had at some point weird crashes because we were running out of stack16:00
heiko1oh really?16:00
heiko1ok then its better anyways :)16:00
@sonney2kbut I agree that it is easyer16:00
@sonney2kheiko1, well  we had arrays on stack - that is sth one just shouldn't do16:01
heiko1ok, did not know this16:01
@sonney2kulimit -s16:01
@sonney2k819216:01
@sonney2kthat is 8M stack on my machine16:01
@sonney2kand we used things like double[1000]16:02
heiko1ok same here16:02
heiko1ok, I just learned something new :)16:02
@sonney2kor what is even worse we used double x[num]16:03
@sonney2kwith num being a parameter16:03
@sonney2kthat is something I would consider a bug16:03
@sonney2kand it is not compiling even under non-gcc compilers16:03
blackburntime to rewrite shogun16:04
blackburntime to bomb saddam16:04
heiko1ok, I will then now change all this stuff16:04
heiko1also will use DynamicArray16:04
blackburnI've got a permanent pain in ass with arpack16:05
heiko1pain in the ass everywhere today ;)16:05
blackburnthe spirit of pain in the ass16:05
@sonney2kI think only f-x__ / f-x`  is feeling fine today :)16:05
heiko1uhuh thunderstorm coming in here .... damn I wanted to go to a barbecue later :(16:06
blackburnwe have to invent some pain in ass for him too16:06
@sonney2kblackburn, he is just through this - give him a rest :)16:06
f-x`sonney2k, blackburn : not so much! i have to test on a huge dataset16:06
@sonney2kheiko1, great weather today finally in Berlin16:07
blackburnf-x' you have segfault16:07
blackburn*joke*16:07
blackburn:D16:07
heiko1same here until two hours ago ....16:07
f-x`blackburn: i;m sure i will :)16:07
* sonney2k takes out his vodoo computer16:07
* sonney2k takes a needle16:07
* sonney2k inserts needle into WHAT'S THAT SMELL16:07
blackburnsonney2k: is that you called synergy effects?16:07
@sonney2kand I am serious this time16:07
heiko1uhoh16:07
blackburnsynergy pain in the ass16:08
@sonney2kI got this as a present16:08
@sonney2kfor heiko1 lightning storm is more appropriate though16:08
blackburnwe've got x10 synergy pain in the ass16:08
heiko1lol ;)16:08
bettyboosmart16:08
@sonney2kbettyboo, nope not smart16:10
bettyboosonney2k: nope...irritated :|16:10
@sonney2kexactly16:10
* blackburn is praying on DGETRI16:13
blackburnDGETRI cult16:14
blackburnfail :D16:20
bettyboo:^) blackburn16:20
blackburngtg16:26
-!- blackburn [~blackburn@188.122.238.99] has quit [Quit: Leaving.]16:26
-!- f-x` [~user@117.192.200.70] has quit [Remote host closed the connection]16:32
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has joined #shogun16:41
@sonney2ksploving1, seen the patch / fix/ workaround?16:45
@sonney2kat least your code compiles now for regression16:45
sploving1oh.  thx.16:46
sploving1I have not git fetch now. I am test other example: test_check_commonwordkernel_memleak_modular16:47
sploving1sonne2k, have you seen my pushed example.16:48
CIA-32shogun: Baozeng Ding master * r7850285 / examples/undocumented/java_modular/tests_check_commwordkernel_memleak_modular.java : add tests_check_commonwordkernel_memleak_modular example - http://bit.ly/oDwxob16:48
CIA-32shogun: Soeren Sonnenburg master * rdb4dbc6 / examples/undocumented/java_modular/tests_check_commwordkernel_memleak_modular.java :16:48
CIA-32shogun: Merge pull request #175 from sploving/master16:48
CIA-32shogun: add memleak example - http://bit.ly/qcy2Th16:48
@sonney2kyes16:48
sploving1but there maybe some mem leak16:48
sploving1javac could work16:49
sploving1but java get error16:49
@sonney2k??16:49
@sonney2ksorry I don't understand what you are saying16:50
sploving1sonney2k, since you called it memleak_modular, you could know where it may leak memory16:50
@sonney2ksploving1, I used this to check if it leaks memory16:50
@sonney2kand fixed the leak back then16:50
@sonney2kso now it shouldn't16:50
sploving1I mean javac  tests_.. .java could compile well. but when I run java ... commond16:51
sploving1 A fatal error has been detected by the Java Runtime Environment:16:51
sploving1#16:51
sploving1#  SIGSEGV (0xb) at pc=0xb6e9755a, pid=17037, tid=306481444816:51
@sonney2ksploving1, hmmhh - please run it through valgrind16:51
@sonney2kand see where it dies16:52
sploving1valgrind?16:52
sploving1a tool?16:52
@sonney2ksploving1, yes16:52
@sonney2kcall it like16:53
@sonney2kvalgrind PROGRAM16:53
@sonney2ke.g. /usr/bin/ls16:53
@sonney2kit will trace all memory allocs and detect leaks etc16:53
sploving1how to install the tool16:53
@sonney2kuninited memory leaks16:53
sploving1how to run it?16:53
@sonney2khttp://www.google.com/search?q=valgrind16:53
@sonney2khttp://en.wikipedia.org/wiki/Valgrind16:54
sploving1I am fraind I have no time to learn it now. there are still 60 exampels remaining. I need add ten everyday in avange16:57
@sonney2ksploving1, ok then just go ahead16:57
-!- in3xes [~in3xes@180.149.49.227] has quit [Quit: Ooops..!!]16:57
sploving1I will debug it when all are in good shape16:58
@sonney2ksploving1, OK16:59
@sonney2ksploving1, it crashes in this line traindat.set_features(POSNEG);17:31
@sonney2kSo I suspect the typemaps for strings are not yet working?17:31
sploving1sonne2y, oh, I will take a look at it17:31
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has left #shogun []17:37
CIA-32shogun: Baozeng Ding master * re04e91c / (6 files): add some preprocessor examples - http://bit.ly/qr6FNJ17:52
CIA-32shogun: Soeren Sonnenburg master * r172024e / (6 files):17:52
CIA-32shogun: Merge pull request #176 from sploving/master17:52
CIA-32shogun: add some preprocessor examples - http://bit.ly/qPM8xh17:52
-!- in3xes1 is now known as in3xes17:55
-!- [1]warpy [~warpy@bzq-79-179-0-217.red.bezeqint.net] has joined #shogun18:33
* sonney2k is applying hefty force to some pine apple19:58
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun20:39
-!- [1]warpy [~warpy@bzq-79-179-0-217.red.bezeqint.net] has quit [Quit: HydraIRC -> http://www.hydrairc.com <- The alternative IRC client]20:51
-!- in3xes_ [~in3xes@180.149.49.227] has joined #shogun21:26
-!- in3xes [~in3xes@180.149.49.227] has quit [Read error: Operation timed out]21:28
blackburnHOOOOOORRRRRRRRRRRRRRAAAAAAAAAAAAAYY21:31
@sonney2kblackburn, ass problem solved :D21:38
blackburnsonney2k: half-ass21:38
blackburnit is slow and wrong anyway :D21:38
blackburnbut now I know21:38
blackburnalways call dgetrf before dgetri21:39
blackburn1500 iterations hehe21:41
blackburnwho stole convergence21:41
-!- f-x [~user@117.192.204.35] has joined #shogun21:55
@sonney2kf-x, how is sgd doing?22:10
f-xsonney2k: haven't tested it yet - finished downloading the dataset.. uncompressing it right now..22:12
f-xsome additions have to be made22:12
f-xto take labels and features from separate files22:12
f-xor maybe I could join the labels and features files for now, but is that allowed?22:13
@sonney2kf-x, or you concatenate the files via the cmdline command 'paste'22:13
f-xsonney2k: yes, exactly.. i'll follow that till the new interface is ready22:13
blackburn10Gb database? :D22:14
f-xblackburn: not 10, but 2.3 GB training data22:15
blackburnoh sh22:15
blackburnreally?22:15
blackburn:D22:15
bettyboo:)22:15
blackburnsonney2k: another one celebration - java 7 - I simply can't live without vodka22:15
blackburnhttp://damnyouautocorrect.com/images/fuhrer1.jpg22:17
@sonney2kblackburn, tiny data sets for online methods...22:20
blackburnsonney2k: you know my knowledge about online learning tends to zero :)22:20
@sonney2kI did batch learning with datasets of 20G in size...22:20
blackburnwhat was it??22:20
@sonney2kjust DNA22:21
blackburnehh22:21
blackburnsonney2k: I thought human dna is ~850 mb22:21
@sonney2k3 G yes22:21
blackburnwas it an alien? :D22:22
@sonney2kbut when you extract windows around certain positions you can explode that22:22
blackburnahh22:22
@sonney2k(unfortunately)22:22
@sonney2kbut yes of course one could have loaded the whole dna and then just specify the centers of the window22:22
@sonney2k...which is now supported in shogun (obtain_by_positionlist :)22:22
blackburnsonney2k: is it true say tomato have more nucleotides in dna than us?22:23
@sonney2kmany organisms have more22:23
blackburnwhy? ain't we the most cool ones? :D22:23
blackburnwe have complex splicing and etc, right?22:23
@sonney2kbut amoeba is the winner :)22:23
bettyboo^_^22:24
blackburnwhat's up with amoeba?22:24
@sonney2k670 billion base pairs!22:24
@sonney2kwe have just 3 billion22:24
blackburnwhy it have so many?22:24
@sonney2kbecause it only has one cell?22:24
@sonney2kblackburn, I don't know the masterplan behind this22:25
@sonney2kmaybe spaghetti coding22:25
blackburnsonney2k: why are you asking, I was drinking vodka instead of biology :D22:25
blackburnhow many genes it have?22:25
@sonney2kblackburn, needs some blackburn kalaschnikov refactoring22:25
@sonney2kno idea22:26
blackburnкалашников refactoring? :)22:26
blackburnI mean how it can have much lesser genes but much more np?22:26
blackburnthe most code is junk?22:26
@sonney2kblackburn, well I don't know... I would say nicely written code uses lots of subroutines .... if you don't know how to do that you end up with many more LoC22:29
blackburnsonney2k: so the code was reducing during this evolving?22:31
@sonney2kI would think so... I mean it is a lot easier to write spaghetti code22:31
@sonney2kso I would expect evolution to compact things22:32
blackburnit seems like entropy is lesser for us, fantastic22:32
blackburnsonney2k: is amoeba=its cell more complex than our ones?22:35
blackburnwe have fantastic generic code :D22:35
blackburnwith templates I guess :D22:35
@sonney2kblackburn, well it is a shapeshifter - I mean it can change its shape22:36
@sonney2kthat is impressive enoguh22:36
blackburnsonney2k: our cells lose this ability?22:39
@sonney2kblackburn, I am not a biologist ...22:40
blackburnsonney2k: well you know something about it :)22:40
@sonney2kstill not a lot22:41
@sonney2kf-x, but don't hesitate to send a OnlineSGD patch before that22:57
f-xsonney2k: thanks - i was wondering about that22:58
f-xshall send it in a few hours after some initial testing22:59
@sonney2kf-x, yeah just send it if you think you are ready22:59
f-xsonney2k: sure23:00
blackburnsonney2k: gunnar pointed some bug with classic mds, working on it23:14
@sonney2kblackburn, I see his email23:14
@sonney2kbut it is compiling here23:14
blackburnsonney2k: without arpack?23:15
@sonney2kahh didn't try that23:15
@sonney2kbut the other thing is not an issue imho23:15
@sonney2kthe include path is correct23:15
@sonney2kblackburn, and I don't think sploving has arpack installed ...23:16
blackburnsonney2k: hmm yes23:16
@sonney2kactually I don't think anyone except you and me23:16
blackburncan my test give 'false positive'? :)23:17
@sonney2kblackburn, hardly...23:18
blackburnasked gunnar if he have arpack or not23:19
blackburnand was it detected or not23:19
@sonney2kgreat23:20
@sonney2kme too23:20
blackburn:D23:22
@sonney2kcould be some OSX thing though23:26
@sonney2kmaybe we should buy 2 mac-minis one running osx and one windows as build servers23:27
blackburnsonney2k: he said he used ubuntu23:27
@sonney2ktrue23:27
@sonney2kubuntu is crap anyways :D23:27
blackburnwhy?23:27
blackburnI hadn't experienced any differences in debian :)23:28
@sonney2keven though I am half-way kidding -  it is really not particularly stable23:28
blackburnreturned to 10.04 - at least gnome looks better by default23:28
@sonney2kit is a fork of debian unstable...23:28
blackburn10.04 is pretty stable now ;)23:28
@sonney2klike debian :)23:29
blackburnyes but there are some more developed ehh23:29
blackburnecosphere? :D23:29
blackburnI mean software (gui things and etc) more tightly connected here in ubuntu23:30
@sonney2ksure ;)23:31
@sonney2kblackburn, look you have no chance - you are talking to a debian developer23:31
blackburnsonney2k: yeah I understand :)23:32
blackburnwell I don't like the way of 'modern' ubuntu23:32
blackburnunity, software centers, blabla23:32
blackburnso I think the next my dist is debian23:32
@sonney2ksome people here at work use it - some turned away from ubuntu...23:33
@sonney2kand it is the first time that I stick to debian stable23:33
@sonney2kshogun is unstable enough for me and currently all my attention23:34
blackburnsonney2k: will be any gnome 3 debian some day? :)23:34
@sonney2kI guess so...23:34
@sonney2kI hope by then it is feature complete and usable even by people like us23:34
@sonney2kbut hey - the gnome2 switch was also a big bummer23:35
bettybooroger23:35
@sonney2kbettyboo, that23:35
bettyboosonney2k: I guess there are scripts doing that though23:35
blackburnahaha23:36
blackburnsonney2k: btw my laptop brightness doesn't work neither in debian or ubuntu23:36
@sonney2kblackburn, samsung?23:37
blackburnyes23:37
@sonney2kthis got fixed in kernel 2.6.3923:37
blackburnreally?23:37
blackburnsonney2k: do you have samsung? :)23:38
@sonney2ka netbook23:38
@sonney2kbut working on a macbook pro running debian usually23:39
blackburnyou have installed debian on macbook?!23:39
@sonney2kthe superior OS - yes of course23:41
blackburnwhy not osx??23:42
@sonney2kosx is too difficult to use23:42
@sonney2kI mean not when just clicking around - but when coding23:42
blackburnhmm I se23:42
blackburne23:42
@sonney2kjust try once to get all the dependencies installed23:42
@sonney2ktakes years23:43
@sonney2kand then I cannot move windows with alt+mouse etc23:43
blackburnsonney2k: no news from gunnar.. :)23:54
@sonney2kheiko1, what is going on? you are still online?23:54
@sonney2kblackburn, I guess we muted him23:54
blackburni'm wondering how can heiko be online if he uses internet at university and he have no internet access at home23:56
@sonney2kblackburn, exactly...23:56
--- Log closed Thu Jul 07 00:00:52 2011

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