Open in new window / Try shogun cloud
--- Log opened Sat Oct 01 00:00:48 2011
@sonney2kblackburn what happened?00:10
@sonney2kwhy are you quoting?00:10
blackburnsonney2k: too much sentences to answer without quoting :)00:10
@sonney2kblackburn, I see00:11
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]00:11
@sonney2kblackburn, btw regarding the bias00:11
@sonney2kI thought it would be easiest to just return an array for all fprs00:11
@sonney2kthat matches the tprs/fprs00:11
@sonney2kthen one could easily pick00:11
@sonney2ksame for prc00:11
blackburnsonney2k: I don't understand :)00:11
blackburnisn't it returned in ROC graph?00:12
@sonney2kwhen you have a roc curve each point corresponds to a certain bias00:12
@sonney2kblackburn, roc graph just returns fpr / trp00:12
@sonney2kand array of fprs/trps00:12
@sonney2kbut not the bias that is needed to achieve a certain fpr00:12
blackburnsonney2k: how to compute that?00:13
@sonney2kerr fpr/tpr combination00:13
@sonney2kIIRC you have the outputs of the classifier sorted right?00:13
@sonney2kso when you consider output[i] it should be the bias00:14
@sonney2kgood thing is that you can double check w/ contingency table evaluator00:14
blackburnsonney2k: so just store sorted labels?00:16
@sonney2kblackburn, regarding arpack.h - why does it not work? I mean you could just template the respective arpack functions00:16
@sonney2kblackburn, yes I think so00:16
blackburnsonney2k: superlu files slu_ddefs.h (double defines) and slu_sdefs (single defines) can't be included at the same time00:16
@sonney2kwhy defines?00:17
blackburnsonney2k: I need that file to be included to use superlu00:17
@sonney2kwhere is that file?00:17
@sonney2kin shogun?00:17
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.] has joined #shogun00:18
blackburne.g. /usr/include/superlu/slu_ddefs.h on my machine00:18
@sonney2kwhat happens if you include both?00:18
blackburnsonney2k: some functions are defined in both of them00:19
blackburn-> compilation fail00:19
@sonney2kwhich one?00:19
blackburnsonney2k: e.g. GlobalLU_t structure00:21
blackburnmem_usage_t, ..00:21
@sonney2kI see00:21
blackburnso the best way I see is to describe it templated in arpack.h00:22
@sonney2kthen you really have to do it in separete files00:22
blackburnand arpack_d, arpack_s00:22
@sonney2kbut why does this appear in arpack?00:22
@sonney2knot some superlu.h in shogun/mathematics/*00:22
blackburnsonney2k: well there was no need to describe it in superlu.h00:23
blackburnsonney2k: the only content of the mathematics/superlu.h could be "#include <superlu/slu_ddefs.h>"00:24
blackburnanother way is to rewrite all the functions once again to make s/d supported00:24
@sonney2kI mean it is not arpack that needs two different files but only superloo00:24
blackburnsonney2k: yes but there is no way to use it generally in *one* arpack.cpp00:26
blackburnso I think it is ok00:26
@sonney2kone templated function00:26
blackburnsonney2k: there?00:27
@sonney2kand then you just call the superlu stuff from there00:27
CIA-3shogun: Sergey Lisitsyn master * r57e582d / src/shogun/mathematics/arpack_d.cpp : Fixed wrong include at arpack double -
blackburnokay, example: dCreateCompColMatrix(..) and sCreateCompColMatrix(..)00:27
blackburnthe only way I see is to describe CreateCompColMatrix<?>00:28
blackburnbut there are a lot of functions00:28
@sonney2kand implement it for double and single00:28
blackburnI have to shadow all the interface funcs of superlu00:29
blackburnI don't like to do that (at least now)00:29
@sonney2khow many do you need00:29
@sonney2kbtw, one unrelated minor thing - please don't indent #ifdefs00:30
blackburnsonney2k: ~5-7, what is the advantage of doing that?00:30
@sonney2kI would say it is much more readable plus not twice the same code00:30
@sonney2keven now superlu stuff should be in an extra file00:31
blackburnsonney2k: there would be templated functions for blas, lapack, arpack and superlu00:31
blackburnevery blas/lapack/arpack routine I use there would be shadowed with some template function00:32
blackburnI would say it is better to stay it duplicated00:32
blackburncode dup is bad but this solution is pretty cumbersome00:33
@sonney2kok 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 SUPERLU00:34
blackburnsonney2k: how can I have one arpack.cpp?!00:35
@sonney2kthere is no clash in arpack / blas / lapack right?00:35
@sonney2konly superlu00:36
blackburnsonney2k: so?00:36
@sonney2kso when you extract the superlu code you can have one00:36
blackburnsonney2k: how?00:36
blackburnthere would be naming clash still00:36
@sonney2kwhich ?00:37
@sonney2kbut superlu stuff is in superlu_double / superlu_float00:37
@sonney2kso how can there be a clash?00:37
blackburnif I have one arpack.cpp I will need both _double _float to be included00:37
blackburnand what should I define in superlu_double to avoid clash?00:38
@sonney2kyou don't need to include the superlu headers in the superlu_double/float file00:38
@sonney2ksuperlu_double.h that is00:38
blackburn?! what to include in superlu_double then?00:39
@sonney2knothing, just define the needed functions00:40
@sonney2kand in superlu_double.cpp do the include + implementation00:41
blackburnsonney2k: e.g. SuperMatrix would be defined in both of them00:42
blackburnbut contents are float or double according to included header00:42
blackburnI'm not a big fan of doing this because no chance to get superlu used somewhere else00:43
@sonney2kbut you don't need SUperMatrix in any file other than SuperLU*.cpp00:44
blackburnsonney2k: I use it right in arpack wrapper00:45
blackburnSuperMatrix slu_A, slu_L, slu_U, slu_B, slu_X;00:45
blackburnsuperlu_options_t options;00:45
blackburnSuperLUStat_t stat;00:45
@sonney2kyeah that code should go into superlu*.cpp00:45
@sonney2kthat is what I said00:45
blackburnsonney2k: I can't see any way to hide it00:45
blackburnsonney2k: okay let me explain00:46
blackburnI need to matrix be factorized first00:46
blackburnthen I need to solve system in every iteration00:46
blackburnI can't just call some superlu_solve for matrix00:47
blackburnI need to replace contents of vectors b and x (in eq. Ab=x)00:48
blackburnand to solve00:48
blackburnthat is the fastest way and I can't store factored matrix and vectors in superlu format in some superlu.cpp00:48
@sonney2kso then you write some replace function that does the replacement in superlu00:51
blackburnsonney2k: anyway I need to store matrices, parameters, etc00:52
@sonney2kyes the relevant ones in superlu - it is no solution to clutter arpack with this00:52
@sonney2ks/no solution/no nice solution/00:53
ChrisD_sonney2k: I just checked and it is indeed the same error.00:54
@sonney2kblackburn, it is like implementing CKernel in CSVM00:54
@sonney2kChrisD_, ok00:55
blackburnsonney2k: you want too nice solution, it is already specialized to many other things, not only superlu00:55
@sonney2kChrisD_, so we at least have a way to trigger it00:55
@sonney2kbut no idea how to fix it00:55
@sonney2kI neither understand why we get 'success as error'00:56
ChrisD_;) steps00:56
@sonney2kChrisD_, I found it00:56
@sonney2kit should be if (code) not if (!code)00:56
CIA-3shogun: Soeren Sonnenburg master * r90d5064 / src/shogun/kernel/Kernel.cpp : fix multithreading error w/ svr light -
@sonney2kChrisD_, ^ patch00:59
ChrisD_sonney2k, thanks, also comes with a slight optimization :)01:04
@sonney2kblackburn, 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 there01:07
@sonney2kChrisD_, if it works please post success on the ML01:07
@sonney2kothers will appreciate it :)01:07
ChrisD_not in channel?01:07
blackburnsonney2k: let it stay as it is now, at least for now01:07
@sonney2k(when they search for the same thing)01:07
blackburnwe are crazy doing development friday's night01:09
CIA-3shogun: Sergey Lisitsyn master * r0f94ec8 / (2 files): Implement clapack single precision routines wrappers -
shogun-buildbotbuild #308 of libshogun is complete: Success [build successful]  Build details are at
blackburnsonney2k: have you any idea how to restrict <T> parameter with float32_t or float64_t?01:14
blackburnsleep mode01:21
blackburnsee you01:21
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]01:21
-!- ChrisD_ [43dc92a2@gateway/web/freenode/ip.] has quit [Ping timeout: 252 seconds]03:17
-!- blackburn [~blackburn@] has joined #shogun10:59
@sonney2kblackburn, just implement it for both12:21
CIA-3shogun: Sergey Lisitsyn master * ra945b61 / (9 files in 2 dirs): Made arpack wrapper templated, updated preprocessors according to new structure -
CIA-3shogun: Sergey Lisitsyn master * r3f082b3 / (2 files): Updated ARPACK and LAPACK libshogun examples -
blackburnyou should be satisfied :)14:03
blackburna little14:03
shogun-buildbotbuild #310 of libshogun is complete: Failure [failed compile]  Build details are at  blamelist: blackburn91@gmail.com14:08
CIA-3shogun: Sergey Lisitsyn master * r3d5000c / src/shogun/mathematics/arpack.cpp : Added common.h include for arpack wrap impl -
CIA-3shogun: Sergey Lisitsyn master * r7314daf / src/shogun/preprocessor/DimensionReductionPreprocessor.cpp : Fixed wrong effective target dimensionality threshold -
-!- swvist [75d3564b@gateway/web/freenode/ip.] has joined #shogun14:35
-!- swvist [75d3564b@gateway/web/freenode/ip.] has quit [Quit: Page closed]14:40
CIA-3shogun: Sergey Lisitsyn master * re338daa / (2 files): Fixed and improved KLLE -
shogun-buildbotbuild #315 of libshogun is complete: Success [build successful]  Build details are at
@sonney2kblackburn, thx18:30
blackburnsonney2k: around?19:13
blackburnneed your kernel experience :)19:15
blackburnfound solution!19:24
blackburndouble centering!19:26
@sonney2kblackburn, double centering?19:42
@sonney2kas in twice?19:42
blackburnsonney2k: twice?19:42
blackburnlike CMath::center_matrix do19:42
@sonney2k2 times?19:43
blackburnsonney2k: no, it is called double centering19:43
blackburnas I have seen..19:43
@sonney2kI don't understand...19:43
blackburnsonney2k: I would better tell you the problem I had19:43
@sonney2kyou don't need to use the kernel normalizer?19:43
@sonney2kfor centering I mean?19:43
blackburnin the LTSA algorithm19:43
blackburnthere are some trick to make error matrix have zero mean19:44
blackburnfor every X vector mean vector C is subtracted19:44
blackburnand then X'X eigenvectors are being computed19:44
blackburnsonney2k: then X'X is a gram matrix19:45
CIA-3shogun: Soeren Sonnenburg master * r85dadcf / (6 files in 2 dirs): move inline functions from .h to .cpp -
blackburnsonney2k: is it clear what I mean? I got cumbersome english :D19:45
@sonney2kok and then?19:46
blackburnsonney2k: if I want to do it kernelized19:46
@sonney2kI see19:46
blackburnI can't get the mean vector C19:46
@sonney2kwe have a kernel normalizer for that19:46
blackburnsonney2k: I have to do it for submatrices of kernel matrix19:46
blackburnso not a solution19:46
blackburnsonney2k: there are N such submatrices of shape m_k by m_k19:47
@sonney2kwell you could create a customkernel and then use this normalizer on top...19:47
blackburnwould be slower to use new kernel for all of them19:47
@sonney2kcustom kernel just copies data ptr to matrix19:48
@sonney2kanyway if you have a solution fine19:48
blackburnsonney2k: why not to just call center_matrix?19:48
@sonney2kif that works for you - all good19:48
blackburnsonney2k: do you have any idea how to avoid lists like19:48
@sonney2kI again don't understand19:49
@sonney2kit is missing context19:49
blackburnsonney2k: have you seen threading in my preprocs?19:50
@sonney2kI see19:50
@sonney2kthen I also would love to learn how to avoid this :)19:50
blackburnsonney2k: constructor for thread?19:50
@sonney2kI mean I know that one can init structs in one go by specifying all the elements19:50
@sonney2knot sure if that is better though19:50
@sonney2kyou should google for the exact syntax19:51
blackburnsonney2k: is it possible to LTSA_THREAD_PARAM(x,y,z,t)?19:51
blackburnokay I see19:51
blackburnI was writing constructor hehe19:51
@sonney2ksth like this19:51
@sonney2kthat is how one can do it19:52
blackburnsonney2k: the good thing about this double centering: we will have two new methods19:52
blackburnnot available anywhere19:52
blackburnI've never seen ever idea of doing such kernel extension of the LTSA19:53
blackburnsonney2k: crazy syntax!19:56
-!- blackburn [~blackburn@] has quit [Read error: Operation timed out]20:10
-!- blackburn [~blackburn@] has joined #shogun20:11
-!- blackburn [~blackburn@] has quit [Ping timeout: 252 seconds]20:29
-!- blackburn [~blackburn@] has joined #shogun20:30
blackburnsonney2k: what's up with heiko's stuff? will you fix it?20:38
-!- blackburn [~blackburn@] has quit [Read error: Connection reset by peer]20:42
-!- blackburn1 [~blackburn@] has joined #shogun20:42
--- Log closed Sun Oct 02 00:00:52 2011