--- Log opened Sun Mar 18 00:00:19 2012 | ||
blackburn | what do you call generic? | 00:01 |
---|---|---|
PhilTillet | Well, in the user guide there's "The code provides support to include your own coding, decoding, and base classifiers" | 00:03 |
PhilTillet | Should also be the case for the C++ version I suppose :) | 00:03 |
blackburn | just some well-designed thing | 00:04 |
blackburn | it shouldn't be very templated or so | 00:04 |
PhilTillet | okay, that's what I wanted to know | 00:05 |
PhilTillet | I have done an overdose of templates :p | 00:05 |
blackburn | we have not much templates here | 00:06 |
blackburn | only Features stuff | 00:07 |
PhilTillet | Well, ECOC seems complicated but interesting :) | 00:09 |
PhilTillet | is there some Information Theory involved? | 00:09 |
blackburn | yes, somewhere deep inside | 00:10 |
blackburn | main challenge here is how to decompose these bits | 00:10 |
PhilTillet | Yes, constructing the matrix they call Mc | 00:11 |
blackburn | but with diff distances between codes it involves some inf. theory things | 00:11 |
blackburn | I mean practical | 00:11 |
blackburn | i.e. when you have 10 classes with some complex dependencies | 00:11 |
PhilTillet | I see | 00:12 |
blackburn | how many bits you would like to use? what will each bit discriminate? and etc | 00:12 |
PhilTillet | I see, each bit kind of represents a feature in this class doesn't it? | 00:13 |
blackburn | no, it represents one discriminative classifier | 00:14 |
PhilTillet | oh, yes | 00:14 |
PhilTillet | one-versus-all, one-versus one, etc | 00:15 |
blackburn | pretty interesting thing is these schemes are just some concrete ECOC matrices | 00:16 |
PhilTillet | I love concrete things ^^ | 00:18 |
PhilTillet | I was used to one-versus-all methods but ECOC seems really more powerful | 00:21 |
blackburn | more complex though | 00:21 |
@sonney2k | 'evening gentlemen! | 00:22 |
PhilTillet | 'evening sonney2k ! | 00:22 |
blackburn | ????? ???? | 00:22 |
blackburn | ;) | 00:22 |
PhilTillet | ????? | 00:23 |
blackburn | sonney2k: what kind of insomnia brought you here? | 00:23 |
blackburn | PhilTillet: my chars were more informative ;) | 00:23 |
PhilTillet | indeed :) | 00:23 |
@sonney2k | well I can read PhilTillet's ones :) | 00:24 |
blackburn | oh really? what did he write? ;) | 00:25 |
blackburn | sonney2k: back to release | 00:25 |
@sonney2k | good evening | 00:26 |
@sonney2k | blackburn, yeah so how are things? | 00:26 |
blackburn | sonney2k: did you take any japanese? ;) | 00:26 |
@sonney2k | any progress? | 00:26 |
@sonney2k | yes | 00:26 |
blackburn | sonney2k: I need heiko's help here, he would help later | 00:26 |
blackburn | I hope tomorrow actually | 00:27 |
@sonney2k | ok so we won't make progress today? | 00:27 |
blackburn | exactly | 00:27 |
blackburn | sonney2k: but we've got TWO new ideas suggestions | 00:27 |
blackburn | one author is here btw ;) | 00:28 |
@sonney2k | 2 even? | 00:28 |
blackburn | yeah check ml | 00:28 |
@sonney2k | I read about deep learning on the ml | 00:28 |
blackburn | yes and opencl | 00:29 |
blackburn | sonney2k: I have totally mixed up opinion on any NNs | 00:29 |
PhilTillet | yes, i'm here :p | 00:30 |
blackburn | we are pretty tight with slots and no idea what could we abandon | 00:30 |
PhilTillet | just to be clear, my mail told that I had already implemented NN using OpenCL, but making OpenCL code for SVM is also an option | 00:30 |
@sonney2k | yeah that is the problem - the opencl idea is nice though | 00:31 |
blackburn | opencl and svms is pretty tough thing! | 00:31 |
PhilTillet | Agreed :) I wanted to do SVM rather than NN at first, but SVM is just on the Math point of view more complicated | 00:31 |
@sonney2k | problem with opencl (or any graphics card based stuff) is that you need to fit data into GPUs | 00:31 |
@sonney2k | and I mean 100% | 00:31 |
@sonney2k | otherwise you waste all your time in i/o | 00:32 |
@sonney2k | and then you need to have a linear memory access pattern to be fast | 00:32 |
PhilTillet | Well, I thought about that indeed, and my NN stopped working for very big datasets | 00:32 |
PhilTillet | because all the data did not fit in memory | 00:32 |
PhilTillet | but transfering from GPU to CPU is very fast | 00:33 |
blackburn | sonney2k: I am going to extract multitask kernel normalizers to shogun/multitask | 00:33 |
@sonney2k | yeah - so it can speed up very expensive algorithms | 00:33 |
@sonney2k | blackburn, not before the release I hope | 00:33 |
blackburn | sonney2k: in my fork! | 00:33 |
blackburn | ;) | 00:33 |
@sonney2k | do wahtever you want in your fork :) | 00:34 |
blackburn | you should be happy - my multitask will be developed under pull request approach ;) | 00:34 |
@sonney2k | PhilTillet, YMMV - for example when one trains an algorithm like perceptron or SVMSGD - it usually just does one pass over the data to do the whole learning | 00:35 |
blackburn | sonney2k: can I integrate linux kernel in my fork? ;) | 00:36 |
@sonney2k | so in this case memory access is everything | 00:36 |
@sonney2k | blackburn, my fork has it already :D | 00:36 |
blackburn | sonney2k: well it would be nice to have kernel in shogun/kernel | 00:36 |
blackburn | don't you think so? | 00:36 |
blackburn | I believe it is a kernel so it should be in kernel | 00:36 |
blackburn | ;) | 00:36 |
@sonney2k | PhilTillet, how big is the memory on GPUs nowadays? 4G? | 00:37 |
PhilTillet | sonney2k: Well, on some high end graphic cards yes | 00:37 |
@sonney2k | PhilTillet, blackburn I have an idea though: mini-batches for liblinear | 00:38 |
@sonney2k | e.g. one loads say '1GB' into GPU memory | 00:38 |
@sonney2k | then does multiple liblinear passes | 00:38 |
@sonney2k | and then continues with the next chunk | 00:38 |
@sonney2k | until convergence | 00:38 |
blackburn | would it converge? ;) | 00:39 |
@sonney2k | sure | 00:39 |
PhilTillet | yes, seems like a good idea indeed | 00:39 |
blackburn | multiclass may not | 00:39 |
@sonney2k | but I suspect kernel based SVMs would benefit most | 00:39 |
blackburn | sonney2k: my idea was to use PhilTillet experience with opencl but not as main project :) | 00:41 |
@sonney2k | blackburn, well look they even have a related paper about this http://www.csie.ntu.edu.tw/~cjlin/papers/kdd_disk_decomposition.pdf | 00:41 |
@sonney2k | so it can surely work | 00:41 |
blackburn | ok ;) | 00:42 |
PhilTillet | Kernel Based SVMs on GPU would sure be more complicated than NN :p | 00:43 |
@sonney2k | PhilTillet, no there has also been a paper maybe 5 years back about libsvm on GPU | 00:46 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 00:47 | |
@sonney2k | isn't opencl C-like? | 00:47 |
@sonney2k | then it shouldn't be too difficult | 00:47 |
PhilTillet | true that | 00:47 |
PhilTillet | just the way to think algorithm is different | 00:47 |
PhilTillet | but for basic kernels it shouldn't be that difficult indeed | 00:48 |
PhilTillet | and the benchmarks on CUDA are indeed great : http://mklab.iti.gr/project/GPU-LIBSVM | 00:48 |
@sonney2k | PhilTillet, the most expensive operation that is done for SVMs is usually this one http://shogun-toolbox.org/doc/en/current/classshogun_1_1CKernelMachine.html | 00:49 |
blackburn | wrong link ;) | 00:50 |
@sonney2k | PhilTillet, so if you manage to pre-load these coefficients alpha_i and examples (aka support vectors) x_i into memory | 00:50 |
PhilTillet | well, this operation is naturally parallel :p | 00:50 |
@sonney2k | and have a fast implementation of kernel in opencl then it should be fast | 00:50 |
@sonney2k | PhilTillet, I guess that would be a good starting point - try to get this as fast as possible with gaussian kernel http://shogun-toolbox.org/doc/en/current/classshogun_1_1CGaussianKernel.html | 00:51 |
PhilTillet | can it replace the "small patch" ? :p | 00:52 |
@sonney2k | with big patch you mean :-) | 00:52 |
PhilTillet | Well, can I use viennacl::norm2 ? :D | 00:53 |
PhilTillet | (as I said in my mail, I'm a contributor to an OpenSource project which implements already every linear algebra operations) | 00:55 |
PhilTillet | (so if I can reuse this code, the patch will be really small :) ) | 00:56 |
@sonney2k | PhilTillet, well just use it - I guess later one can extract just the needed parts or make viennacl an optional dependency | 00:57 |
PhilTillet | this one is more challenging : http://shogun-toolbox.org/doc/en/current/classshogun_1_1CGaussianShiftKernel.html | 00:58 |
PhilTillet | :p | 00:58 |
@sonney2k | there are other more important kernels | 00:59 |
@sonney2k | like linear and poly kernel (easy again) | 00:59 |
PhilTillet | Okay | 01:00 |
PhilTillet | so my homework is to benchmark these against an OpenCL implementation? | 01:00 |
@sonney2k | PhilTillet, benchmark and then it would of course be nice to have this as a patch to shogun | 01:01 |
PhilTillet | okay | 01:01 |
PhilTillet | could I just have some pointer concerning the involved files/folders ? | 01:02 |
@sonney2k | the above doxygen doc's point to the file names | 01:02 |
@sonney2k | the apply() method is the one in kernel machine that does this a_i y_i K(x_i, x) | 01:03 |
@sonney2k | summing | 01:03 |
PhilTillet | oh yes, I see | 01:03 |
@sonney2k | but no problem - just start an isolated dry-run first | 01:03 |
@sonney2k | when a kernel machine is applied you have to assume x is setting in CPU memory (and x_i on GPU) | 01:04 |
@sonney2k | blackburn, any idea where we could squeeze in PhilTillet ? | 01:05 |
blackburn | sonney2k: squeeze? | 01:05 |
blackburn | I do not understand.. | 01:06 |
n4nd0 | sonney2k: hi! I have a couple of doubts related to the SO project, I asked Nico by mail but probably he didn't get time to answer yet, maybe you can help me though | 01:08 |
@sonney2k | n4nd0, when did you email him? | 01:09 |
n4nd0 | sonney2k: last Thursday, maybe I have not been patient enough :S | 01:10 |
n4nd0 | sonney2k: we already exchanged a first mail | 01:11 |
@sonney2k | I susspect he will answer on monday... | 01:15 |
PhilTillet | sonney2k: just a quick question that can save me a lot of time : in the CFeatures* argument to apply(), are the features stored in lines or column? | 01:17 |
n4nd0 | all right, then there is no reason to worry about :) | 01:17 |
blackburn | PhilTillet: in simplefeatures features are stored column-wise | 01:17 |
n4nd0 | I will continue improving an example for qda | 01:17 |
blackburn | vector by vector | 01:18 |
PhilTillet | Okay :) And, internally it is stored in a ublas::matrix ? | 01:18 |
blackburn | huh strange guess | 01:18 |
blackburn | ;) | 01:18 |
PhilTillet | :D | 01:19 |
blackburn | just float64_t* | 01:19 |
PhilTillet | okay :D | 01:19 |
PhilTillet | plain old matrix :p | 01:19 |
PhilTillet | okay, homework seems tough enough :) | 01:21 |
@sonney2k | PhilTillet, well do the benmark first with some simulated data... | 01:22 |
PhilTillet | yes :) | 01:24 |
PhilTillet | Gaussian Kernel is rather straightforward, but more complicated is the apply() formula :D | 01:25 |
PhilTillet | but I like challenge ! | 01:26 |
blackburn | why is it more complicated? | 01:26 |
PhilTillet | hmmm | 01:28 |
PhilTillet | you're right, it's not | 01:29 |
PhilTillet | depends on how efficient i want the code to be | 01:30 |
PhilTillet | as always | 01:30 |
PhilTillet | can I have an order of magnitude of the size of a feature vectors, and the size of a dataset? | 01:35 |
blackburn | you mean in apply? | 01:36 |
PhilTillet | yes | 01:37 |
PhilTillet | the N of the formula, and the size of x_i | 01:37 |
blackburn | KernelMachine? | 01:37 |
PhilTillet | yes | 01:37 |
blackburn | line 248 | 01:38 |
PhilTillet | I meant, in practice | 01:39 |
PhilTillet | :p | 01:39 |
blackburn | hmm? | 01:39 |
PhilTillet | hmmmm, concretely, does the feature matrix have more row or more columns? | 01:40 |
blackburn | depends on data | 01:40 |
PhilTillet | ok, :p | 01:41 |
PhilTillet | (yes my question was weird) | 01:41 |
blackburn | no general answer here | 01:41 |
PhilTillet | okay :) | 01:42 |
blackburn | it may be 4 2000d vectors | 01:42 |
blackburn | or 2000 4d | 01:42 |
blackburn | ok I'm falling asleep | 01:46 |
blackburn | PhilTillet: in fact you may rewrite compute_batch thing in kernel | 01:47 |
PhilTillet | well i'll firstly do it on randomly generated data :p | 01:47 |
PhilTillet | i'm falling asleep too | 01:47 |
PhilTillet | :D | 01:47 |
blackburn | I mean no need to add anything to kernelmachine | 01:48 |
PhilTillet | okay :) | 01:49 |
PhilTillet | It was an interesting conversation, but I need to sleep if I want to survive ! I'll probably come back tomorrow ! good night :) | 01:58 |
blackburn | sure | 01:58 |
-!- PhilTillet [52e82691@gateway/web/freenode/ip.82.232.38.145] has quit [Quit: Page closed] | 01:58 | |
blackburn | me too | 01:58 |
-!- blackburn [~qdrgsm@188.122.253.192] has quit [Ping timeout: 246 seconds] | 02:21 | |
-!- GenX__ is now known as GenX | 02:26 | |
-!- vikram360 [~vikram360@117.192.166.196] has joined #shogun | 02:36 | |
-!- vikram360 [~vikram360@117.192.166.196] has quit [Ping timeout: 260 seconds] | 02:44 | |
-!- vikram360 [~vikram360@117.192.166.195] has joined #shogun | 02:45 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 02:47 | |
-!- vikram360 [~vikram360@117.192.166.195] has quit [Ping timeout: 264 seconds] | 03:52 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 240 seconds] | 03:55 | |
-!- vikram360 [~vikram360@117.192.161.63] has joined #shogun | 05:07 | |
-!- vikram360 [~vikram360@117.192.161.63] has quit [Ping timeout: 260 seconds] | 05:15 | |
-!- vikram360 [~vikram360@117.192.161.63] has joined #shogun | 05:16 | |
-!- harshit_ [~harshit@182.68.139.59] has joined #shogun | 05:33 | |
-!- harshit_ [~harshit@182.68.139.59] has quit [Remote host closed the connection] | 05:43 | |
-!- adneus [~anuj@117.195.38.237] has joined #shogun | 05:45 | |
-!- vikram360 [~vikram360@117.192.161.63] has quit [Ping timeout: 264 seconds] | 06:08 | |
-!- vikram360 [~vikram360@117.192.185.187] has joined #shogun | 07:12 | |
-!- adneus [~anuj@117.195.38.237] has quit [Quit: Leaving] | 07:29 | |
-!- vikram360 [~vikram360@117.192.185.187] has quit [Ping timeout: 252 seconds] | 07:39 | |
-!- vikram360 [~vikram360@117.192.190.55] has joined #shogun | 07:45 | |
-!- vikram360 [~vikram360@117.192.190.55] has quit [Ping timeout: 244 seconds] | 08:03 | |
-!- vikram360 [~vikram360@117.192.183.103] has joined #shogun | 08:10 | |
-!- vikram360 [~vikram360@117.192.183.103] has quit [Ping timeout: 250 seconds] | 08:19 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 09:02 | |
-!- vikram360 [~vikram360@117.192.166.74] has joined #shogun | 09:15 | |
-!- blackburn [~qdrgsm@188.122.253.192] has joined #shogun | 09:41 | |
n4nd0 | hi people! | 09:41 |
n4nd0 | I just pulled and found a compilation error | 09:41 |
n4nd0 | swig error : Unrecognized option -builtin | 09:41 |
n4nd0 | Use 'swig -help' for available options. | 09:41 |
n4nd0 | make[1]: *** [modshogun_wrap.cxx] Error 1 | 09:41 |
n4nd0 | any clue about it? | 09:42 |
blackburn | n4nd0: you've got old swig | 09:42 |
blackburn | <2.0.4 | 09:42 |
n4nd0 | oh, yes it looks like that | 09:43 |
n4nd0 | whereis swig | 09:43 |
n4nd0 | swig: /usr/bin/swig /usr/share/swig1.3 | 09:43 |
blackburn | ubuntu 11.10? | 09:43 |
n4nd0 | yes | 09:43 |
blackburn | use package swig2.0 | 09:43 |
n4nd0 | the one in the repositories is ok? | 09:43 |
n4nd0 | ok, thanks! | 09:44 |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 10:08 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 244 seconds] | 10:26 | |
-!- surtani [0e8b5206@gateway/web/freenode/ip.14.139.82.6] has joined #shogun | 10:38 | |
-!- harshit_ [~harshit@182.68.171.83] has joined #shogun | 10:46 | |
-!- harshit_ [~harshit@182.68.171.83] has quit [Quit: Leaving] | 10:53 | |
-!- harshit_ [~harshit@182.68.171.83] has joined #shogun | 10:53 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 11:09 | |
-!- vikram360 [~vikram360@117.192.166.74] has quit [Ping timeout: 276 seconds] | 11:50 | |
-!- vikram360 [~vikram360@117.192.167.167] has joined #shogun | 11:52 | |
-!- puneetgoyal [~puneet@115.242.75.148] has joined #shogun | 12:02 | |
-!- harshit_ [~harshit@182.68.171.83] has quit [Remote host closed the connection] | 12:06 | |
-!- puneetgoyal [~puneet@115.242.75.148] has quit [Ping timeout: 260 seconds] | 12:17 | |
-!- puneetgoyal [~puneet@101.63.34.173] has joined #shogun | 12:34 | |
-!- in3xes [in3xes@49.249.17.196] has joined #shogun | 13:11 | |
-!- puneetgoyal [~puneet@101.63.34.173] has quit [Quit: Leaving] | 13:13 | |
-!- in3xes_ [~in3xes@180.149.49.230] has joined #shogun | 13:18 | |
-!- in3xes [in3xes@49.249.17.196] has quit [Ping timeout: 250 seconds] | 13:21 | |
-!- in3xes_ [~in3xes@180.149.49.230] has quit [Ping timeout: 252 seconds] | 13:31 | |
-!- GenX [~Sambhav@14.139.82.6] has quit [Read error: Connection reset by peer] | 13:56 | |
-!- GenX [~Sambhav@14.139.82.6] has joined #shogun | 13:56 | |
-!- xiangwang [~xiangwang@123.116.114.145] has joined #shogun | 14:09 | |
-!- in3xes [in3xes@49.249.17.138] has joined #shogun | 14:30 | |
-!- xiangwang [~xiangwang@123.116.114.145] has quit [Quit: Leaving] | 14:32 | |
-!- vikram360 [~vikram360@117.192.167.167] has quit [Ping timeout: 252 seconds] | 14:41 | |
-!- surtani [0e8b5206@gateway/web/freenode/ip.14.139.82.6] has quit [Ping timeout: 245 seconds] | 14:52 | |
-!- adneus [~anuj@117.195.34.137] has joined #shogun | 15:10 | |
-!- gsomix [~gsomix@188.168.14.44] has joined #shogun | 15:20 | |
gsomix | hi | 15:20 |
-!- Varagrawal [7bc955a2@gateway/web/freenode/ip.123.201.85.162] has joined #shogun | 15:54 | |
Varagrawal | Hey there! | 15:55 |
Varagrawal | I am going through the tutorial and the first code minimal.cpp is giving me undefined reference error. :( | 15:57 |
Varagrawal | I just can't get what's wrong | 15:57 |
Varagrawal | I ran sudo apt-get install libshogun-dev and then opened up vi and wrote that code | 15:58 |
Varagrawal | finally when I compile, errors | 15:58 |
blackburn | you should use latest git | 15:59 |
blackburn | shogun is outdated in the repo | 15:59 |
Varagrawal | ah | 16:00 |
Varagrawal | I have the git | 16:00 |
Varagrawal | compile by source it is then, thanks :D | 16:00 |
Varagrawal | compiled by source, stii getting the same error :( | 16:14 |
gsomix | Varagrawal, maybe the code will say more? http://pastebin.com/ | 16:21 |
n4nd0 | blackburn: I prepared a colorful example with multiclass qda :P | 16:58 |
blackburn | nice | 16:58 |
n4nd0 | blackburn: take a look, what do you think http://dl.dropbox.com/u/11020840/multiclass_qda.png | 16:58 |
blackburn | cool! | 16:58 |
n4nd0 | :) | 16:59 |
n4nd0 | blackburn: matplotlib has lot of cool options, are you used to work with it? | 17:02 |
blackburn | sure | 17:02 |
n4nd0 | I just worked with matlab/octave plotting stuff before | 17:03 |
blackburn | I have never worked with it :) | 17:03 |
n4nd0 | so it is quite new for me, but I like it :) | 17:03 |
blackburn | it is *very* flexible | 17:04 |
n4nd0 | yes | 17:05 |
-!- in3xes [in3xes@49.249.17.138] has quit [Read error: Connection reset by peer] | 17:06 | |
n4nd0 | I'll try to learn a bit more of it | 17:06 |
n4nd0 | I think it is always nice to have some kind of nice visualization of the stuff | 17:06 |
blackburn | n4nd0: I bet this picture is not possible with matlab/octave: http://dl.dropbox.com/u/10139213/shogun/lle.png | 17:07 |
n4nd0 | blackburn: haha I don't really know! | 17:11 |
n4nd0 | I've never seen it before in matlab at least | 17:12 |
n4nd0 | it's reallly cool | 17:12 |
n4nd0 | with one of your dimensionality reduction algos? | 17:12 |
blackburn | yes, LLE | 17:13 |
-!- vikram360 [~vikram360@117.192.188.74] has joined #shogun | 17:25 | |
-!- Varagrawal [7bc955a2@gateway/web/freenode/ip.123.201.85.162] has quit [Ping timeout: 245 seconds] | 17:58 | |
-!- varagrawal [0e8b7952@gateway/web/freenode/ip.14.139.121.82] has joined #shogun | 18:28 | |
varagrawal | Hey1 | 18:28 |
varagrawal | I forked the repo and installed from source | 18:29 |
varagrawal | but when I compile the minimal.cpp program, I get an undefined reference error | 18:29 |
varagrawal | any help? | 18:29 |
-!- karlnapf [~heiko@host86-181-153-176.range86-181.btcentralplus.com] has joined #shogun | 18:36 | |
karlnapf | blackburn, around=? | 18:36 |
n4nd0 | varagrawal: hey! can you copy paster the error somewhere? | 18:36 |
blackburn | yeah | 18:36 |
n4nd0 | varagrawal: try here http://snipt.org/ | 18:37 |
karlnapf | hi | 18:37 |
karlnapf | so you were interested in the migration stuff ? | 18:38 |
blackburn | karlnapf: hi. we probably need to update testsuite | 18:38 |
karlnapf | ok | 18:38 |
blackburn | how can we do that? | 18:38 |
karlnapf | ok, I will explain what I did there :) | 18:38 |
varagrawal | yes | 18:38 |
karlnapf | I introduced this new flag PARAM_VERSION | 18:39 |
varagrawal | "/tmp/ccND136M.o: In function `main'" | 18:39 |
karlnapf | which is written into each serialised object | 18:39 |
varagrawal | "minimal.cpp:(.text+0x24): undefined reference to `shogun::init_shogun(void (*)(_IO_FILE*, char const*), void (*)(_IO_FILE*, char const*), void (*)(_IO_FILE*, char const*), void (*)(bool&, bool&))' minimal.cpp:(.text+0x29): undefined reference to `shogun::exit_shogun()' collect2: ld returned 1 exit status" | 18:39 |
-!- in3xes [~in3xes@59.163.196.5] has joined #shogun | 18:40 | |
karlnapf | blackburch, btw do you have time or should we talk later? | 18:40 |
blackburn | karlnapf: so you introduced it after testsuite was serialized? | 18:40 |
blackburn | sure, I have a lot | 18:40 |
karlnapf | Well so far nothing changed | 18:40 |
karlnapf | The goal was this: | 18:40 |
karlnapf | You have an isntance of an object which you put a lot of effort into, and you save it to a file | 18:40 |
karlnapf | then a new shogun version comes out which has this great feature you want to use | 18:41 |
karlnapf | however the nasty developers added a new variable in the class of that particular instance you saved | 18:41 |
karlnapf | so if you want to load with the new version | 18:41 |
n4nd0 | varagrawal: ok, so you said you managed to fork the repo and get the code locally right? | 18:41 |
karlnapf | it does not work | 18:41 |
n4nd0 | varagrawal: did you also manage to compile the project? | 18:41 |
varagrawal | @n4nd0 | 18:41 |
varagrawal | the install works perfectly | 18:42 |
karlnapf | (alternative: a type change, matrix from float64 to float32) | 18:42 |
blackburn | karlnapf: what if name changed? | 18:42 |
varagrawal | Compiling the minimal.cpp gives the issue | 18:42 |
varagrawal | http://snipt.org/ugajf9 | 18:42 |
karlnapf | same thing, wouldnt work | 18:42 |
blackburn | no way to make it work? | 18:42 |
karlnapf | But we want to allow people loading old version files | 18:42 |
karlnapf | yes, that what I did :) | 18:42 |
blackburn | ok more concretely | 18:42 |
blackburn | I renamed labels to m_labels | 18:42 |
karlnapf | Every shogun object now has a parameter map variable | 18:43 |
blackburn | what should I do to make it work | 18:43 |
karlnapf | There you can secify changes of parameters in between version | 18:43 |
karlnapf | s | 18:43 |
karlnapf | when you just change the c++ variable name, nothing will happen, only if you change the registered parameter name by the SG_ADD | 18:43 |
karlnapf | lets have a look at one example | 18:43 |
n4nd0 | varagrawal: did you try with some of the examples that come with the project? | 18:43 |
varagrawal | I literally copy-pasted the code in the tut | 18:43 |
blackburn | aha so I need to restore names better | 18:44 |
blackburn | "labels" I mean | 18:44 |
blackburn | instead of "m_labels" | 18:44 |
varagrawal | 1 sec, I'll do that | 18:44 |
karlnapf | you can change them, | 18:44 |
blackburn | btw karlnapf, you have added some new parameter about locking | 18:44 |
karlnapf | yes | 18:44 |
blackburn | so we can't read testsuite right now :) | 18:44 |
karlnapf | from now on, everytime we ad d the structure of objects, we should put this change into the parameter map | 18:45 |
blackburn | ahha | 18:45 |
karlnapf | ah ok. | 18:45 |
blackburn | where? | 18:45 |
karlnapf | have a look at examples/libshogun/base_migration_dropping_and_new.cpp | 18:45 |
karlnapf | There you got two classes which are the same except for some parameters that are new/dropped | 18:46 |
karlnapf | You need to do two things: | 18:46 |
varagrawal | I am trying to run the OCR example, but the python script throws an error saying "No Module named modshogun" | 18:46 |
karlnapf | first: put the change in the parameter map (same place where parameters are registered) | 18:46 |
karlnapf | second: override the CSGObject::migrate methods | 18:46 |
karlnapf | methods | 18:46 |
karlnapf | method | 18:46 |
karlnapf | (only one) | 18:47 |
karlnapf | For simple changes like a name change/new parameters/dropped parameters theres a helper function which does most of the wprlk | 18:47 |
karlnapf | work | 18:47 |
karlnapf | For new parameters its particulary easy | 18:47 |
karlnapf | just need to register the new parameter, then its ignored while loading old files | 18:47 |
blackburn | do you have time right now to make it work with row_subset | 18:48 |
karlnapf | dropped parameters work out of the box, just delete them, they are also then ignored while loading | 18:48 |
blackburn | I guess it is now a new parameter | 18:48 |
n4nd0 | varagrawal: did you build with python support? | 18:48 |
karlnapf | yes, could do that | 18:48 |
karlnapf | I have some changes in my branch, let me check them | 18:48 |
karlnapf | I will get back to you later with a pull-request :) | 18:49 |
varagrawal | I ran ./configure | 18:49 |
blackburn | thanks! | 18:49 |
varagrawal | didn't specify explicit parameters | 18:49 |
blackburn | karlnapf: I guess it is better to get m_labels -> labels as before | 18:49 |
blackburn | I mean name string | 18:49 |
varagrawal | the installation guide said that it would be detected on its own | 18:49 |
karlnapf | you can change that, just add to map | 18:49 |
karlnapf | have a look into | 18:50 |
n4nd0 | varagrawal: I think you should configure with --interfaces=python_modular so you can use shogun from python | 18:50 |
n4nd0 | varagrawal: take a look here http://www.shogun-toolbox.org/doc/en/current/installation.html | 18:50 |
blackburn | I understand but I think it is not really needed | 18:50 |
varagrawal | Will do that | 18:50 |
blackburn | adding "m_" does not affect anything but codestyle | 18:50 |
karlnapf | m_number_to_keep variable in the example I mentioned | 18:50 |
blackburn | yeah I checked it already | 18:51 |
karlnapf | this m_ shouldnt be in registered names anyway in my opinion | 18:51 |
blackburn | ha! | 18:51 |
blackburn | karlnapf: then could you please add row_subset map? | 18:52 |
blackburn | I hope that would make things work | 18:52 |
karlnapf | yes will check that | 18:52 |
karlnapf | should :) | 18:52 |
karlnapf | sorry for breaking it | 18:52 |
karlnapf | we should add this to shogun code style: whenever you add variable to existing class, add parameter map and miration method | 18:52 |
varagrawal | "However, just running ./configure will autodetect and configure for the available interfaces." | 18:53 |
blackburn | pain in the ass thingy | 18:53 |
karlnapf | or least the mapping, so that loading still works, and initialise with reasonable values in constructor, thats missing sometimes | 18:53 |
varagrawal | That's what I did | 18:53 |
karlnapf | Yes, true, however, we are using c++ :( | 18:53 |
blackburn | varagrawal: ./configure --interfaces=python_modular | 18:53 |
varagrawal | Yeah, did that | 18:54 |
varagrawal | Do I need to install swig? | 18:54 |
blackburn | exactly | 18:54 |
CIA-64 | shogun: Sergey Lisitsyn master * rc087f70 / src/shogun/machine/Machine.cpp : Restored machine parameters names - http://git.io/JZN4fA | 18:55 |
varagrawal | swig2.0 ? | 18:55 |
n4nd0 | varagrawal: yes | 18:55 |
karlnapf | backburn, I really would like to integrate this john platt probability sigmoid fitting, have you thought more about that? | 18:55 |
karlnapf | currently doing by hand for a project | 18:56 |
karlnapf | but this sucks | 18:56 |
karlnapf | and also we should do simila stuff for the one-against-all svms | 18:56 |
blackburn | karlnapf: not really.. well we have LR regularized liblinear | 18:57 |
blackburn | for 2 class things | 18:57 |
karlnapf | mmh | 18:57 |
karlnapf | its not a lot of work | 18:57 |
blackburn | I mean it is prob output already | 18:57 |
karlnapf | I remember there has been a probabilities variable in labels | 18:58 |
karlnapf | one year ago or so | 18:58 |
karlnapf | What about just adding it again | 18:58 |
blackburn | ah | 18:58 |
blackburn | wait | 18:58 |
blackburn | the idea is | 18:58 |
blackburn | Labels (base class) | 18:58 |
varagrawal | yowza | 18:58 |
varagrawal | Think it'll work now :D | 18:58 |
blackburn | BinaryLabels, ProbabilisticBinaryLabels | 18:58 |
blackburn | MulticlassLabels, ProbabilisticMulticlassLabels | 18:58 |
blackburn | MultipleLabels | 18:59 |
blackburn | or so | 18:59 |
blackburn | but for now it is ok to add probabilities in labels | 18:59 |
blackburn | (as I think) | 18:59 |
karlnapf | the other stuff is a lot of work though, many changes | 18:59 |
blackburn | karlnapf: I would need some help with other stuff btw | 18:59 |
karlnapf | other stuff? | 19:00 |
blackburn | check machine/MulticlassMachine.cpp | 19:00 |
blackburn | :) | 19:00 |
blackburn | OvO training would require some subsetting stuff | 19:00 |
blackburn | can you implement it? | 19:00 |
blackburn | it is ~20 lines of code probably though :D | 19:01 |
blackburn | but I was lazy to get myself into your subsetting thing | 19:01 |
karlnapf | I see :) | 19:02 |
karlnapf | subsetting of the features you mean | 19:02 |
karlnapf | or for the locking? | 19:02 |
blackburn | but it is not of any priority | 19:02 |
blackburn | yeah | 19:02 |
blackburn | no | 19:02 |
karlnapf | make it possible to use it for x-val you mean this subsetting? :) | 19:02 |
karlnapf | ok | 19:02 |
karlnapf | yes I can do this | 19:02 |
blackburn | I mean there should be subset only for 2 classes | 19:02 |
blackburn | and machine trained on top of that | 19:02 |
karlnapf | though I am ultra busy this week | 19:03 |
blackburn | ah | 19:03 |
blackburn | nevermind then! | 19:03 |
karlnapf | If its non-priority lets talk about it next week or so | 19:03 |
blackburn | or month | 19:03 |
blackburn | cause I'm getting busier day by day as well | 19:03 |
blackburn | :D | 19:03 |
karlnapf | What are you currently doing btw? | 19:03 |
blackburn | well working and studying | 19:04 |
karlnapf | anythign special when you say coure getting busier? | 19:04 |
blackburn | oh yeah I have done nothing yet with some studies | 19:04 |
blackburn | :D | 19:04 |
-!- varagrawal [0e8b7952@gateway/web/freenode/ip.14.139.121.82] has quit [Ping timeout: 245 seconds] | 19:05 | |
blackburn | probably that is the time to start | 19:05 |
karlnapf | do you also get this combined kernel example error in python_modular? | 19:06 |
blackburn | karlnapf: in fact it is all full of ERROR | 19:06 |
blackburn | no idea WTF | 19:07 |
blackburn | karlnapf: with make run-testsuite you may see errors with params | 19:08 |
karlnapf | kk | 19:08 |
karlnapf | What about all these new guys around here? :) | 19:09 |
blackburn | karlnapf: well #shogun is getting active againg | 19:10 |
karlnapf | pretty good I guess | 19:10 |
karlnapf | oh year now I see all the parameter errors... | 19:10 |
-!- varagrawal [0e8b7952@gateway/web/freenode/ip.14.139.121.82] has joined #shogun | 19:11 | |
varagrawal | How do I assign a kernel to the OCR application? | 19:12 |
blackburn | varagrawal: it is hardcoded I am afraid | 19:13 |
varagrawal | I keep getting the error | 19:14 |
blackburn | which? | 19:14 |
varagrawal | "Please specify a kernel" | 19:14 |
karlnapf | blackburn, to make this mapping work, we have to increase the parameter version in the current git | 19:14 |
blackburn | I don't mind increasing anything | 19:14 |
blackburn | :D | 19:14 |
blackburn | I don't even mind shogun 1254.0 | 19:15 |
blackburn | varagrawal: aha got it | 19:15 |
karlnapf | ok then change it to 1 :) | 19:15 |
varagrawal | ? | 19:15 |
blackburn | varagrawal: I guess we need to retrain it | 19:16 |
blackburn | and upload new state | 19:16 |
-!- vikram360 [~vikram360@117.192.188.74] has quit [Ping timeout: 240 seconds] | 19:20 | |
karlnapf | blackburn, should I update the NEWS file a bit or do you want to do that yourself? | 19:22 |
blackburn | feel free to do that ;) | 19:22 |
-!- adneus [~anuj@117.195.34.137] has left #shogun ["Leaving"] | 19:30 | |
karlnapf | blackburn, seems like there is a bug around, I got a crash now for the migration | 19:36 |
blackburn | ha! | 19:36 |
karlnapf | I cannot figure out which code causes it | 19:36 |
karlnapf | comes after this: | 19:36 |
karlnapf | cd ../..//../testsuite/python_modular && \ | 19:36 |
karlnapf | ( LD_LIBRARY_PATH=//usr/local/lib \ | 19:36 |
karlnapf | PYTHONPATH="//usr/local/lib/python2.7/dist-packages" python test | 19:36 |
blackburn | huh | 19:37 |
karlnapf | I never touched the test-suite so far, how does it work? | 19:38 |
blackburn | just runs .py from examples | 19:38 |
blackburn | and checks equality | 19:38 |
karlnapf | ehm | 19:38 |
blackburn | comparing with ones saved before | 19:39 |
karlnapf | I got no error in make tests | 19:39 |
karlnapf | but a memleak in make run-testsuite | 19:39 |
karlnapf | that makes no sense then? | 19:39 |
blackburn | memleak? which one fails? | 19:39 |
blackburn | I've got no memleaks | 19:39 |
karlnapf | averaged percepton, but I just changed code to make it use the migrations | 19:39 |
blackburn | hmm | 19:40 |
karlnapf | weiiird | 19:40 |
-!- varagrawal [0e8b7952@gateway/web/freenode/ip.14.139.121.82] has quit [Quit: Page closed] | 19:45 | |
karlnapf | but it loads some serialised files, doesnt it? | 19:45 |
blackburn | yeah | 19:45 |
blackburn | it loads and compares | 19:45 |
karlnapf | where is the code for that? | 19:45 |
blackburn | testsuite/python_modular | 19:47 |
karlnapf | found it, messy :) | 19:47 |
blackburn | tester.py | 19:47 |
karlnapf | aaah | 19:48 |
karlnapf | think I got the error | 19:48 |
-!- puneetgoyal [~puneet@101.63.95.73] has joined #shogun | 19:48 | |
-!- varagrawal [0e8b7937@gateway/web/freenode/ip.14.139.121.55] has joined #shogun | 19:52 | |
varagrawal | hey | 19:52 |
varagrawal | OCR is working | 19:52 |
varagrawal | But now when I try to run msplicer | 19:53 |
varagrawal | I get this | 19:53 |
varagrawal | ERROR IMPORTING MODULES, MAKE SURE YOU HAVE SHOGUN INSTALLED | 19:53 |
varagrawal | :-/ | 19:53 |
karlnapf | blackburn, doesnt work now, I will get back to you on this. Hopefully next week :) | 19:54 |
karlnapf | will go now, bye all | 19:54 |
n4nd0 | karlnapf: bye! | 19:59 |
blackburn | karlnapf: oh okay | 20:00 |
blackburn | see you | 20:00 |
-!- karlnapf [~heiko@host86-181-153-176.range86-181.btcentralplus.com] has left #shogun [] | 20:03 | |
-!- in3xes [~in3xes@59.163.196.5] has quit [Ping timeout: 260 seconds] | 20:07 | |
-!- in3xes [~in3xes@210.212.58.168] has joined #shogun | 20:15 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 264 seconds] | 20:24 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 20:46 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 21:00 | |
varagrawal | :n4nd0 | 21:09 |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 21:09 | |
varagrawal | For msplicer I am getting the error, ERROR IMPORTING MODULES, MAKE SURE YOU HAVE SHOGUN INSTALLED | 21:09 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 245 seconds] | 21:10 | |
-!- varagrawal [0e8b7937@gateway/web/freenode/ip.14.139.121.55] has quit [Quit: Page closed] | 21:14 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 21:21 | |
@sonney2k | blackburn, hey... | 21:23 |
blackburn | sonney2k: hey | 21:25 |
blackburn | what's up? | 21:26 |
@sonney2k | is the website change / announcement / blog etc I did OK? | 21:26 |
@sonney2k | or do you have any suggestions? | 21:26 |
blackburn | or it is ok for sure | 21:26 |
blackburn | oh* | 21:26 |
blackburn | why do you care so much about that announcement? | 21:26 |
@sonney2k | that is how we get students looking at the project? | 21:27 |
@sonney2k | ! | 21:27 |
blackburn | heh take a look how many students we have already ;) | 21:27 |
blackburn | I mean they would come anyway | 21:28 |
@sonney2k | I don't think so - in particular good ones might not. anyway I send announcements to the popular machine learning mailinglists and google+ / debian planet | 21:29 |
blackburn | aahh | 21:29 |
blackburn | i see | 21:29 |
@sonney2k | scipy is missing still but then done | 21:29 |
blackburn | so if I had suggestions | 21:29 |
blackburn | how can you edit it | 21:29 |
blackburn | :D | 21:29 |
@sonney2k | it is a website | 21:30 |
@sonney2k | and a blog I can change at any time | 21:30 |
blackburn | I see | 21:30 |
@sonney2k | why would I be asking otherwise? | 21:30 |
@sonney2k | anyway, any news regarding release progress? | 21:30 |
blackburn | sonney2k: yeah we fucked up | 21:31 |
blackburn | :D | 21:31 |
@sonney2k | which means what? | 21:31 |
blackburn | sonney2k: ok I have no idea how to fix all the things in testsuite right now | 21:32 |
blackburn | sonney2k: apart from testsuite it is ok | 21:32 |
@sonney2k | without the testsuite working we cannot release though | 21:33 |
@sonney2k | regressions are much more annoying than broken new features | 21:33 |
blackburn | I am pretty sure we've got no new regressions | 21:34 |
-!- in3xes [~in3xes@210.212.58.168] has quit [Ping timeout: 240 seconds] | 21:35 | |
blackburn | sonney2k: in fact I receive ERROR for each test in python modular | 21:35 |
-!- harshit_ [~harshit@182.68.171.83] has joined #shogun | 21:37 | |
blackburn | sonney2k: do you? | 21:37 |
harshit_ | hi everyone, just one quick question is there any built in function in shogun to multiply two matrices.I found one for vectors in CMath but not for matrices | 21:39 |
blackburn | use cblas_dgemm | 21:39 |
harshit_ | is that a library or a function ? | 21:42 |
@sonney2k | blackburn, compiling now... | 21:42 |
blackburn | harshit_: BLAS function | 21:42 |
blackburn | sonney2k: ok, please let me know cause I really see no OK there | 21:42 |
-!- puneetgoyal [~puneet@101.63.95.73] has quit [Ping timeout: 244 seconds] | 21:44 | |
-!- puneetgoyal [~puneet@101.63.95.73] has joined #shogun | 21:45 | |
harshit_ | can you please provide me its prototype. i am not able to find it | 21:45 |
blackburn | http://www.netlib.org/blas/dgemm.f | 21:46 |
harshit_ | thanks | 21:46 |
-!- l0nr4n [~l0nr4n@unaffiliated/l0nr4n] has quit [Ping timeout: 265 seconds] | 21:48 | |
-!- l0nr4n [~l0nr4n@g225108058.adsl.alicedsl.de] has joined #shogun | 21:49 | |
-!- l0nr4n [~l0nr4n@g225108058.adsl.alicedsl.de] has quit [Changing host] | 21:49 | |
-!- l0nr4n [~l0nr4n@unaffiliated/l0nr4n] has joined #shogun | 21:49 | |
n4nd0 | sonney2k: hi | 21:54 |
n4nd0 | sonney2k: have you taken a look to the graphical multiclass qda example? | 21:54 |
n4nd0 | just wanted to know if you think it's ok or have any suggestion | 21:55 |
n4nd0 | you can check how it looks like here http://dl.dropbox.com/u/11020840/multiclass_qda.png | 21:56 |
@sonney2k | n4nd0, yeah looks great :) | 22:00 |
n4nd0 | sonney2k: :) | 22:00 |
blackburn | sonney2k: any news? | 22:11 |
-!- harshit_ [~harshit@182.68.171.83] has quit [Ping timeout: 250 seconds] | 22:22 | |
-!- puneetgoyal [~puneet@101.63.95.73] has quit [Ping timeout: 264 seconds] | 22:27 | |
-!- harshit_ [~harshit@182.68.171.83] has joined #shogun | 22:42 | |
-!- harshit_ [~harshit@182.68.171.83] has quit [Client Quit] | 22:43 | |
n4nd0 | good night people! | 22:43 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 22:45 | |
-!- gsomix [~gsomix@188.168.14.44] has quit [Ping timeout: 244 seconds] | 22:47 | |
-!- novice [b4953264@gateway/web/freenode/ip.180.149.50.100] has joined #shogun | 23:01 | |
-!- GenX [~Sambhav@14.139.82.6] has quit [Read error: Connection reset by peer] | 23:10 | |
-!- GenX [~Sambhav@14.139.82.6] has joined #shogun | 23:10 | |
-!- novice [b4953264@gateway/web/freenode/ip.180.149.50.100] has left #shogun [] | 23:14 | |
-!- blackburn [~qdrgsm@188.122.253.192] has quit [Quit: Leaving.] | 23:29 | |
-!- in3xes [in3xes@49.248.244.12] has joined #shogun | 23:30 | |
--- Log closed Mon Mar 19 00:00:19 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!