IRC logs of #shogun for Thursday, 2011-04-14

--- Log opened Thu Apr 14 00:00:36 2011
-!- alesis-novik [~alesis@188.74.87.84] has joined #shogun02:12
-!- josip [~josip@unaffiliated/josip] has joined #shogun02:13
-!- serialhex [~quassel@99-101-149-136.lightspeed.wepbfl.sbcglobal.net] has quit [Remote host closed the connection]06:16
-!- serialhex [~quassel@99-101-149-136.lightspeed.wepbfl.sbcglobal.net] has joined #shogun06:17
-!- siddharth [~siddharth@117.211.88.150] has quit [Read error: Connection reset by peer]07:08
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun07:14
-!- siddharth [~siddharth@117.211.88.150] has joined #shogun07:16
-!- Tanmoy [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun08:32
-!- blackburn [~qdrgsm@188.168.4.102] has joined #shogun08:50
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Quit: Page closed]09:39
alesis-novikDamn it, I totally forgot that sleeping is kind of important!09:49
blackburn:D09:51
* sonney2k just noticed the same thing09:52
alesis-novikI'll continue my work..... today as the case may be.09:52
@sonney2kEndlessly yawning was never part of the plan09:52
alesis-novikGood...morning? Time for some rest09:53
alesis-novikSee you all later09:53
blackburnsee you09:53
blackburnsonney2k: why do you use train? do you work far from home?09:54
blackburnjust remembered that and interested :)09:55
-!- Tanmoy [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Quit: Page closed]09:58
siddharthsonney2k, is there any matrix multiplication function in shogun?10:01
siddharthlike there is dot product for vectors10:03
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun11:22
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Ping timeout: 252 seconds]11:40
-!- josip [~josip@unaffiliated/josip] has quit [Ping timeout: 258 seconds]11:54
-!- josip [~josip@212.201.44.245] has joined #shogun11:55
-!- josip [~josip@212.201.44.245] has quit [Ping timeout: 260 seconds]12:00
-!- josip [~josip@212.201.44.245] has joined #shogun12:00
-!- josip [~josip@212.201.44.245] has quit [Changing host]12:00
-!- josip [~josip@unaffiliated/josip] has joined #shogun12:00
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun12:06
blackburnsonney2k: for some reason there is a EPreProcType in Preproc.h and it is _not_ used, but 'FOUR letter id' is used12:27
blackburnam I right I should refactor it to use EPreProcType?12:28
@sonney2kYes makes sense.12:29
blackburnsonney2k: what you mind about new abstract class CDimReductionPreproc?12:30
@sonney2kThe 4 letter stuff is legacy code to dump the object. This can go away12:30
@sonney2kNo. You could reuse code this way too12:31
blackburnI mean it could be inherited from CSimplePreproc12:32
blackburndoesn't make sense to you?12:36
@sonney2kblackburn, was typing the above from my mobile...12:44
@sonney2kI was thinking it might make sense to have a general preproc for DotFeatures12:45
blackburnhm..12:45
@sonney2kbut then again one cannot preprocess a feature matrix (only for simple features)12:45
blackburni see, will mind it12:46
@sonney2kso it makes sense to have something on top12:46
@sonney2kbut dim reduction methods in the end give you some transformation function to extract or compute a subset of features12:47
@sonney2k(since you yesterday were so upset about KFA - it is also just a dim reduction method)12:48
blackburnehh, was I upset about kfa? :)12:48
blackburnI just said I'm not applying on KFA's task12:48
@sonney2kblackburn, true. but you are applying to do dim reduction methods and KFA is also one heh12:50
blackburnsonney2k: if things will go fast may be I could implement KFA too (if there will no student doing it), no problem12:50
blackburnjust wondering about I was upset about KFA :)12:50
* sonney2k needs to take lessons in non-offensive wording12:51
blackburnI really don't remember I talked about KFA! :D12:51
blackburnthe only thing was your question 'KFA?' and I answered something about I'm applying to other idea12:54
blackburnah, whatever :)12:54
* sonney2k is going through the most recent pull requests12:56
* blackburn will make a pull request in 5 minutes in case everything is compiling now12:58
-!- heiko1 [~heiko@infole-06.uni-duisburg.de] has joined #shogun13:02
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Ping timeout: 252 seconds]13:05
@sonney2kheiko1, nice work. I have a few more comments though (just going through the patch)13:22
heiko1hey there13:22
@bettyboohey heiko113:22
heiko1ok13:22
heiko1I also just found some errors13:22
heiko1pyhton_modular does not compile with the current13:23
heiko1But i only compile libshogun at the moment because it takes so long on my slow machine :)13:23
-!- heiko1 is now known as heiko13:23
@sonney2kI thought it compiles13:24
* sonney2k checks13:24
heikosorry only for libshogun13:24
heikothere is aproblem with the templates for SGInterface13:24
@sonney2kmine compiles...13:24
heikono I meant my pull request repo13:24
blackburnI have a problem with 'Kernel.py', do you have one?13:24
@sonney2kheiko, I see13:25
@sonney2kblackburn, that doesn't exist in the source13:25
blackburnUnable to open file Kernel.py: Permission denied13:25
blackburnmake[1]: *** [Kernel_wrap.cxx] Error 113:25
blackburnmake[1]: Leaving directory `/home/qdrgsm/Documents/GSoC-SHOGUN/shogun_myfork/shogun/src/python_modular'13:25
blackburnsonney2k: aha, but for some reason Kernel_wrap.cxx 'want it'13:25
@sonney2kthen erase Kernel_wrap.cxx13:25
blackburnok13:26
heikosonney2k I dont understand why you want virtual int32_t get_num_vectors_all() {return  get_num_vectors();}13:26
@sonney2kI thought that num_vectors == num_vectors_total if no subset exists.13:27
@sonney2kand you will be overloading that function for all feature classes that support sub-indexing if I understand correctly13:28
@sonney2kwhat do you propose?13:28
heikoyes, but what if one wants to have the number of all vecs if a subset exists13:29
* sonney2k just now wants to change all of typemaps in shogun to actually create copies of the data themselves13:29
@sonney2kheiko, ahh, it will be overloaded in the classes that support it to return a variable num_vec_total13:30
heikoyes indeed13:30
heikoand it stays like your verison in the classes that do not support subsets yet13:30
blackburnheiko: do you have MANY warnings of StringFeatures.h?13:31
heikoyes13:31
-!- josip [~josip@unaffiliated/josip] has quit [Quit: Lost terminal]13:33
heikosonney2k, do you use any code formater for coding style?13:33
heikoI think it would be great to have one (at least for braces, white space, 80symbols per line etc)13:35
@sonney2kheiko, I am through the patch now13:38
@sonney2kheiko, no unfortunately no13:38
@sonney2ktab size = 4 / no spaces13:38
@sonney2kand what I wrote in README.Developer13:38
blackburnoh, damn, it compiles slow with all these warnings13:39
@sonney2kheiko, I think you still need this num_vectors_total function and then ok13:39
@sonney2kblackburn, which warnings?13:39
heikoI read this, but its hard to change your habits :) sometomes I oversee things because I am used to other styles, however ;)13:39
blackburnsonney2k: ../shogun/features/StringFeatures.h:1267: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result13:39
@sonney2kheiko, I agree difficult13:39
@sonney2kblackburn, hmmhh13:39
blackburnsonney2k: about 20 similar warnings for different lines13:40
blackburnha! even more13:40
@sonney2kis this in current code?13:40
blackburnsonney2k: seems so, because heiko have ones too13:40
@sonney2kblackburn, I need you opinion on sth13:40
@sonney2khave a bit of time?13:40
blackburnof course13:40
@sonney2kand now for sth completely different13:41
@sonney2kwe have all these swig wrapped interfaces and typemaps for them13:41
@sonney2kJust now when heiko was implementing this sub-setting I recognize that it has a big issue:13:41
@sonney2kit assumes that whenever a function set_vector(float64_*t vec, int32_t len) is wrapped that this function actually copies the data13:42
@sonney2know that is not something one wants to have inside C++13:42
@sonney2kwasting memory / cycles13:43
@sonney2kso I think that this part of the code should be in the interface code only13:43
@sonney2kblackburn, would you agree?13:43
blackburndon't pretty sure I understood a problem13:43
blackburnyou mean that if we set_vector in subset13:44
blackburnwe will have to copy it?13:44
@sonney2kblackburn, for all such functions not just subset13:44
@sonney2ke.g. in simplefeatures there is a set_feature_matrix and also a copy_feature_matrix function13:44
blackburnhm, why it should copy data?13:44
@sonney2kblackburn, when we come from python/octave/R/... we cannot easily borrow a pointer to that data13:45
@sonney2kit might get destroyed13:45
blackburnah13:45
blackburnsee now13:45
@sonney2kalso data representation might be totally different13:45
blackburnso when we try to use subset we have to keep a set?13:45
@sonney2kblackburn, same issue when returning a vector13:45
blackburnand 10 subsets of one set will produce 10 sets, right?13:46
@sonney2kblackburn, forget about the subset thing, just think in general terms like setting a vector and getting a vector for example.13:46
blackburnah13:46
blackburnokay13:46
-!- dvevre [b49531e3@gateway/web/freenode/ip.180.149.49.227] has joined #shogun13:47
@sonney2kthe problem is that now each function in libshogun has to have a copy_vector / set_vector function13:47
@sonney2khi dvevre, how is your online feature framework progressing ?13:47
@bettyboosonney2k, morning13:47
* sonney2k smacks betty13:47
dvevresonney2k: hi. just got back today.13:48
blackburnsonney2k: it is a non-proper way to do it, we have to make it encapsulated13:48
@sonney2kdvevre, sry I forgot13:48
dvevrei've made some basic stuff, hope to have something ready by tomorrow or so13:48
blackburnI have to go for a 10-15 minutes13:48
dvevreimplementing parser and training in two separate threads13:48
@sonney2kblackburn, I think the proper fix would be to do this in the typemaps13:49
@sonney2kdvevre, sounds good13:49
blackburnsonney2k: I'll mind it, ok? and will say something :)13:49
@sonney2ksonney2k, yes talk to you when you are back l8r13:49
@sonney2kdvevre, I hope you succeed :)13:50
@bettyboo;>13:50
dvevresonney2k: me too :)13:50
* blackburn is here13:57
blackburnsonney2k: but why we should use get/set for vectors in interfaces?13:57
@sonney2kblackburn, if you are in python and have a numpy matrix, you would want it to become a shogun simplefeature object right?13:58
blackburnaha13:58
blackburnand when numpy matrix becames simplefeature it is copied, right?13:59
blackburnsonney2k: but is there any another way?14:01
blackburnany other* :D14:02
@sonney2kblackburn, consider that we support several languages ... octave,r,python, and more to come - so I suspect not generally no14:02
@sonney2kfor python *maybe* one can set a feature object to read only or so14:02
@sonney2kbut though14:02
@sonney2ktough14:02
heikosonney2k, a question. there is a function get_features which returs a pointer to the feature array. I think this may not be supported with subsets, right?14:02
@sonney2kheiko, no - throw an error14:03
heikoill put an assert14:03
@sonney2kSG_ERROR("xxx")14:03
@sonney2kok14:03
blackburnsonney2k: and what can we do for solving it?14:04
heikooh another thing, there is a method copy_features .. here it might make sense to only copy the subset?14:04
@sonney2kheiko, yes14:05
@sonney2kblackburn, well what I would propose is to copy the data once but only in the interface code - not in libshogun/ code14:06
blackburnsonney2k: yeap, seems to be better14:06
@sonney2kblackburn, this way we only need one function set_features() not also copy_features()14:06
@sonney2kin libshogun14:07
blackburnunderstand now, if it is possible it would be exactly better14:07
@sonney2kblackburn, we have the same problem with get_features() though14:07
@sonney2kthis should return just the pointer and never a copy14:07
@sonney2kbut currently (because of my badly designed typemaps it copies)14:08
@sonney2kso I would do the same thing there too14:08
-!- bettyboo [~bettyboo@bane.ml.tu-berlin.de] has quit [Read error: Operation timed out]14:08
@sonney2kthis is a lot of work though - and will touch almost all code14:08
-!- bettyboo [~bettyboo@bane.ml.tu-berlin.de] has joined #shogun14:09
blackburnhm, why it will touch e.g. algorithms?14:09
-!- mode/#shogun [+o bettyboo] by ChanServ14:09
@sonney2kblackburn, algorithms return vectors too14:10
@sonney2ke.g. svm -> alphas14:10
blackburnah14:10
@sonney2klets think of the most convenient signature for these functions first14:10
@sonney2kvoid set_vector(float64_t* vec, int32_t len);14:11
@sonney2kI think set_* functions are pretty optimal14:11
@sonney2know for the ones doing get_*14:11
@sonney2kvoid get_vector(float64_t* &vec, int32_t &len); ?14:12
@sonney2k(it currently is  void get_vector(float64_t** vec, int32_t* len);14:12
blackburnyeap, float64_t* get_vector(int32_t &len) isn't so convenient14:12
blackburnso we have no another way :)14:12
blackburnsonney2k: don't you want to write a small wrapper to these vectors?14:13
@sonney2kwell void get_vector(float64_t* &vec, int32_t &len);14:13
@sonney2kblackburn, like void get_vector(T_VEC<float64_t> &vec)?14:13
blackburnyeap14:13
@sonney2kafk14:14
blackburnseems there will no serious overhead with using it14:14
blackburnwill be no*14:14
blackburnsonney2k: pull request with some refactoring of preproc is in github14:17
-!- dvevre [b49531e3@gateway/web/freenode/ip.180.149.49.227] has quit [Quit: Page closed]14:34
-!- dvevre [b49531e3@gateway/web/freenode/ip.180.149.49.227] has joined #shogun14:34
-!- dvevre_ [b49531e3@gateway/web/freenode/ip.180.149.49.227] has joined #shogun14:49
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun14:50
blackburnsonney2k: I started to work on kPCA from the blank :)15:10
@bettybooyep15:10
blackburnbettyboo: do you like it?15:10
blackburnhave to go now15:10
@bettybooblackburn: not something I'd like to have... I am not so rarely training on datasets that rarely once fit in memory15:10
blackburnsee you15:10
-!- blackburn [~qdrgsm@188.168.4.102] has quit [Quit: Leaving.]15:10
@sonney2kre15:16
CIA-8shogun: Sergey Lisitsyn master * ra9d9eaf / (15 files): Refactored preproc package for using EPreProcType enum - http://bit.ly/hODES815:19
CIA-8shogun: Heiko Strathmann master * r0bd912d / (2 files):15:21
CIA-8shogun: added getter for subset matrix that is swig compatible15:21
CIA-8shogun: small changed to std getter15:21
CIA-8shogun: method subset_idx_conversion() is now not pure virtual anymore15:21
CIA-8shogun: added comments - http://bit.ly/e1iCJa15:21
CIA-8shogun: Soeren Sonnenburg master * r166a5bc / (3 files): Merge branch 'master' of https://github.com/karlnapf/shogun - http://bit.ly/igIzav15:21
CIA-8shogun: Heiko Strathmann master * r601b8ab / src/libshogun/features/StringFeatures.h :15:21
CIA-8shogun: max_string_length adjustments with respect to subsets15:21
CIA-8shogun: copy_features() now works woth subsets15:21
CIA-8shogun: code cleanups - http://bit.ly/h7t6nU15:21
-!- CIA-8 was kicked from #shogun by bettyboo [flood]15:21
-!- CIA-110 [~CIA@208.69.182.149] has joined #shogun15:21
@sonney2kmlsec, could betty please not kill our CIA bot?15:22
@bettyboosonney2k: betty boo is a bot15:22
dvevre_:)15:22
@sonney2kwho would have thought that15:22
@mlsecwhat's the problem with cia and batty15:27
@sonney2kmlsec, batty is using her bat15:27
@sonney2kand kicking CIA15:27
@mlsecCIA-8 kicked from #shogun by bettyboo: flood15:28
@bettyboomlsec: kicked and bored you15:28
@mlseci don't see a problem ;) "kicked and bored you"15:28
@mlsecok seriously, it's a flood proteciton. i will raise the limit accordingly15:29
@mlsecso we can raise this to 30 messages in 60 seconds15:30
heikohi15:32
@bettybooyo heiko15:32
heikohi bettyboo ;)15:33
@bettybooheiko: machine learning rocks! {;)}15:33
-!- bettyboo [~bettyboo@bane.ml.tu-berlin.de] has quit [Remote host closed the connection]15:33
heikosonney2k, what about the typemaps? any news?15:33
-!- siddharth [~siddharth@117.211.88.150] has quit [Ping timeout: 248 seconds]15:34
@sonney2kheiko, no not yet15:34
heikoso, I need to change this setter?15:34
-!- bettyboo [~bettyboo@bane.ml.tu-berlin.de] has joined #shogun15:34
-!- mode/#shogun [+o bettyboo] by ChanServ15:34
heikobecause i want to build an example15:34
@sonney2knot easy to do in a few minutes either15:34
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Ping timeout: 252 seconds]15:34
@sonney2kthen yes change things for now - it will take me probably one full day to change the typemaps15:35
heikoalright15:35
@sonney2kand I cannot do this incrementally really - it is one big patch15:35
heikoso the parameters of the setter have to be pointers to scalars/matrix-pointers right?15:36
heikoand also, i was wondering what i have to do in this Features.i file to access the functions from python15:36
@sonney2kheiko, look at how it is done in features/SimpleFeatures (for get and copy feature_matrix15:39
@sonney2k)15:39
@sonney2kin the *.i file you have to add %apply (int32_t* IN_ARRAY1, int32_t DIM1) {(int32_t* subset_idx, int32_t subset_len)};15:41
@sonney2kthen the set_feature_subset function will work15:41
heikook so all functions with that signature then will work?15:41
@sonney2kheiko, btw subset_idx_conversion should be virtual15:41
@sonney2kyes15:42
@sonney2kyou want to override it later in stringfeatures right?15:42
@sonney2k(in both Features.h and StringFeatures.h)15:42
heikoah yes, i forgot15:43
heikowhich .i file do i need? modular or python_modular?15:44
@sonney2kheiko, same for set_feature_subset15:44
@sonney2kin StringFeatures15:44
@sonney2kmodular/Features.i15:44
@sonney2kthere is only one15:44
@sonney2kthe ones in *_modular are symlinks15:44
heikoah ok, did not see that in eclipse :)15:45
heikojust to be sure:15:49
heikothere are two functions for setting a feature vector in StringFeatures:15:49
heikoset_feature_vector(int32_t num, ST* string, int32_t len)15:49
heikoset_feature_vector(ST* src, int32_t len, int32_t num)15:49
heikoone copies, and one doies not15:49
heikobut the signature has to be different because of swig?15:50
@sonney2kheiko, yes15:53
@sonney2kthat will go away when I will have done this part of the refactoring15:53
@sonney2kno idea when though15:53
@sonney2kheiko, if you do fixes like the virtual one etc - please always try to keep the patches small15:54
@sonney2kit is much more readable for me this way (reviewing takes lots of time too ...)15:55
heikook15:55
heikocompile time is so long :( i always have to wait for ages to see if the changes compile somoothly :)15:55
@sonney2kheiko, install ccache15:56
@sonney2kand --enable-debug --disable-optimization15:56
* sonney2k recompiles15:56
@sonney2k.15:56
@sonney2k.15:56
@sonney2k.15:56
@sonney2kdone15:56
heikook, i will try this15:57
heikooh i see there already is a line in the Features.i file :)16:06
@sonney2kfor subset_idx ?16:07
heikois the parameter name important?16:07
heiko%apply (uint32_t* IN_ARRAY1, int32_t DIM1) {(uint32_t* src, int32_t len)};16:07
@sonney2ksure16:07
heikooh sorry16:07
heiko(this stuff is new to me)16:07
@sonney2knot really sth one wants to deal about when doing algorithm design16:08
@sonney2ks/about/with16:09
heikohehe yes indeed :)16:09
heikooh, do you care about the int32_t uint32_t types?16:09
heikobecause i only used int32_t16:09
heikobut only indices are stored16:10
@sonney2kwe (currently) use int32_t for indices16:10
heikook nice16:10
heikothis should be the line for the getter right?16:12
heiko(int32_t** subset_idx, int32_t* subset_len)16:12
heikosorry16:12
heiko%apply (int32_t** ARGOUT2, int32_t* DIM1) {(int32_t** subset_idx, int32_t* subset_len)};16:12
@sonney2kyes16:13
@sonney2kwait argout116:14
@sonney2kit is only a vector so 1-dimentsional16:14
heikoah yes sorry16:14
heikopull request is out16:20
heikoi am going home now16:20
heikohave a nice evening16:20
-!- heiko [~heiko@infole-06.uni-duisburg.de] has left #shogun []16:21
@mlsecwhoah. every conversation is full of code snippets16:28
@mlsechopefully betty is tracking all this code for later fun16:30
@bettyboomlsec: anyway, I have no problem with doing this, may I ask you later about some details of it by email or in irc?16:30
@mlsecyes, of course!16:31
* sonney2k wonders when betty will pass the turing test16:32
@sonney2kerr did pass the turing test16:32
@mlsecshe passed already16:33
@mlsecshe convinced the committee with her profound knowledge of c++ coding and machine learning algorithms16:34
@mlsecbettyboo, you are an c++ expert right?16:34
@bettyboomlsec: well it still needs to be found in the interfaces right? So you changed that too?16:34
@mlsechmm16:34
* sonney2k wonders what his well count is16:35
@mlsecwell count?16:35
@sonney2knr of times I am saying 'well'16:36
@mlsecis it a measure of confusion?16:37
@sonney2kI suspect so16:40
@mlsecbettyboo: did you know that any 2-class svm can be used as a one-class svm if only one class is provided and no bias term is learned?16:50
@bettyboomlsec: ah! http://help.github.com/fork-a-repo/16:50
@mlsecbettyboo: marius told me so, i need check this now. seems strange16:50
@bettyboomlsec: i think i saw at least one person on the mailing list talking about his PhD & working on this...16:50
@mlsecah, a phd student takes care of this already!16:51
@mlsec!calc sqrt((0.73 * 0.73) * 2)17:03
alesis-novikGood morning17:13
alesis-noviksonney2k, did you have a chance to view my pull request?17:14
* mlsec waiting for compilation of m2crypto and soapy to finish17:28
-!- dvevre_ [b49531e3@gateway/web/freenode/ip.180.149.49.227] has quit [Quit: Page closed]17:48
-!- dvevre_ [b49531e3@gateway/web/freenode/ip.180.149.49.227] has joined #shogun17:49
-!- dvevre [b49531e3@gateway/web/freenode/ip.180.149.49.227] has quit [Ping timeout: 252 seconds]18:06
alesis-novikI'll be Bach later, any comments on the code will be appreciated18:17
-!- alesis-novik [~alesis@188.74.87.84] has quit [Quit: I'll be Bach]18:17
@mlsecsee you, Bach!18:23
@mlsec^_^18:23
-!- dvevre_ [b49531e3@gateway/web/freenode/ip.180.149.49.227] has quit [Quit: Page closed]18:37
CIA-110shogun: Soeren Sonnenburg master * r5eebbac / src/configure :18:42
CIA-110shogun: Fix configure to disable any kind of optimization18:42
CIA-110shogun: ...when --disable-optimization is selected. - http://bit.ly/dMtcxE18:42
CIA-110shogun: Soeren Sonnenburg master * r67272f1 / src/libshogun/preproc/KernelPCACut.cpp : fix typo - it is KPCA*CUT* - http://bit.ly/h6ooDv18:42
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has joined #shogun18:43
CIA-110shogun: Soeren Sonnenburg master * rd1be826 / src/libshogun/classifier/Perceptron.cpp : Merge branch 'master' of https://github.com/kisa12012/shogun - http://bit.ly/f14eiU18:49
serialhexsonney2k: did you get my e-mail?18:52
CIA-110shogun: Soeren Sonnenburg master * r65d3d14 / src/libshogun/classifier/Perceptron.cpp : whitespace fix - http://bit.ly/gxb5xj18:53
@sonney2kserialhex, I don't think so / when did you send it?18:54
@sonney2kserialhex, ok I got it18:54
@sonney2kdidn't read it18:54
@sonney2kye18:54
@sonney2kt18:54
@sonney2kserialhex, now the variable name is variance right?18:55
@sonney2kso just rename it into std_dev18:56
serialhexok... i thought so18:56
* serialhex makes changes to docs18:56
@sonney2kand to variable name I hope :)18:56
serialhexyes, that too :D18:57
-!- dvevre_ [b49531e3@gateway/web/freenode/ip.180.149.49.227] has joined #shogun19:00
serialhexsonney2k: sent pull request19:03
serialhexi figured that i'd also add the docs to the beginning of the float64_t version also, as that's how it is in the rest of the code19:09
-!- yayo3 [~jakub@ip-78-45-113-245.net.upcbroadband.cz] has joined #shogun19:24
-!- blackburn [~qdrgsm@188.168.3.124] has joined #shogun19:34
-!- alesis-novik [~alesis@188.74.87.84] has joined #shogun19:54
alesis-noviksonney2k, I saw the comments you did, I'll make the changes now19:54
yayo3hey, can someone test ExponentialKernel please?19:56
alesis-novikAlso, for the empty constructor the idea was to make a 1-dimensional 0 mean 1 variance Gaussian distribution19:56
blackburnyayo3: what do you mean saying 'test'?19:56
yayo3I tested it from python modular interface and it seems to crash. I'm rebuilding it now to be sure it's not on my side19:56
blackburnqdrgsm@blackburn-R519:~/Documents/GSoC-SHOGUN/shogun_myfork/shogun/examples/undocumented/python_modular$ python kernel_exponential_modular.py19:57
blackburnExponential19:57
blackburndoesn't crash on my19:57
yayo3right. shogun rebuild then19:58
blackburnanyway working20:00
alesis-novikDo I need to add all fields for serialization? Or just the "important" ones, because some of the others are derived and stored for faster execution?20:05
-!- akhil_ [75d35896@gateway/web/freenode/ip.117.211.88.150] has quit [Quit: Page closed]20:13
yayo3alesis-novik: I'd guess you need to either store everything, or recompute them on reserialization20:20
yayo3but I'm no sonney2k :)20:20
alesis-novikI probably didn't search well enough, but if anyone can tell me how to serialize matrices of vectors (as in pointers), it would be helpful20:27
blackburnjust like vector, I guess20:29
alesis-novikblackburn, as in?20:37
blackburnhm..20:38
blackburnwill look for some example20:38
blackburnalesis-novik: there is methods of m_parameters: add_vector(..) and add_matrix(..)20:40
blackburnjust use it20:40
alesis-novikmany thanks blackburn20:40
blackburnnp :)20:41
yayo3hmm20:41
alesis-novikblackburn, thoughts on adding everything or just essentials for serialization?20:41
yayo3it appears the testfiles link to ../data but need files in ../data/toy20:42
blackburnyayo3: yeap, don't understand it too20:42
blackburnalesis-novik: I don't pretty sure20:42
blackburnalesis-novik: for example https://github.com/shogun-toolbox/shogun/blob/master/src/libshogun/preproc/RandomFourierGaussPreproc.cpp20:43
yayo3I think some guy (serialhex, maybe?) added them just a few days ago20:43
yayo3I wonder if he meant something by that20:43
blackburnalesis-novik: 73-86 lines20:43
blackburnalesis-novik: seems that everything is serializing there20:43
@mlsecw20:45
@mlsecoops wrong terminal20:45
@mlsec;)20:45
blackburnwer ist das? :D20:48
@bettybooHA blackburn20:48
@mlsecanyway, time for some lunch20:49
-!- yayo3 [~jakub@ip-78-45-113-245.net.upcbroadband.cz] has quit [Quit: leaving]21:06
serialhexmlsec: what time zone are you in?  pacific??21:13
serialhex(though i just had breakfast & i'm on the east coast ~3:15pm here so maybe i shouldnt speek :P )21:14
-!- heiko [~heiko@infole-06.uni-duisburg.de] has joined #shogun21:14
heikohi, anybody here?21:19
@sonney2klogo21:19
heikona logo :)21:19
heikowanted to ask about this registering of cross-val parameters: do you already have any clues how this should be done?21:20
heikodo we actually have to talk in englisch btw? :)21:20
alesis-novikThat or Russian (majority rules) :D21:22
heikohehe :) what about french? ;)21:22
alesis-novikserialhex, I had breakfast at 6 PM today21:22
blackburnwo kann ich tanyen gehen?21:22
blackburnkoennen Sie ein restaraunt empfehlen?21:23
blackburn:D21:23
@bettyboo;>21:23
heikosehr gut21:23
blackburnich bin allergisch gegen Penizillin21:23
@sonney2kblackburn, good to know21:24
@sonney2kheiko, I haven;t thought this part through21:24
blackburnsonney2k: just opened german phrase book :D21:24
blackburnes schmeckt ausgezelchnet :D21:24
blackburnwir sind touristen21:25
blackburnI really don't sure that I talking hehehe21:25
blackburnwhat*21:25
@sonney2kheiko,what I would try is to use the framework we currently use for serialization and either add a flag there (I am a x-validation parameter) or have a new variable m_xval_parameter and register the variables in there the same way as m_parameter works21:27
blackburnguys, give me a lesson of German :D21:27
@sonney2kblackburn, Eierlegendewollmilchsau21:28
blackburnsonney2k: nice, what does it mean?21:28
@sonney2kblackburn, look in the shogun docs - the elwms interface :D21:28
blackburnI saw it earlier21:28
heikohehe eggproducingwoolmilkpig :D21:29
blackburnehehe21:29
blackburnsonney2k: человеконенавистничество21:29
@sonney2kheiko, does that sound like a plan?21:29
heikosonney2k: yes, i would prefer the second variant21:29
heikosonney2k, to have this variable in the uppermost cross-val class21:30
heikothe CParameterSetting does not need the cross-val parameters, right?21:31
heikobut CSettingGenerator and eventually some classes that use this one21:31
alesis-noviksonney2k, submitted some of the changes21:31
alesis-novikI kind of want to keep the empty constructor constructing the 0 mean 1 variance Gaussian21:32
@sonney2kheiko, I think this varialbe should be in CSGObject21:32
heikosonney2k, really? why? most of the objects wont need it21:32
@sonney2kheiko, well but at least in CClassifier (aka CMethod )21:34
@sonney2kbut I am a bit afraid that this may not be enough21:36
@sonney2kit could be that a preprocessor has some parameter21:36
@sonney2kor even a feature vector for scaling21:36
heikohow should the cross-validation should take place? at which point are the subsets created?21:37
@sonney2kSome ModelSelection class should get as argument what kind of data splitting, what kind of performance measure, which model21:40
blackburnwhat's up with warnings at StringFeatures.h?21:43
heikostill there21:44
blackburnI see :) but why it appeared?21:44
CIA-110shogun: Justin Patera master * rc884b90 / src/libshogun/lib/Mathematics.h : Changed "variance" to "std_dev" as it actually uses the standard deviation to shift the normal distribution, not variance. - http://bit.ly/eAdNmY21:44
CIA-110shogun: Justin Patera master * r05a2219 / src/libshogun/lib/Mathematics.h : Small edit in comments - http://bit.ly/fmMqPL21:44
CIA-110shogun: Soeren Sonnenburg master * rf14d1d6 / src/libshogun/lib/Mathematics.h : Merge branch 'master' of https://github.com/serialhex/shogun - http://bit.ly/htnvpa21:44
heikoi havent looked at it yet21:45
blackburnIIRC for gaussian variance is standard deviation21:45
blackburnor not?21:45
blackburnnot sure with english terminology21:45
blackburnah, variance is squared, ok21:46
heikosonney2k, i think i am missing something, why does the classifier class has to know the cross-val parameters? i thought multiple classifier instances are created, or one which is changed. But I thought the logic takes places in this ModelSelection class and the classifier stay more or less the same21:47
@sonney2kheiko, ehh could you please flip th e int32_t subset_len and int32_t* subset_idx ?21:47
@sonney2kor did you update that already in the patch?21:48
@sonney2kI mean first the pointer then the length21:48
heikoi think i have done this21:49
heikoyes, just checked21:49
blackburn* 16 of 60 contributed and seems there will be no more21:49
alesis-novikblackburn, my patch is in the queue21:49
blackburnalesis-novik: is it your first patch?21:50
blackburnI count it including you too21:50
@sonney2kheiko, line 287 in Features.cpp ?21:50
alesis-novikI wen't unnoticed before the pull explanation, so I rewrote some things and added some things and changed some things21:50
blackburnanyway, that 'contribution' is really easy way to terrify some weak candidates :D21:51
@sonney2kheiko, or is that an additional function?21:51
heikosonney2k, yes, the swig function has a correct signature, line 29621:51
alesis-novikNext I'll patch PCA so we can choose the number of principal components or a percentage of variance explained21:51
@sonney2kheiko, ahh so the other is for non-swig21:52
@sonney2kok21:52
* sonney2k really has to fix that21:52
alesis-novikAnd fix anything else sonney2k might not like in Gaussian21:52
CIA-110shogun: Heiko Strathmann master * r06a9d3e / (3 files in 3 dirs): Merge remote branch 'upstream/master' - http://bit.ly/fChcZh21:52
CIA-110shogun: Heiko Strathmann master * r2da8fc1 / src/libshogun/features/Features.cpp : remove unnecessary NULL check - http://bit.ly/h4Ko6N21:52
CIA-110shogun: Soeren Sonnenburg master * r698417c / (4 files in 2 dirs): Merge branch 'master' of https://github.com/karlnapf/shogun - http://bit.ly/i6gbdk21:52
CIA-110shogun: Heiko Strathmann master * r57b2e4f / src/modular/Features.i : corrected line for setter of subset indices of CStringFeatures - http://bit.ly/fmkz2T21:52
CIA-110shogun: Heiko Strathmann master * ra334ac8 / src/libshogun/features/Features.cpp : corrected signature for setter functions - http://bit.ly/h0vojC21:52
heikoblackburn, your example for the distantsegemnts kernel needs the shogun-data package? because it produces an error when i start it without it21:53
heikoblackburn, so what data is in your examples/undocumented/data dir? mine is empty21:54
@sonney2kheiko, I finally understand your question. Well e.g. GaussianKernel needs to be able to register its parameters such that one can ask the gaussian kernel what parameters it has and also set them21:55
@sonney2kblackburn, what are these warnings you are talking about?21:56
heikosonney2k, but arent these parameters independet from cross-validation?21:58
heikoi mean, they are fixed for one fold arent they?21:58
-!- dvevre_ is now known as dvevre21:58
@sonney2kheiko, we have a misunderstanding I think22:01
heikoyes, indeed :)22:01
heikoabout the word: parameter22:02
@sonney2kI mean you have to specify the parameters at some point I mean you have to assign e.g. kernel_width=1.3 to the gaussian parameter22:02
heikoand these parameters, you want to add to an extra variable x-fold-parameters?22:03
heiko(btw these warnings blackburn talks about come from ignored return values when using fread)22:04
@sonney2kheiko, I want to register  the 'kernel_width' yes but not the value22:06
heikoso all classes register the parameters that have to be found by cross-val. then the ModelSelection class sees what parameters are registered and sets these during the search22:08
@sonney2kheiko, well the modelselction class generates a CParameterConfiguration or so that then is set via set_configureation(par)22:11
alesis-novikheiko, what search is this?22:12
CIA-110shogun: Soeren Sonnenburg master * r32b1b14 / (4 files in 2 dirs): Merge branch 'master' of https://github.com/yayo3/shogun - http://bit.ly/ig0hPd22:15
blackburnsorry, I'm here now22:16
blackburn(11:53:47 PM) heiko: blackburn, your example for the distantsegemnts kernel needs the shogun-data package? because it produces an error when i start it without it --- yes, it is22:16
blackburn(11:54:45 PM) heiko: blackburn, so what data is in your examples/undocumented/data dir? mine is empty -- it should contain shogun-data/toy files22:16
blackburn(11:56:26 PM) sonney2k: blackburn, what are these warnings you are talking about? --- ../shogun/features/StringFeatures.h:1305: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result22:17
blackburnheiko, and btw, examples/undocumented/data is symlink to ../data22:17
blackburnsonney2k: don't you have these warnings?22:18
* sonney2k compiles again22:18
heikosonney2k, blackburn, i just removed these warnings in StringFeatures by adding an ASSERT for this ignored return data of fread()22:19
blackburnheiko: is it in master now?22:20
heikosent pull request22:20
@sonney2kheiko, just doing ASSER(fread(xxx)) is a bit dangerous22:20
heikoalesis-novik, search for optimal parameters in cross-validation22:21
@sonney2kASSERTS might define as nothing22:21
@sonney2kso the fread would not be there22:21
alesis-novikheiko, so your project is creating this massive CV platform?22:21
@sonney2kalesis-novik, yes22:22
@sonney2kprobably the project with the highest difficulty ...22:22
@sonney2klevel22:22
heikosonney, but if the output is wrong of wrong length, the function fails anyway22:22
alesis-novikSounds like it22:22
alesis-novikIf nothing else, the engineering part sounds very difficult22:23
alesis-novikwhat are the current thoughts on how to make the parameter search work?22:23
@sonney2kheiko, yes but an ASSERT can be defined as nothing so ASSERT( some expression ) -> <nothing here>22:24
blackburnsonney2k: what's up with problem on copying data vectors?22:25
@sonney2kheiko, so the right fix would be to do if (!expr) SG_ERROR("bla")22:25
@sonney2kblackburn, haven't done anything22:25
@sonney2kyet22:25
heikook, i will fix it22:25
blackburnsonney2k: I'd like to do some structuring in libshogun22:26
blackburnsonney2k: have any ideas?22:26
@sonney2kblackburn, lenin or stalin?22:26
blackburnsonney2k: it is good at all but neither22:26
blackburntoday I'll not joke about vodka and stalin, it is an exceptional day :)22:27
@sonney2kblackburn, what exactly do you want to do?22:27
blackburnsonney2k: want to do more strictly classes, etc. may be we could find weak design somewhere22:28
blackburnoh! one idea22:29
blackburnsonney2k: in preproc base class contains constructor with name and type22:29
@sonney2kblackburn, the only idea I have is rename CClassifier into CMethod and change classify into apply(), same for CLinearClassifier -> CLinearMethod22:29
@sonney2kor Machine :)22:30
blackburnand we may do it similar way in classifiers22:30
alesis-novikblackburn, I'd wait before the submission amount goes down a bit (which it will when the actual selected students are announced)22:31
blackburnalesis-novik: why?22:31
blackburnsonney2k: CPreProc(const char* name, EPreProcType type);22:31
blackburnsonney2k: and may be Classifier(const char* name, EClassifierType type) will be a good practice too22:32
alesis-novikWell, if you'll start changing the structure and not only names, there might be merging problems22:32
@sonney2kI have mixed feelings about this too but it is difficult also when we do this too late22:32
blackburnsonney2k: anyway, we should do it _same_22:33
blackburnbecause in classifiers we shadow virtual get_name() and get_type()22:33
blackburnbut in preproc just use this constructor22:33
alesis-novikI'd stick to the idea of doing this after students are announced, unless the changes can't really break anything for other people22:33
@sonney2kblackburn, that is true22:34
blackburnalesis-novik: think my propose ^^ will not change anything22:34
blackburnalesis-novik: just some internal 'design' issue22:34
alesis-noviktrue22:35
alesis-novikgoing away for a bit. Going to start on PCA if there are no comments for the current pull22:36
blackburnsonney2k: the only reason why overloading is better - we don't have to store char* name in each object, just in class :)22:36
blackburnalesis-novik: I have started working on kPCA from the blank today, may be we will exchange with some experience :)22:36
@sonney2kblackburn, I think it is better to only have this in the virtual get_name function22:38
alesis-novikblackburn, I was going to work on that next, but it has more to do with your project anyway. For PCA I just want to make more principal component selection options (number, percentage of variance explained)22:38
heikosonney2k, so i will start with adding a x-cross-validation parameter set to CSGObject and use the gaussian kernel as test for it22:39
blackburnsonney2k: why? using constructor seems to me better..22:39
@sonney2kblackburn, otherwise we need to call the base constructor *everywhere* with the name22:40
@sonney2kblackburn, when we have 3 constructors, we have to put the name there 3 times22:40
blackburnsonney2k: sure, but virtual is duplicating code more22:41
heiko@all going to bed, good night!22:41
blackburnmy opinion is we should try to reduce that kind of methods in concrete algos22:41
blackburnit could be more 'readable'22:41
@sonney2kheiko, yes22:42
@sonney2kheiko, did you do the warning fix?22:42
heikoyes22:42
@sonney2k(before you leave)22:42
heiko;)22:42
@sonney2klet me check22:42
heikoyes ;)22:42
@sonney2kheiko, yes thanks a lot - have a nice sleep :D22:43
@bettyboo;D22:43
heikonp, good night! :)22:43
-!- heiko [~heiko@infole-06.uni-duisburg.de] has left #shogun []22:43
blackburnyou all have healthy sleep schedule :D22:44
@sonney2kwho?22:45
blackburnhm, forgot you don't :)22:45
blackburnI getting sleep at 2-3 with all that shoguning and javaeeing :)22:46
@sonney2kblackburn, you are not alone22:46
@sonney2kblackburn, look at CGaussianKernel.h / cpp22:47
@sonney2kit has 3 constructors22:47
-!- dave [d8a57e6e@gateway/web/freenode/ip.216.165.126.110] has joined #shogun22:47
@sonney2know how do you want the name to be registered there?22:47
-!- dave is now known as Guest7920822:47
@sonney2khmmhh heiko the warnings are now here too :)22:48
blackburnCGaussianKernel::CGaussianKernel(int32_t size, float64_t w)22:48
blackburn: CDotKernel("Gaussian",K_GAUSSIAN(??),size)22:48
blackburnsonney2k: why not?22:48
@sonney2kblackburn, yes but 3 times?22:49
blackburnsonney2k: in preproc this practice is everywhere22:49
Guest79208Does anyone have any advice for how best to split the C values for a linear classifier with classes with unequal sizes? (e.g. 90% 1, 10% -1).  Using the same value for both often results in a classifier predicting only the larger class.22:49
@sonney2kGuest79208, optimize for auROC not accuracy and adjust the bias manually to the fpr-threshold you want22:50
@sonney2kblackburn, yes but is this good or not?22:51
blackburnsonney2k: seems that we should remove it in preproc, cause we overload it everywhere22:51
blackburnsonney2k: may be it will cause some errors while development (when smb forgot to write it in constructor or mistype, etc)22:51
@sonney2kblackburn, I wrote both things but I cannot tell what is better.22:51
@sonney2kI am afraid of mistyping22:52
@sonney2kit would be great if one could do the get_name() automatically22:52
blackburnsonney2k: but it could be better for more 'compact' algorithms22:52
@sonney2kyes22:52
Guest79208"optimize for auROC" - is this an option for training the svm, or do you mean manually adjusting the bias after training to optimize auROC?22:52
Guest79208sorry - dumb question - bias shouldn't change auROC.22:52
@sonney2kGuest79208, but accuracy and that is what you seem to be (wrongly) optimziing for22:53
@sonney2kaccuracy is a useless measure when data is unbalanced22:53
* blackburn feels himself as moron22:55
blackburn:D22:55
CIA-110shogun: Heiko Strathmann master * rbfcc8d3 / src/libshogun/features/StringFeatures.h : removed a bunch of warnings caused by an ignored return type by introducing asserts for the result of fread() calls. - http://bit.ly/i1CkhN22:55
CIA-110shogun: Heiko Strathmann master * r82d8e34 / (5 files in 3 dirs): Merge remote branch 'upstream/master' - http://bit.ly/hwjqIb22:55
CIA-110shogun: Heiko Strathmann master * r710667c / src/libshogun/features/StringFeatures.h : replaced ASSERT by an if-check and SG_ERROR - http://bit.ly/fEbZFs22:55
CIA-110shogun: Soeren Sonnenburg master * rcf8098f / src/libshogun/kernel/GaussianKernel.cpp : add space after if - http://bit.ly/i4uIMT22:55
CIA-110shogun: Soeren Sonnenburg master * r76148d1 / src/libshogun/features/StringFeatures.h : Really fix warnings in stringfeatures. - http://bit.ly/h0SDIO22:55
@sonney2kalesis-novik, is haipengwang doing the same thing like you intend to do? GMMs?22:56
alesis-noviksonney2k, I'd like to do EM for GMMs, yes22:57
@sonney2kalesis-novik, https://github.com/shogun-toolbox/shogun/pulls22:57
@sonney2kthen him too22:57
blackburnsudden22:58
alesis-novikCompetition I guess22:58
blackburnI bet on Lithuania!22:59
blackburnhey-hey Litva vpered!22:59
@sonney2kHas haipengwang attended any IRC sessions so far?23:00
blackburnsonney2k: he has too complex nick, we don't know23:00
@sonney2kblackburn, *lol*23:00
blackburnah, it's a name, damn23:00
blackburnbtw I bet you all will not spell my last name right :D23:01
alesis-novikI'd probably have an EM class above it. While GMM is the most popular one, there's no reason to limit ourselves in the long run23:01
@sonney2kalesis-novik, hmmhh I think it makes more sense to model a single gaussian like you do derived from CDistribution. Then have another class CombinedDistribution that is a mixture of distributions23:02
@sonney2kthis way you could potentially do em-style updates for not just gaussian mixtures23:02
@sonney2kblackburn, so will you change preprocs then? and why did you rewrite kpcapreproc? don't like it?23:03
blackburnsonney2k: may be I will produce simplier code, just exercising23:04
blackburnsonney2k: if you want I will23:04
alesis-novik** Singular Value Decomposition of Full Covariance Matrix. */ not sure what he meant here23:04
blackburnsonney2k: anyway I didn't it (rewrited kPCA) so far and just plan it23:05
@sonney2kblackburn, do you have any idea how we could avoid having to write the get_name function at all?23:05
@sonney2ksome fancy macro?23:05
@sonney2kor is this a lost cause?23:05
blackburnstatic const char* name = "GAUSSIAN SHIT";23:05
blackburnor I don't know23:06
blackburnuse constructors23:06
@sonney2kbut then we have to write it in constructors23:06
@sonney2ksame thing to me23:06
blackburnmay be we could just #DEFINE NAME "GAUSSIAN THING"23:06
blackburnCDotKernel(NAME)23:06
blackburndon't make sense at all23:06
alesis-noviksonney2k, did you try my new patch and see if you run out of memory (hopefully there are no leaks)23:07
@sonney2kwon't look any more readable23:07
blackburnsonney2k: will look less readable :D23:07
blackburnwarnings are out! let's drink some vodka23:08
blackburnsonney2k: so, are we changing preproc to 'main style'?23:09
@sonney2kalesis-novik, not yet - too many patches and whenever I think I am done with one there is another one popping up :)23:09
@bettyboo;D23:10
@sonney2kblackburn, yup23:10
@sonney2kmainstream music23:10
blackburnso wait for another pull request :D23:10
@sonney2kdostoprimetschatelnosti23:10
blackburnnice23:11
blackburnbut why достопримечательности?23:11
* sonney2k copies this word to his clipboard23:11
@sonney2kthat was my favorite russian word23:11
@sonney2kalesis-novik, reviewing now23:12
blackburnsonney2k: davay davay rabotatsh was so funny, will not forgot it :)23:12
alesis-novikthanks sonney2k23:12
blackburnbtw, 'rabotay'23:12
alesis-noviknada Fedia, nada23:12
alesis-novikor rather nado23:13
alesis-novikhow would you type "drink" without Cyrillic23:13
blackburnпьяный?23:13
blackburnah23:14
blackburnwithout23:14
blackburnoh f-ck23:14
blackburn:D23:14
blackburnpyaniy23:14
@sonney2kblackburn, davay davay rabotatsh!!!23:14
@sonney2kblackburn, this is not supposed to be fun :-P23:14
alesis-noviknot drunk, drink23:14
blackburnпить23:14
blackburnpit23:14
blackburnpit'23:14
alesis-novikNado menshe pit', pit' menshe nado23:15
blackburnsonney2k: rabotatsh :D23:15
@sonney2kalesis-novik, rabotatch ...I can only do this in handwritten digits23:15
blackburnnot rabotatsh, rabotay! :D23:16
@bettyboohihi23:16
blackburnsonney2k: ya zhe zadolbayus' vse eto perepisyvat23:18
blackburnit is a difficult one :)23:18
alesis-noviksonney2k, we can just comment them out I guess23:19
alesis-novikor just delete them?23:19
@sonney2kalesis-novik, save them in a local branch but drop them from master for now23:19
@sonney2kalesis-novik, there is some problem with spacing in you patch (some lines are more intended than others)23:20
alesis-noviksonney2k, any idea which ones or in which file?23:21
blackburnsonney2k: oh, there is some overloading in preproc.. but not for all23:23
blackburnsonney2k: that preproc 'package' is a bit mixed, I will stalinize it23:24
@sonney2kalesis-novik, I made a comment23:24
alesis-noviksonney2k, I think I'll rename the init into preproc(?) or something, because it's called with parameters from a few places, including train23:26
alesis-novikthe method is more for precomputing the constant and inverse cov than anything else23:27
@sonney2kalesis-novik, I think you can safely assume that you are dealing with CSimpleFeatures<float64_t>23:28
@sonney2k(RealFeatures in python)23:28
@sonney2kI mean who wants to compute a cov matrix for several thousands dim. data?23:29
alesis-noviksonney2k, does that make a difference though?23:29
@sonney2kalesis-novik, yes. then one can use get_feature_vector() and free_feature_vector()23:29
@sonney2kand these can be preprocessed etc23:29
@sonney2kget_feature_vector() in dotfeatures returns *a copy* of the features23:30
alesis-novikI guess that would be slightly more efficient23:30
@sonney2kalesis-novik, you could use register_params() instead of init()23:31
@sonney2kalesis-novik, I still haven't understood why you allocate mean and cov in the default constructor?23:31
alesis-novikso change init to register_params and leave the other init as-is?23:31
@sonney2kthe other init then has no parameters23:31
alesis-noviksonney2k, just an idea that if you don't define anything it creates 0 mean 1 variance, so basically a 1 dim Normal distribution23:32
@sonney2khmmhh, is that really useful?23:33
@sonney2kI think the default constructor will only ever be called when the object is de-serialized23:33
@sonney2kalesis-novik, woudl be cool if you could also do the derivatives23:35
alesis-novikWait, where do you suggest I set the mean/cov and where do I compute the other stuff23:35
@sonney2kalesis-novik, shall I better use the github comments instead of mixing chat and comments?23:37
alesis-novikok23:37
@sonney2kwhy not start with mean = NULL etc and just add ASSERT(mean && cov); when needed.23:37
@sonney2kthat is what I wrote in that comment23:37
* blackburn is really don't know why preproc is so ambigous23:41
alesis-noviksonney2k, is there a point in getting both rows and cols for cov?23:42
@sonney2kalesis-novik, a matrix has always a certain number of rows and cols - I understand this is a quadratic matrix but still - the swig based interfaces depend on that signature - otherwise you won't be able to set/get a cov from e.g. python23:43
alesis-novikSo I should set mean and covariance outside of preprocessing?23:47
@sonney2kalesis-novik?23:49
alesis-novikI'm still confused about what you suggest doing with init(mean, cov, dim)23:50
@sonney2kcall it only init()23:50
@sonney2kno args23:50
@sonney2kand assume that cov and mean (together with their sizes) are set as member varialbes23:51
@sonney2kbut check that cov / mean are there and that sizes match23:51
blackburnsonney2k: refactored preproc.. again ;)23:51
alesis-novikI don't store cov or mean sizes separately, just one param m_dim23:52
@sonney2kthen please do :)23:52
@sonney2kyou need that for serialization anyways23:52
alesis-novikshould I store separate ones for the inverse cov as well then?23:53
blackburnwhy he should?23:53
@sonney2kalesis-novik, yes23:54
@sonney2kblackburn, I think having a matrix type with ptr to data, rows, cols would make this more explicit23:54
@sonney2ksince we have this all exploded everywhere ...23:54
@sonney2kit is not23:55
alesis-novikso then I might as well remove the m_dim23:56
alesis-novikSince it's useless23:56
blackburnokay :)23:56
--- Log closed Fri Apr 15 00:00:36 2011

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