--- Log opened Sat Oct 01 00:00:48 2011 | ||
@sonney2k | blackburn what happened? | 00:10 |
---|---|---|
@sonney2k | why are you quoting? | 00:10 |
blackburn | sonney2k: too much sentences to answer without quoting :) | 00:10 |
@sonney2k | blackburn, I see | 00:11 |
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.67.220.146.162] has quit [Ping timeout: 252 seconds] | 00:11 | |
@sonney2k | blackburn, btw regarding the bias | 00:11 |
@sonney2k | I thought it would be easiest to just return an array for all fprs | 00:11 |
@sonney2k | that matches the tprs/fprs | 00:11 |
@sonney2k | then one could easily pick | 00:11 |
@sonney2k | same for prc | 00:11 |
blackburn | sonney2k: I don't understand :) | 00:11 |
@sonney2k | ? | 00:12 |
blackburn | isn't it returned in ROC graph? | 00:12 |
@sonney2k | when you have a roc curve each point corresponds to a certain bias | 00:12 |
@sonney2k | blackburn, roc graph just returns fpr / trp | 00:12 |
@sonney2k | tpr | 00:12 |
@sonney2k | and array of fprs/trps | 00:12 |
@sonney2k | tprs | 00:12 |
@sonney2k | but not the bias that is needed to achieve a certain fpr | 00:12 |
blackburn | sonney2k: how to compute that? | 00:13 |
@sonney2k | err fpr/tpr combination | 00:13 |
@sonney2k | IIRC you have the outputs of the classifier sorted right? | 00:13 |
@sonney2k | so when you consider output[i] it should be the bias | 00:14 |
@sonney2k | good thing is that you can double check w/ contingency table evaluator | 00:14 |
blackburn | sonney2k: so just store sorted labels? | 00:16 |
@sonney2k | blackburn, regarding arpack.h - why does it not work? I mean you could just template the respective arpack functions | 00:16 |
@sonney2k | blackburn, yes I think so | 00:16 |
blackburn | sonney2k: superlu files slu_ddefs.h (double defines) and slu_sdefs (single defines) can't be included at the same time | 00:16 |
@sonney2k | why defines? | 00:17 |
blackburn | sonney2k: I need that file to be included to use superlu | 00:17 |
@sonney2k | where is that file? | 00:17 |
blackburn | superlu/slu_ddefs.h | 00:17 |
@sonney2k | in shogun? | 00:17 |
blackburn | no | 00:17 |
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.67.220.146.162] has joined #shogun | 00:18 | |
blackburn | e.g. /usr/include/superlu/slu_ddefs.h on my machine | 00:18 |
@sonney2k | what happens if you include both? | 00:18 |
blackburn | sonney2k: some functions are defined in both of them | 00:19 |
blackburn | -> compilation fail | 00:19 |
@sonney2k | example? | 00:19 |
@sonney2k | which one? | 00:19 |
blackburn | sonney2k: e.g. GlobalLU_t structure | 00:21 |
blackburn | mem_usage_t, .. | 00:21 |
@sonney2k | I see | 00:21 |
@sonney2k | ok | 00:21 |
blackburn | so the best way I see is to describe it templated in arpack.h | 00:22 |
@sonney2k | then you really have to do it in separete files | 00:22 |
blackburn | and arpack_d, arpack_s | 00:22 |
@sonney2k | but why does this appear in arpack? | 00:22 |
@sonney2k | not some superlu.h in shogun/mathematics/* | 00:22 |
blackburn | sonney2k: well there was no need to describe it in superlu.h | 00:23 |
blackburn | sonney2k: the only content of the mathematics/superlu.h could be "#include <superlu/slu_ddefs.h>" | 00:24 |
blackburn | another way is to rewrite all the functions once again to make s/d supported | 00:24 |
@sonney2k | I mean it is not arpack that needs two different files but only superloo | 00:24 |
blackburn | sonney2k: yes but there is no way to use it generally in *one* arpack.cpp | 00:26 |
@sonney2k | sure | 00:26 |
blackburn | so I think it is ok | 00:26 |
@sonney2k | one templated function | 00:26 |
blackburn | sonney2k: there? | 00:27 |
@sonney2k | and then you just call the superlu stuff from there | 00:27 |
blackburn | how? | 00:27 |
CIA-3 | shogun: Sergey Lisitsyn master * r57e582d / src/shogun/mathematics/arpack_d.cpp : Fixed wrong include at arpack double - http://git.io/0Ujt8g | 00:27 |
blackburn | okay, example: dCreateCompColMatrix(..) and sCreateCompColMatrix(..) | 00:27 |
blackburn | the only way I see is to describe CreateCompColMatrix<?> | 00:28 |
@sonney2k | yes | 00:28 |
blackburn | but there are a lot of functions | 00:28 |
@sonney2k | and implement it for double and single | 00:28 |
blackburn | I have to shadow all the interface funcs of superlu | 00:29 |
blackburn | I don't like to do that (at least now) | 00:29 |
@sonney2k | how many do you need | 00:29 |
@sonney2k | ? | 00:29 |
@sonney2k | btw, one unrelated minor thing - please don't indent #ifdefs | 00:30 |
blackburn | sonney2k: ~5-7, what is the advantage of doing that? | 00:30 |
@sonney2k | I would say it is much more readable plus not twice the same code | 00:30 |
@sonney2k | even now superlu stuff should be in an extra file | 00:31 |
blackburn | sonney2k: there would be templated functions for blas, lapack, arpack and superlu | 00:31 |
blackburn | every blas/lapack/arpack routine I use there would be shadowed with some template function | 00:32 |
@sonney2k | yes | 00:32 |
blackburn | I would say it is better to stay it duplicated | 00:32 |
blackburn | code dup is bad but this solution is pretty cumbersome | 00:33 |
@sonney2k | ok but then please at least have only one arpack.cpp / h and move the superlu stuff into 2 different superlu_double.h superlu_float.h files encapsulating all the stuff you have in ifdef SUPERLU | 00:34 |
blackburn | sonney2k: how can I have one arpack.cpp?! | 00:35 |
@sonney2k | there is no clash in arpack / blas / lapack right? | 00:35 |
@sonney2k | only superlu | 00:36 |
blackburn | sonney2k: so? | 00:36 |
@sonney2k | so when you extract the superlu code you can have one | 00:36 |
blackburn | sonney2k: how? | 00:36 |
blackburn | there would be naming clash still | 00:36 |
@sonney2k | which ? | 00:37 |
blackburn | superlu | 00:37 |
@sonney2k | but superlu stuff is in superlu_double / superlu_float | 00:37 |
@sonney2k | so how can there be a clash? | 00:37 |
blackburn | if I have one arpack.cpp I will need both _double _float to be included | 00:37 |
blackburn | and what should I define in superlu_double to avoid clash? | 00:38 |
@sonney2k | and? | 00:38 |
@sonney2k | you don't need to include the superlu headers in the superlu_double/float file | 00:38 |
@sonney2k | superlu_double.h that is | 00:38 |
blackburn | ?! what to include in superlu_double then? | 00:39 |
@sonney2k | nothing, just define the needed functions | 00:40 |
@sonney2k | and in superlu_double.cpp do the include + implementation | 00:41 |
blackburn | sonney2k: e.g. SuperMatrix would be defined in both of them | 00:42 |
@sonney2k | why | 00:42 |
blackburn | but contents are float or double according to included header | 00:42 |
blackburn | I'm not a big fan of doing this because no chance to get superlu used somewhere else | 00:43 |
@sonney2k | but you don't need SUperMatrix in any file other than SuperLU*.cpp | 00:44 |
blackburn | sonney2k: I use it right in arpack wrapper | 00:45 |
blackburn | SuperMatrix slu_A, slu_L, slu_U, slu_B, slu_X; | 00:45 |
blackburn | superlu_options_t options; | 00:45 |
blackburn | SuperLUStat_t stat; | 00:45 |
@sonney2k | yeah that code should go into superlu*.cpp | 00:45 |
@sonney2k | that is what I said | 00:45 |
blackburn | sonney2k: I can't see any way to hide it | 00:45 |
blackburn | sonney2k: okay let me explain | 00:46 |
blackburn | I need to matrix be factorized first | 00:46 |
blackburn | then I need to solve system in every iteration | 00:46 |
blackburn | I can't just call some superlu_solve for matrix | 00:47 |
blackburn | I need to replace contents of vectors b and x (in eq. Ab=x) | 00:48 |
blackburn | and to solve | 00:48 |
blackburn | that is the fastest way and I can't store factored matrix and vectors in superlu format in some superlu.cpp | 00:48 |
@sonney2k | so then you write some replace function that does the replacement in superlu | 00:51 |
@sonney2k | .cpp | 00:51 |
blackburn | sonney2k: anyway I need to store matrices, parameters, etc | 00:52 |
@sonney2k | yes the relevant ones in superlu - it is no solution to clutter arpack with this | 00:52 |
@sonney2k | s/no solution/no nice solution/ | 00:53 |
ChrisD_ | sonney2k: I just checked regression_svrlight_modular.py and it is indeed the same error. | 00:54 |
@sonney2k | blackburn, it is like implementing CKernel in CSVM | 00:54 |
@sonney2k | ChrisD_, ok | 00:55 |
blackburn | sonney2k: you want too nice solution, it is already specialized to many other things, not only superlu | 00:55 |
@sonney2k | ChrisD_, so we at least have a way to trigger it | 00:55 |
@sonney2k | but no idea how to fix it | 00:55 |
@sonney2k | I neither understand why we get 'success as error' | 00:56 |
ChrisD_ | ;) steps | 00:56 |
@sonney2k | ChrisD_, I found it | 00:56 |
@sonney2k | it should be if (code) not if (!code) | 00:56 |
CIA-3 | shogun: Soeren Sonnenburg master * r90d5064 / src/shogun/kernel/Kernel.cpp : fix multithreading error w/ svr light - http://git.io/VVXcFA | 00:59 |
@sonney2k | ChrisD_, ^ patch | 00:59 |
ChrisD_ | sonney2k, thanks, also comes with a slight optimization :) | 01:04 |
@sonney2k | well... | 01:04 |
@sonney2k | blackburn, I mean look at lapack.h it only contains wrapper functions for lapack - so it would be very natural to assume that arpack /superlu does the same. I understand that superlu is not too well designed and has to be worked around but the code that uses arpack etc for whatever algorithm should not really be in there | 01:07 |
@sonney2k | ChrisD_, if it works please post success on the ML | 01:07 |
@sonney2k | others will appreciate it :) | 01:07 |
ChrisD_ | not in channel? | 01:07 |
blackburn | sonney2k: let it stay as it is now, at least for now | 01:07 |
@sonney2k | (when they search for the same thing) | 01:07 |
blackburn | we are crazy doing development friday's night | 01:09 |
CIA-3 | shogun: Sergey Lisitsyn master * r0f94ec8 / (2 files): Implement clapack single precision routines wrappers - http://git.io/dnKG_Q | 01:10 |
shogun-buildbot | build #308 of libshogun is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/308 | 01:13 |
blackburn | hooray! | 01:13 |
blackburn | sonney2k: have you any idea how to restrict <T> parameter with float32_t or float64_t? | 01:14 |
blackburn | sleep mode | 01:21 |
blackburn | see you | 01:21 |
-!- blackburn [~blackburn@188.168.4.53] has quit [Quit: Leaving.] | 01:21 | |
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.67.220.146.162] has quit [Ping timeout: 252 seconds] | 03:17 | |
-!- blackburn [~blackburn@188.168.4.189] has joined #shogun | 10:59 | |
@sonney2k | blackburn, just implement it for both | 12:21 |
CIA-3 | shogun: Sergey Lisitsyn master * ra945b61 / (9 files in 2 dirs): Made arpack wrapper templated, updated preprocessors according to new structure - http://git.io/BeW-Bg | 14:02 |
CIA-3 | shogun: Sergey Lisitsyn master * r3f082b3 / (2 files): Updated ARPACK and LAPACK libshogun examples - http://git.io/DghCwg | 14:02 |
blackburn | sonney2k: https://github.com/shogun-toolbox/shogun/blob/a945b61abe960bc54673c2fa6ee9f443e9fca43d/src/shogun/mathematics/arpack.h | 14:03 |
blackburn | you should be satisfied :) | 14:03 |
blackburn | a little | 14:03 |
shogun-buildbot | build #310 of libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/310 blamelist: blackburn91@gmail.com | 14:08 |
CIA-3 | shogun: Sergey Lisitsyn master * r3d5000c / src/shogun/mathematics/arpack.cpp : Added common.h include for arpack wrap impl - http://git.io/dtnanA | 14:16 |
CIA-3 | shogun: Sergey Lisitsyn master * r7314daf / src/shogun/preprocessor/DimensionReductionPreprocessor.cpp : Fixed wrong effective target dimensionality threshold - http://git.io/anRgTg | 14:17 |
-!- swvist [75d3564b@gateway/web/freenode/ip.117.211.86.75] has joined #shogun | 14:35 | |
-!- swvist [75d3564b@gateway/web/freenode/ip.117.211.86.75] has quit [Quit: Page closed] | 14:40 | |
CIA-3 | shogun: Sergey Lisitsyn master * re338daa / (2 files): Fixed and improved KLLE - http://git.io/fShWKw | 17:17 |
shogun-buildbot | build #315 of libshogun is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/315 | 17:26 |
@sonney2k | blackburn, thx | 18:30 |
blackburn | sonney2k: around? | 19:13 |
blackburn | need your kernel experience :) | 19:15 |
blackburn | found solution! | 19:24 |
blackburn | double centering! | 19:26 |
blackburn | hohoh | 19:26 |
@sonney2k | blackburn, double centering? | 19:42 |
@sonney2k | as in twice? | 19:42 |
blackburn | sonney2k: twice? | 19:42 |
@sonney2k | double? | 19:42 |
blackburn | yes | 19:42 |
blackburn | like CMath::center_matrix do | 19:42 |
blackburn | does | 19:42 |
blackburn | * | 19:42 |
@sonney2k | 2 times? | 19:43 |
blackburn | sonney2k: no, it is called double centering | 19:43 |
blackburn | as I have seen.. | 19:43 |
@sonney2k | I don't understand... | 19:43 |
blackburn | sonney2k: I would better tell you the problem I had | 19:43 |
@sonney2k | you don't need to use the kernel normalizer? | 19:43 |
@sonney2k | for centering I mean? | 19:43 |
blackburn | nooo | 19:43 |
blackburn | in the LTSA algorithm | 19:43 |
blackburn | there are some trick to make error matrix have zero mean | 19:44 |
@sonney2k | ok | 19:44 |
blackburn | for every X vector mean vector C is subtracted | 19:44 |
blackburn | and then X'X eigenvectors are being computed | 19:44 |
blackburn | sonney2k: then X'X is a gram matrix | 19:45 |
CIA-3 | shogun: Soeren Sonnenburg master * r85dadcf / (6 files in 2 dirs): move inline functions from .h to .cpp - http://git.io/deFY2w | 19:45 |
blackburn | sonney2k: is it clear what I mean? I got cumbersome english :D | 19:45 |
@sonney2k | ok and then? | 19:46 |
blackburn | sonney2k: if I want to do it kernelized | 19:46 |
@sonney2k | I see | 19:46 |
blackburn | I can't get the mean vector C | 19:46 |
@sonney2k | we have a kernel normalizer for that | 19:46 |
blackburn | sonney2k: I have to do it for submatrices of kernel matrix | 19:46 |
blackburn | so not a solution | 19:46 |
@sonney2k | ZeroMeanCenterKernelNormalizer | 19:46 |
blackburn | sonney2k: there are N such submatrices of shape m_k by m_k | 19:47 |
@sonney2k | well you could create a customkernel and then use this normalizer on top... | 19:47 |
blackburn | would be slower to use new kernel for all of them | 19:47 |
@sonney2k | why? | 19:48 |
@sonney2k | custom kernel just copies data ptr to matrix | 19:48 |
@sonney2k | anyway if you have a solution fine | 19:48 |
blackburn | sonney2k: why not to just call center_matrix? | 19:48 |
@sonney2k | if that works for you - all good | 19:48 |
blackburn | sonney2k: do you have any idea how to avoid lists like | 19:48 |
blackburn | parameters[t].x | 19:49 |
blackburn | parameters[t].y | 19:49 |
blackburn | parameters[t].z | 19:49 |
blackburn | ? | 19:49 |
@sonney2k | I again don't understand | 19:49 |
blackburn | haha | 19:49 |
@sonney2k | it is missing context | 19:49 |
blackburn | sonney2k: have you seen threading in my preprocs? | 19:50 |
@sonney2k | I see | 19:50 |
@sonney2k | then I also would love to learn how to avoid this :) | 19:50 |
blackburn | sonney2k: constructor for thread? | 19:50 |
blackburn | param* | 19:50 |
@sonney2k | I mean I know that one can init structs in one go by specifying all the elements | 19:50 |
@sonney2k | not sure if that is better though | 19:50 |
blackburn | better | 19:51 |
@sonney2k | you should google for the exact syntax | 19:51 |
blackburn | sonney2k: is it possible to LTSA_THREAD_PARAM(x,y,z,t)? | 19:51 |
blackburn | okay I see | 19:51 |
blackburn | I was writing constructor hehe | 19:51 |
@sonney2k | sth like this | 19:51 |
@sonney2k | blackburn, http://linuxprograms.wordpress.com/2008/03/07/c-structure-initialization-advanced/ | 19:52 |
@sonney2k | that is how one can do it | 19:52 |
blackburn | thanks | 19:52 |
blackburn | sonney2k: the good thing about this double centering: we will have two new methods | 19:52 |
blackburn | not available anywhere | 19:52 |
blackburn | I've never seen ever idea of doing such kernel extension of the LTSA | 19:53 |
blackburn | sonney2k: crazy syntax! | 19:56 |
-!- blackburn [~blackburn@188.168.4.189] has quit [Read error: Operation timed out] | 20:10 | |
-!- blackburn [~blackburn@188.168.5.80] has joined #shogun | 20:11 | |
-!- blackburn [~blackburn@188.168.5.80] has quit [Ping timeout: 252 seconds] | 20:29 | |
-!- blackburn [~blackburn@188.168.4.116] has joined #shogun | 20:30 | |
blackburn | sonney2k: what's up with heiko's stuff? will you fix it? | 20:38 |
-!- blackburn [~blackburn@188.168.4.116] has quit [Read error: Connection reset by peer] | 20:42 | |
-!- blackburn1 [~blackburn@188.168.4.116] has joined #shogun | 20:42 | |
--- Log closed Sun Oct 02 00:00:52 2011 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!