IRC logs of #shogun for Friday, 2011-07-08

--- Log opened Fri Jul 08 00:00:54 2011
-!- f-x` [~user@117.192.213.129] has quit [Remote host closed the connection]02:41
-!- in3xes_ [~in3xes@210.212.58.111] has joined #shogun07:21
-!- in3xes [~in3xes@210.212.58.229] has quit [Ping timeout: 252 seconds]07:24
-!- sploving1 [~sploving@124.16.139.194] has joined #shogun08:30
@sonney2ksploving1, all good, i.e. making progress?08:47
sploving1sonney2k, I am looking for generator.py08:48
sploving1looking generator.py08:48
@sonney2kfor or at?08:48
sploving1at. learning it08:49
sploving1os.path.insert?08:49
sploving1I did not see any docs about this08:49
sploving1sys.path.insert(0, '.')08:49
sploving1what does that mean?08:49
@sonney2ksploving1, I mean you know what it is supposed to do. I don't think you can learn from that python example - I would suggest you just start fresh and write this in java08:50
@sonney2kpython doesn't really help you here...08:50
sploving1but I need understand what function that I should write08:51
@sonney2ksploving1, but I told you and I know mikio too08:51
@sonney2kagain - just call the functions in each example08:52
@sonney2ktake what they return08:52
@sonney2kand serialize this to disk08:52
@sonney2kthat's it08:52
@sonney2kstaring at python code won't help you with this08:53
sploving1why? understanding python is a quich way.08:53
sploving1I do not know how to serialize this to disk08:53
@sonney2khttp://www.google.com/search?q=java+serialize08:54
@sonney2kand mikio is the java expert ask him08:55
sploving1oh08:56
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun08:57
@sonney2ksploving1, better finish translating the examples first09:03
@sonney2kI mean mostly only the more simple ones remain09:03
@sonney2klike features_*09:03
@sonney2kmorning blackburn!09:03
@sonney2khow's your bear?09:04
sploving1ofcourse I transfer all of them.09:04
sploving1they are easy. I like to do things changllge09:04
sploving1first09:04
blackburnsonney2k: morgen! my bear is walking here somewhere09:04
@sonney2ksploving1, yeah but it makes sense to finish one thing and then start the next09:04
@sonney2ksploving1, in particular when a deadline is coming up and you don't have time to do more experimental stuff09:05
sploving1before the deadline, I will finishe them all. testsuite, docs and examples09:06
@sonney2ksploving1, OK then just go ahead... and don't forget to ask if you get stuck (to not loose time...)09:07
sploving1oh09:07
sploving1sonney2k, I found there are *0.txt, *1.txt in testsuite tests. why 0 and 1?09:13
sploving1two test with the same mane09:13
sploving1I know. there are two para.09:13
sploving1parameters09:13
@sonney2ksploving1, there are a number of parameter settings defined in the examples09:13
@sonney2kfunctions are called for each setting09:13
@sonney2kso we just index them with 0,1,2...09:14
sploving1oh. I know09:14
sploving1sonne2y, in java, also need set 2 parameter settings?09:34
@sonney2ksploving1, as many as are specified in the example09:39
sploving1sonney2k, the I need change every example likt pytho using string[] parameter_list09:47
sploving1in the classifier_averaged_perceptron_modular.py example, why parameter_list = [[traindat,testdat,label_traindat,1.,1000,1],[traindat,testdat,label_traindat,1.,1000,1]]09:48
sploving1the two para is the same?09:48
@sonney2ksploving1, you need to change every example anyways- turn them into functions09:48
@sonney2ksploving1, yes that is stupid09:48
@sonney2ka mistake I would say09:48
@sonney2kplease lower the first 1000 to e.g. 1009:49
sploving1oh.09:49
-!- blackburn [~blackburn@188.122.238.99] has quit [Quit: Leaving.]09:52
-!- heiko [~heiko@main.uni-duisburg.de] has joined #shogun09:55
@sonney2kheiko!09:56
@sonney2kgood morning09:56
heikohi sonney2k09:56
bettyboomoin09:57
heikohad a good sleep? :)09:57
@sonney2kI might have found the correct way of saying friend to templates09:57
bettyboo:)09:57
@sonney2kheiko, didn't you know - I don't sleep09:57
heikoyes? ok would be nice, I had a talk about this and some more thoughts, and I came to the conclusion that this does not work the way I want it09:57
heikooh well :)09:57
heikohehe,09:57
@sonney2kheiko, it is committed already09:58
heiko12 hours of hacking followed by 12 hours of baby sitting :)09:58
heikook I will have a look09:58
@sonney2kif it works it was just a syntax thing09:58
sploving1sonney2k, you do not sleep????09:58
@sonney2ksploving1, get kids and you know what I mean09:59
sploving1I thought you are in regular work now09:59
sploving1great father!09:59
@sonney2kyes once kids are there - they stay around :D10:00
bettyboo:) sonney2k10:00
heikosonney2k, what did you change?10:00
@sonney2kheiko https://github.com/shogun-toolbox/shogun/commit/37fcfdc4c5a3dcea44dbbc6d35c578f3866a2e9210:01
heikoso it is just the other template argument?10:03
heikoweird10:03
@sonney2kheiko, you can have one-to-one, one-to-many and many-to-many friend relation ships with templates10:04
* sonney2k who would have thought that10:05
heikook alright, this is really new to me :)10:06
heikothought you had to give the concrete class you want to be friend with10:06
heiko.10:07
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun10:08
sploving1sonney2k, http://pastebin.com/BEtSdTTf10:09
sploving1I changed one example, and need your help to check if it is the correct what we expected10:09
heikocould someone fix this:10:13
heikoline 179 of Mathematics.cpp10:13
heikoreplace10:13
heikoSGMatrix<float64_t> table(NULL,2,3);10:13
heikoby10:13
heikoSGMatrix<float64_t> table((float64_t*)NULL,2,3);10:13
heikoI have other stuff in my master branch currently :(10:13
heikoambigious call compile error10:13
CIA-32shogun: Sergey Lisitsyn master * r57f2cfa / src/libshogun/lib/Mathematics.cpp : Fixed ambiguous ambiguity - http://bit.ly/nBFIwx10:23
blackburnheiko: here you go ^)10:23
heikothanks :)10:24
bettybooha ha!?!10:24
sploving1hello blackburn, in python example, we could  return perceptron, out_labels. then in java, how do we return two object?10:25
blackburnreturn collection containing two objects if it is necessary10:25
sploving1which collection can store different type of objects?10:29
sploving1ArrayList is good10:30
blackburnyes, it is ok10:30
blackburnall collections are generic10:31
sploving1blackburn, what about parameters? for instance, in python, parameter_list = [[traindat,testdat,label_traindat,1.,1000,1],[traindat,testdat,label_traindat,1.,1000,1]]10:33
sploving1classifier_averaged_perceptron_modular(*parameter_list[0])10:33
sploving1if I want to implement similar parameter_list, then use ArrayList also?10:33
heikoblackburn, sonney2k, dynamic_casts allowed in shogun?10:33
blackburnsploving1: yes, or collection of array lists :)10:33
blackburnheiko: where do you need it?? :)10:34
heikoin my new DynamicObjectArray10:35
heikoto ensure that generic type T is of type CSGObject10:35
blackburnI don't know.. anyway you can change it later if it is bad10:36
heikoyes10:36
heikowill just use10:36
sploving1blackburn, ArrayList parameterOne = new ArrayList(); parameterOne.add(new Double(1.0)); parameterOne.add(new Integer(1000));10:53
sploving1then how to get 1.0 and 1000 from the list?10:54
blackburn.get(0), get(1), ...10:54
sploving1need type converstion. int a = parapameterOne.get(0), will be OK? blackburn10:55
blackburnint a = ((Integer)parameterOne.get(1)).intValue();10:55
blackburnsomething like that10:55
sploving1so complex10:55
blackburnjust conversion from Integer to int10:56
blackburnand typecast - get() returns Object - it is generic10:57
sploving1oh10:57
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has joined #shogun11:07
-!- sploving1 [~sploving@124.16.139.194] has left #shogun []11:28
-!- heiko [~heiko@main.uni-duisburg.de] has quit [Ping timeout: 258 seconds]12:01
petierahallo! could you help me get started with this toolbox? If I already have similarity-matrices and would like to use a CombinedKernel, is it enough to just make CustomKernels using the matrices and then append them to the CombinedKernel? Or do I have to have Features as well?12:20
blackburnsonney2k: ^12:20
-!- in3xes1 [~in3xes@180.149.49.227] has joined #shogun12:30
-!- in3xes_ [~in3xes@210.212.58.111] has quit [Ping timeout: 252 seconds]12:32
-!- f-x [~user@117.192.202.110] has joined #shogun12:35
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has joined #shogun12:40
-!- VojtechFranc [~quassel@gw-101.scnet.cz] has quit [Remote host closed the connection]12:46
@sonney2kblackburn, only the tough questions for me?13:05
@sonney2kpetiera, I am not sure - in the worst case create some DummyFeatures within a CombinedFeatures object13:06
@sonney2kpetiera, if get_kernel_matrix works w/o then yes you are fine :)13:06
blackburnsonney2k: no, the questions I can't answer :)13:07
@sonney2ksploving1, is it possible to use non-ascii too? I mean not just strings but tuples utilizing the actual types?13:07
sploving1I am tring ArrayList13:08
sploving1sonney2k, which can contain various types13:08
@sonney2kotherwise you have to the conversion in the example (I am not a big fan of this...)13:09
@sonney2ksploving1, sounds good13:09
@sonney2khmmhh heiko is gone already?13:10
@sonney2k!13:10
blackburnsonney2k: which conversion?13:10
@sonney2k"1" -> 113:10
petierasonney2k: ok, thanks, I'll try that13:11
blackburnsonney2k: you make me scared, string 'typization' is scaring13:11
@sonney2kblackburn, yeah but that is why I don't like sploving1 suggestions that much ( http://pastebin.com/BEtSdTTf )13:14
@sonney2kpetiera, and let us know what the outcome is please!13:15
blackburnahh13:15
@sonney2kpetiera, I remember doing some hacks that features are not required but I cannot remember and we don't have an example for combined custom kernels yet...13:15
sploving1sonney2k, http://pastebin.com/43zkc1Ts13:18
sploving1take a look at the new version13:18
@sonney2kblackburn, ^ can one write things more compact?13:19
@sonney2kthe parameter_list is quite longish now13:19
blackburnsonney2k: I don't think so13:19
blackburnsonney2k: Collections.asList(new Double(10), new Integer(1000)); -- better?13:20
petierasonney2k: yeah, I tried to look for examples but didn't find anything similiar there. I tried it now with two random square matrices and I do get a matrix out of the CombinedKernel's get_kernel_matrix, however the weights are both 1.013:21
@sonney2kpetiera, both?13:22
petieraof course the input matrices are just random, but I'd still expect some deviations13:22
@sonney2kwhat do you mean13:22
petierayes, both13:22
@sonney2kpetiera, what does both mean13:22
@sonney2kpetiera, put your code to pastebin or so13:22
petierasonney2k: aa, sorry :) it means that when I give two CustomKernels to the CombinedKernel and train it with SVM, the subkernel weights are both 1.013:23
@sonney2kpetiera, sure13:23
@sonney2kthe svm won't change them13:23
sploving1blackburn, you mean : parameterOne = Collections.asList(new Double(10), new Integer(1000));13:24
petierahttp://pastebin.com/GwAgXv9j13:24
blackburnwell may be just simply13:24
blackburnparameter_list.add(Collections.asList(...));13:24
blackburnit could be shorter and should work13:25
blackburnwill test it in a min13:25
@sonney2kthat is slightly better13:25
blackburnwe can't do non-homogenous collection of simple types13:25
blackburnso that new Double is required unfortunately13:26
petierasonney2k: so does it mean that the CombinedKernel isn't optimized?13:26
blackburnsploving1: you haven't initialized your parameter list13:27
blackburnuse not public ArrayList parameter_list;13:27
sploving1fixed parameter_list = new ArrayList();13:27
blackburnbut public Collection parameter_list = new ArrayList(2);13:27
@sonney2kpetiera, yes of course not13:28
@sonney2kwhy should it be changed?13:28
@sonney2kpetiera, it is just an SVM with two kernels13:28
@sonney2kperhaps you want to do MKL?13:28
blackburnsploving1: ah yes you shouldn't use Collection, it has no get13:30
petierasonney2k: Yes, that would be my intention13:30
sploving1blackburn, then use what?13:31
blackburnsploving1:13:31
blackburnArrayList pars = new ArrayList(2);13:31
blackburnpars.add(Arrays.asList(new Double(1.0), new Integer(1000)));13:31
blackburnsth like that13:31
petierasonney2k: ahh, so probably MKLClassifier? :)13:31
bettyboohoho13:31
@sonney2kyep13:31
petierahehe. thanks for help! As I said, I'm just getting to know this toolbox :)13:33
sploving1blackburn, then how to cast type pars.get(0)13:34
blackburnsploving1: just List13:34
sploving1then how to get List 's first elment?13:35
sploving1blackburn, List x= .., x[0]??13:35
blackburn((List)parameters.get(0)).get(0)13:36
sploving1sonney2k, blackburn, I found org.shogun.* also hava List13:37
sploving1class org.shogun.List13:37
sploving1double learn_rate = ((Double)para.get(0)).doubleValue()13:37
sploving1error13:37
@sonney2ksploving1, but it is typed13:37
@sonney2kbetter not use shogun lists13:37
@sonney2kfor this purpose13:37
sploving1sonney2k, I do not mean to use shogun list, but its used by the system13:39
blackburnimport java.util.List13:39
sploving1worked! http://pastebin.com/cMTZhQ7K13:41
sploving1sonney2k, do you think this example could be used by generator.py?13:42
sploving1generator.java(maybe)13:42
sploving1the example has no return type in main function!!!!13:42
@sonney2ksploving1, do you need to do new ArrayList(2); and then add?13:43
blackburnsonney2k: he could init it just where it is declared13:43
@sonney2ksploving1, it looks good to me otherwise - I would group the shogun imports and java imports to beautify things a bit13:44
@sonney2kblackburn, I don't understand?13:44
blackburnsonney2k: line 1213:44
sploving1 public ArrayList parameter_list = new ArrayList(2);13:44
sploving1you mean this?13:44
blackburnyes13:44
@sonney2kahh ok yes13:44
sploving1sounds good13:44
sploving1how to group them sonney2k.13:45
@sonney2ksploving1, I mean all the imports java* behind the shogun ones13:46
sploving1I know. java.util first13:46
sploving1oh13:46
sploving1The last thing I worried is that this example could be called by generator.java and tester.java13:47
sploving1if can, I will then change all the other examples13:47
sploving1so I would first write the genetrator.java and  tester.java to test this example13:48
@sonney2kit is still nicely readable - which is good :)13:54
-!- heiko [~heiko@main.uni-duisburg.de] has joined #shogun13:59
@sonney2kheiko, did the template thing work?14:01
heikosonney2k, hi, yes compiles14:01
@sonney2kgreat14:01
heikoI step wise replace stuff14:01
heikobut I got a nasty memory bug currently14:01
@sonney2kheiko, I wasn't sure what you meant me to do with your last pull request14:01
heikoIt was just to show the code, just forget it14:02
@sonney2kok closing then14:02
heikoWhen the DynArray->DynamicObjectArray replacement is done for all places, python will hopefully run14:02
petierasonney2k: now when I call train() on a MKLClassification-object with a CombinedKernel, I get "Interleaved MKL optimization is currently only supported with SVMlight14:02
heikothink I already did?14:02
@sonney2kyes14:02
@sonney2kyou did :)14:02
@sonney2kpetiera, which says it all... so disable it14:03
@sonney2kor enable SVMlight14:03
petierasonney2k: I'm using python, so should I recompile the C++?14:03
petieraI mean if I want to enable SVMlight14:04
@sonney2kif you need it excessively yes ./configure --interfaces=libshogun,python_modular14:04
@sonney2kyes14:04
petieraok14:04
petierathanks again for helping, and have a nice weekend!14:14
-!- petiera [~ohyvarin@kosh.org.aalto.fi] has left #shogun []14:14
sploving1sonney2k, are you around?15:05
@sonney2kyes15:05
sploving1how to edit the doc?15:05
sploving1I would add doc first when waiting for the email15:05
@sonney2ksploving1, go to doc/pages directory15:06
sploving1I mean http://www.shogun-toolbox.org/doc/installation.html this page15:06
@sonney2kthen edit Installation.mainpage15:06
sploving1sonne2k, I thought online editing15:07
@sonney2k?15:07
@sonney2kno it is all doxygen15:07
@sonney2kjust run make doc in doc/ to get the updated pages15:08
@sonney2kblackburn, ahh I just realize that my nice automagic make release script won't work any longer15:08
@sonney2kthat all is still svn based15:09
blackburnsonney2k: which oe?15:09
blackburnone*15:09
blackburnmake release?15:09
blackburnwhat is it?15:09
@sonney2kthat will take some time to get this reliably working with git too15:09
@sonney2kblackburn, it did run tests15:09
@sonney2kmodify the version and tag the release15:09
@sonney2kthen upload everything gpg signed15:10
blackburnoh15:10
blackburnI see15:10
@sonney2kincluding docs and webpage changes15:10
blackburnsonney2k: I guess sploving1 will write another one JUnit  :D15:19
sploving1blackburn, JUnit? never heard15:20
@sonney2kblackburn, please not15:20
blackburnsploving1: framework for testing :)15:20
@sonney2kit is totally sufficient to have regression tests like this - if it works15:20
@sonney2kin the worst case we will serialize shogun objects and compare if they are different15:21
blackburnsonney2k: I mean that what he will write - is kind of 'truncated' JUnit :)15:21
@sonney2kblackburn, I hope it is very lightweigth, i.e. just ~100 lines java15:21
@sonney2knot a JUnit monster15:21
blackburnsonney2k: non-trivial thing :)15:22
bettyboo:*)15:22
@sonney2kblackburn, just looking at their github site - JUnit has 134 issues... more than we can ever have15:23
@sonney2k;-)15:23
blackburnsonney2k: sure, it is half-joke but it is something we do15:23
blackburnbtw we should have some libshogun tester15:24
sploving1sonney2k, pulled the Install.Main page15:24
-!- heiko [~heiko@main.uni-duisburg.de] has quit [Ping timeout: 258 seconds]15:25
sploving1sonney2k, other doc page that I need to update15:29
@sonney2kTutorial15:29
-!- blackburn [~blackburn@188.122.238.99] has quit [Quit: Leaving.]15:38
@sonney2kahh sploving the INSTALL file in /src/15:41
sploving1oh15:51
sploving1sonney2k, Turorial use classifier_libsvm_modular?15:54
@sonney2ksploving1, yes15:54
@sonney2kall languages use this for illustration15:54
sploving1oh15:54
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has quit [Read error: Connection reset by peer]16:07
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has joined #shogun16:25
sploving1my machine crash when open for more than 4 hours16:26
@sonney2ksploving1, great!16:26
@sonney2klooks like everyones computer is dying here once per GSoC16:26
* sonney2k just bought a new harddrive16:27
@sonney2kIIRC heiko had to reinstall his computer too16:27
sploving1oh. my notebook just used for one year16:28
sploving1it is still new16:28
-!- phrhbk [~asdfasdf@host-57-20.warwick.ac.uk] has joined #shogun16:32
@sonney2ksploving1, then you still have warrenty!16:45
sploving1sonney2k, ?? warrenty?16:46
@sonney2kwarranty!16:46
sploving1I forgot where I put it.16:48
sploving1sonney2k, For octave:16:49
sploving1\verbinclude classifier_libsvm_minimal_modular.m16:49
sploving1then how to add the example?16:49
sploving1java example16:49
sploving1I think it is in the example dir. so just edit it like octave16:50
sploving1sonney2k, pushed the doc17:12
@sonney2ksploving1, exactly17:22
sploving1sonney2k, have you seen the email that Miko sent me?17:30
@sonney2kno17:31
-!- in3xes1 is now known as in3xes17:42
-!- sploving1 [~sploving@2001:cc0:2020:2022:5eff:35ff:fe04:f091] has left #shogun []17:44
-!- Guest74997 [~f-x@213.155.190.134] has quit [Read error: Connection reset by peer]18:26
-!- f-x [~user@117.192.202.110] has quit [Remote host closed the connection]18:52
-!- f-x [~user@117.192.202.110] has joined #shogun19:44
-!- blackburn [~blackburn@188.122.238.99] has joined #shogun19:53
blackburnsonney2k: have you read mikio's answer to baozeng?19:54
-!- f-x [~user@117.192.202.110] has quit [Read error: Connection reset by peer]20:34
blackburnhttp://www.getacoder.com/projects/solve%20p%20vs%20np_132036.html20:37
in3xeshehe21:14
in3xesfunny21:15
@sonney2kblackburn, yes21:26
@sonney2kI am not entirely enlightened though21:26
blackburnsonney2k: very nice idea - to use reflection and load class21:27
blackburnsonney2k: btw tell baozeng about codestyle if I forgot - he does it non java way :)21:28
blackburncamelCase!21:29
blackburnit is much better - I guess running java ~100 times is worse than load 100 classes21:31
blackburnhmm21:35
-!- f-x [~user@117.192.202.110] has joined #shogun21:35
blackburnno, no difference21:35
blackburnjust tests21:35
-!- in3xes is now known as gayam21:44
-!- gayam is now known as in3xes21:44
CIA-32shogun: Baozeng Ding master * r1dac476 / doc/pages/Installation.mainpage : add java support in Installation.mainpage - http://bit.ly/oLA0R721:44
CIA-32shogun: Baozeng Ding master * r607aae4 / doc/pages/ModularTutorial.mainpage : add ModularTutorial mainpage for java - http://bit.ly/r80wrD21:44
CIA-32shogun: Baozeng Ding master * r9fbef9c / src/INSTALL : add java support in INSTALL file - http://bit.ly/pqGWhR21:44
CIA-32shogun: Soeren Sonnenburg master * r1119fc2 / (3 files in 2 dirs):21:44
CIA-32shogun: Merge pull request #183 from sploving/master21:44
CIA-32shogun: add ModularTutorial mainpage - http://bit.ly/qMMkRT21:44
@sonney2kblackburn, I actually don't care so much... in python we just import all the *.py files21:45
@sonney2kand then run the tests21:45
@sonney2kblackburn, what I don't know is if one can serialize objects in java without deriving from some base class21:46
@sonney2kI wouldn't really like making the examples even more difficult21:46
blackburnSerializable is interface IIRC21:47
@sonney2kblackburn, ok so it is not that bad one just writes implements Serializable right?21:48
blackburnsonney2k: base class Test implements Serializable, that's all21:48
blackburnwhy it could be bad? it is ok for me ;)21:48
@sonney2kblackburn, wait does mean the generator can do this or has this to be done in the examples?21:49
blackburnsonney2k: in examples we have to have some base class where IO operations will be implemented21:49
blackburnsonney2k: when in generator we could just readObject and writeObject21:50
blackburnwithout any care21:50
@sonney2kblackburn, yeah but that makes examples harder to read21:50
blackburnwhy?? examples will stay simple21:50
@sonney2kdidn't you say we need to write some io operations?21:51
blackburnsonney2k: only in base class21:51
blackburnor even without it21:51
@sonney2kso you would derive each example from that base class21:51
blackburnyes21:51
@sonney2kI would love to not have to do that though21:51
blackburnwhy?21:52
@sonney2kwould be great if examples could stand alone21:52
blackburnwhat do you mean saying alone?21:52
@sonney2kblackburn, no dependencies21:53
@sonney2kand if then only for loading data21:53
blackburnall examples could implement that run() and have main for case it is run with java -jar someExample21:53
blackburndependencies from?21:53
blackburnTest base class is much simpler for generator21:56
blackburnit just load it and doing all the things that lovers do21:56
blackburnwell really we can implement run everywhere21:58
blackburnalmost the same21:58
* blackburn is implementing heap for shogun22:04
f-xsonney2k: are you there?23:27
--- Log closed Sat Jul 09 00:00:57 2011

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