IRC logs of #shogun for Wednesday, 2011-08-10

--- Log opened Wed Aug 10 00:00:51 2011
-!- f-x [~user@117.192.210.94] has quit [Remote host closed the connection]03:23
CIA-87shogun: Soeren Sonnenburg master * r9f7d9d7 / (11 files in 4 dirs):06:36
CIA-87shogun: Merge pull request #277 from frx/streaming_vw06:36
CIA-87shogun: VW learners (+5 more commits...) - http://bit.ly/qiJ4Fh06:36
CIA-87shogun: Baozeng Ding master * rded1eb0 / (6 files): add some csharp examples - http://bit.ly/oP7sEb07:49
CIA-87shogun: Soeren Sonnenburg master * r7d75106 / (6 files):07:49
CIA-87shogun: Merge pull request #278 from sploving/master07:49
CIA-87shogun: add some csharp examples - http://bit.ly/p0n6H007:49
CIA-87shogun: Soeren Sonnenburg master * ra861dd4 / src/configure : remove illegal -Wimplicit from C++ compile flags - http://bit.ly/nm5IBM07:51
-!- blackburn [~blackburn@109.226.88.119] has joined #shogun09:42
blackburnsonney2k: thanks for the answer :)09:43
* blackburn got medicine from allergy and slept for ~13h long09:43
-!- heiko [~heiko@134.91.55.45] has joined #shogun11:37
-!- blackburn [~blackburn@109.226.88.119] has quit [Quit: Leaving.]12:01
@sonney2k:)12:15
-!- f-x [~user@117.192.208.105] has joined #shogun12:19
heikosonney2k, are you there?12:35
@sonney2kheiko, yes12:35
@sonney2kheiko, how is it going?12:35
heikoi am fine :) and in berlin?12:35
heikoi have a question for loading parameters12:35
heikocurrently, calls the load method of a TParameter instance12:36
heikothis instance knows its type and name12:36
heikobut now i need to load ALL parameters of a file12:36
heikoand I dont know the names/types of them12:36
heikois there a loading method that automatically loads all parameter data and the types of a file?12:37
heikoor do I have to write it?12:37
heikosonney2, some parameters may have been deleted/renamed, so the TParameter instance of a class may be different than the on in the file12:38
heikosonney2k, do you understand what my problem is?12:39
@sonney2kheiko, I think I understand - it is that the class registers different parameters (not the obsolete ones)12:39
heikoyes12:39
@sonney2kbut I would try to solve the problem differently12:40
@sonney2kcouldn't we use this mapping thing to load obsolete parameters?12:40
@sonney2kI mean we could register obsolete ones in some obsolete params thing12:40
@sonney2kand load these maybe even into  the mapping12:41
@sonney2kheiko, am I making any sense?12:41
heikoyes12:41
heikothat might work12:41
heikogood idea12:42
@sonney2kthis way you could just load all obsolete ones12:42
heikoso we need the inverse mapping methods12:42
@sonney2kand then in the mapping have the mapping + the obsolete value stored12:42
@sonney2kinverse mapping?12:42
heikoyes12:42
heikoto get from current parameter version to obsolete one12:43
heikoother way round than from obsolete to current12:43
@sonney2kwhy that?12:43
@sonney2kdon't we always ever only need to obsolete -> current?12:43
heikoyes12:43
@sonney2kahh but there is one problem12:43
heikobut when we want to load, we only know the current one12:43
@sonney2kwhen a type just changes from say int -> double12:44
heikoyes?12:45
@sonney2khow do we load this?12:46
@sonney2kI mean it is then in obsolete *and* params12:46
@sonney2khow do we know wheter 'variable' is int or double?12:47
@sonney2ki.e. whether we call the obsolete or the params load routine12:47
heikommh12:47
heikobut i mean,12:47
heikowe know the current is double12:48
heikothen we check map for obsolete12:48
heikotells us sanem name and int12:48
heikowe load int12:48
heikoand call conversion method12:48
heikohave double12:48
@sonney2kahh you mean because file version < version where double exists12:48
@sonney2kok12:48
heikoyes12:49
@sonney2kand for multiple type changes, like double -> float -> int?12:49
heikowell, the inverse mapping is done until the file version is reached12:49
heikoand then for each mapping, the conversion method is called12:49
@sonney2kbut how does the mapping look like? I mean we still have variable appearing 3 times with differnt types etc12:50
heikosonney2k, I dont understand12:51
@sonney2kyeah ok if we would recursively traverse the mapping with ascending file version and then bottom up to the loading - it would work12:51
@sonney2kheiko, the mapping currently contains varialbe_name, typestuff12:52
@sonney2k-> variable_name, typestuff right?12:52
@sonney2kand version12:52
heikoyes12:52
heikoversion is not in there yet12:52
heikobut ok12:52
heikolets assume12:52
@sonney2kso if we have now 'v1',type1 -> 'v1', type2 and also 'v1',type2 -> 'v1', type312:53
heikoyes12:53
@sonney2kv1 (being a variable name)12:53
@sonney2kwe would need to load everything for v1 we could load that is <current_version into obsolete12:54
heikowhich one is the oldest one?12:55
CIA-87shogun: Shashwat Lal Das master * rab6daeb / src/shogun/classifier/vw/VwLearner.h : Added SG_ADD for VW learner base class. - http://bit.ly/qEDJTK12:56
CIA-87shogun: Soeren Sonnenburg master * rb80677d / src/shogun/classifier/vw/VwLearner.h :12:56
CIA-87shogun: Merge pull request #279 from frx/streaming_vw12:56
CIA-87shogun: Added SG_ADD for VW learner base class. - http://bit.ly/q6N4Qg12:56
@sonney2kheiko, the one with typ112:56
@sonney2ktype112:56
heikook then the class which wants to load is the one that contains v1, type312:57
heikoin this class, the mapping is checked12:57
@sonney2kyes12:57
heikoreturns v1, type2 , mapping is checked again12:57
heikoreturns v1, typ112:57
heikomapping is checked - nothing found12:57
heikoso a TParameter is constructed and loaded with type112:57
heikoand then, for every recursion step, the translation is called12:58
heikoconcrete: type1->type212:58
heikoand afterwards type2->type312:58
@sonney2kwait the translation can only be called after all variables are loaded12:58
heikoyes12:59
@sonney2k(not just 'v1')12:59
heikooh12:59
heikommh true12:59
heikobecause it may depend on others12:59
@sonney2kyes12:59
@sonney2kthis is not really a problem12:59
@sonney2kI mean we could recursively load 'v1's into the respective mapping data ptr13:00
heikoyes13:00
heikodont you think it works that way?13:00
@sonney2kand then later on iterate over all mapping objects and call a free_data()13:01
@sonney2kthat will work13:01
@sonney2kI am OK again :)13:01
heikoalright :)13:01
heikoimplementation probably will be a bit more tricky ;)13:01
@sonney2kthat's some nasty beast13:01
@sonney2kbut it is super cool to have - I mean we can change whatever variable and still are able to load the old versions13:02
heikowell ok, i will cut the best into smaller parts and see what will happen13:02
heikoyes13:02
heikothats really a cool features13:02
@sonney2kthis also means we can significnatly simplify the testsuite13:02
@sonney2ki.e. we can write out the objects once in python_modular13:02
@sonney2k(as regression test reference)13:03
heikoand use these as long as there is eniugh memory13:03
@sonney2kthen we can run things in e.g. java and write down the object, load the object from python (still within java) and write out the (updated!) object and compare13:03
@sonney2kthings should be 100% same13:03
heikooh13:04
heikoyeah that is nice13:04
heikofor testing all the language bindings13:04
@sonney2kso we can do exact tests for all swig based languages :)13:04
heikoin particular for numeric accuracy13:04
heikoso, will create a test class now for translation stuff13:05
@sonney2kheiko, apologies that I am screwing up your modelselection schedule but this really would be a very very cool feature...13:06
@sonney2kheiko, btw what else did you intend to do modelselection wise afterwards?13:07
heikosonney2k, well ok, will do more modelselection stuff afterwards13:07
heikoah13:07
@sonney2kheiko, I guess I can help you with the python typemaps for the syntactic sugar13:07
@sonney2k(nicer way of specifying x-val params)13:08
heikoyes13:08
heikothat has to be done13:08
@sonney2kwhat else is on your list?13:08
heikobut more important first: the unimplemented methods for some more feature classes13:08
heikoto make modelselectoin really work in more contexts13:08
heikoperhaps some real life example will reveal important places where methods are missing13:09
heikoand then: more search strategies13:09
heikothis perhaps will cause some design changes in the model-selection class13:09
heikobut ok13:09
@sonney2kOK13:09
heikothis coarse-fine grid-search would be cool13:09
heikoat a first point because everyone uses it13:09
heikothen, pausing grid-search and continue later on as you suggested13:10
heikosome random sampling stuff perhaps ---13:10
@sonney2kheiko, problem of course is that this becomes unrealisitic until Aug 22nd13:10
heikoyes13:10
heikoi know :)13:10
@sonney2kI don't know if you will have time afterwards13:10
@sonney2kwould be great but I cannot force you in any way :D13:11
heikoI will go to London in September,13:11
@bettyboo<:*)13:11
heikobut I will be studying, so there will probably be some time13:11
heikoWell i really would like to continue in some matter :)13:11
@sonney2kit would be great if you could still continue - even if much more slowly13:11
heikoyes, I think so13:12
@sonney2kok heiko so lets prioritize13:12
heikoSeptember will be full - moving to London, start studying there, orientation stuff13:12
heikobut afterwards will probably some space13:12
@sonney2ksure13:12
@sonney2kyou finish this translation business13:12
heikoyes13:13
heikoI hope this will go straight from now13:13
@sonney2kand then we should discuss about some syntactic sugar for python - I guess I can do the typemaps (with some guidance from you)13:13
heikoah, all the examples I wrote should be tranlsated to python13:13
heikoyes ok13:13
@sonney2kand you do the remaining stuff in feature classes and maybe 1 more strategy13:13
@sonney2kI don't think more is realistic - there will be issues and documentation needs some update and...13:14
heikowhat about pencils down, writing documentation, clean up etc?13:14
@sonney2kyes exactly13:14
heikothats still a lot of stuff13:14
@sonney2kI think you can do the translation in 5 days?13:14
heikoHope so, hope to finish it until monday...13:15
@sonney2kthen 7 more days for feature classes and one modsel strategy13:15
@sonney2k(or 5 more days)13:15
@sonney2kahh and docuemntation...13:15
heikoyes13:15
heikoi am a bit unsure as for the modsel strategy, perhaps the coarse-fine grid-search would be good, since its only a combination of the one already there, and its the most widely used one13:17
@sonney2kheiko, it's ok - I mean we if other modsel strategies are not possible within these time limits this won't be the end of the world. There is still time to do these int the future13:17
heikoyes true13:17
@sonney2kthe most important thing is that the framework itself is there13:18
heikoyes13:18
@sonney2kthat was the most difficult part - and you did it already13:18
@sonney2kso please continue with peace of mind :)13:18
heikoI think it works pretty well - real life tests will probably reveal some bugs but ok,13:18
heikoyes, good idea :)13:18
@bettyboo<:*)13:19
heikosonney2k, is current git compiling for you?13:28
@sonney2kheiko, where does it fail for you?13:28
heikomath.h13:29
heikoCMath.h13:29
heiko::log not defined for example13:29
@sonney2k:: log not defined?13:31
@sonney2kheiko, libshogun or which interface?13:31
f-xan error popped up for me too, when i called the max() function (which should call the one in C's math.h)13:32
f-xbut now it compiles with libshogun at least13:32
heikoyes, but I want to know if its my fault, so does it compile for you or not?13:32
heikommh13:32
f-xbut surprisingly the code was working until yesterday13:33
heikosonney2k, it was my fault, nevermind13:36
f-xhmm and mine too i guess13:37
@sonney2kargh13:38
@sonney2kI am still messing with this buildbot13:38
@sonney2kwhile it build when manually triggered13:38
@sonney2kit doesn't automagically13:38
@sonney2kI don't understand why not...13:38
-!- heiko [~heiko@134.91.55.45] has quit [Ping timeout: 258 seconds]14:04
CIA-87shogun: Shashwat Lal Das master * r46b44a0 / (5 files in 2 dirs):14:14
CIA-87shogun: Added VW native cache read/write classes.14:14
CIA-87shogun: Modified v_array to use shogun functions. - http://bit.ly/oCL8CM14:14
CIA-87shogun: Shashwat Lal Das master * r3bb29e2 / src/shogun/mathematics/Math.h : Made invsqrt inline. - http://bit.ly/q0w2sA14:14
CIA-87shogun: Soeren Sonnenburg master * rded0001 / (6 files in 3 dirs):14:14
CIA-87shogun: Merge pull request #280 from frx/streaming_vw14:14
CIA-87shogun: Added VW native cache read/write classes. - http://bit.ly/qxw7Ve14:14
serialhexsonney2k: kick it!14:27
serialhexjust not too hard or you might hurt yourself14:27
@sonney2kserialhex, I'd like to kick the buildbot hard enough to get it to work14:28
@sonney2kbut it is resisting all my attempts14:28
serialhex:-/14:28
serialhexso you had a Q last night??14:28
@sonney2kserialhex, I wanted to know the ruby status14:29
@sonney2kand get the configure stuff to work also at your machine14:29
serialhexas far as the examples go i'm working on them but it seems that everything will work once i clean up those files...14:29
serialhexthat has been a pain and will probably need some 1-on-1 time with you or someone else who knows how to deal with shell scripting well14:30
serialhexi know a bit but not a lot14:30
@sonney2kso examples is something you will take care of right?14:30
@sonney2kbut the configure stuff is a pain14:31
serialhexyes14:31
@sonney2kso do you have your 'old' machine still running?14:31
@sonney2kI mean if we have to run tests?14:31
serialhexi actually installed debian just so i can test everything :)14:31
@sonney2kI read that - good choice anyways ;)14:31
serialhexthat's what i'm on right now... everything else is suspended14:31
@sonney2kok then just ask if you run into trouble with the examples14:32
@sonney2kbtw, matrices/vector related stuff should work14:32
@sonney2kI don't know about strings14:32
@sonney2kserialhex, so better try to create some string example14:33
serialhexi like it but i'd rather have my packages be more up to date... but that's the tradeoff with great stability14:33
@sonney2kif it doesn't work we have to bug sploving about it14:33
serialhexdoes one of the python examples use strings??14:33
serialhexi would magine they would...14:33
@sonney2ke.g. ../examples/undocumented/python_modular/features_string_char_modular.py14:34
@sonney2kjust do some ls *string* :)14:34
serialhexok i'll make sure that works & if it dosn't bud sploving14:34
@sonney2kdammed buildbot finished with succes but 3017 warnings14:35
serialhexhmm... i get a bunch of warnings when i build myself...14:35
serialhexbut i dont know about 3k of em14:35
@sonney2kf-x, that is in the recently added invsqrt function:14:36
@sonney2k../shogun/mathematics/Math.h:309:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]14:36
f-xone sec.. let me see14:36
f-xsonney2k: i guess that's a hack they use.. should i look for an alternate implementation?14:37
@sonney2kserialhex, the buildbot is running on debian-sid aka unstable - so it has the newest gcc and problably creates more warnings14:37
@sonney2kf-x, well lets first try to understand the warning msg14:38
@sonney2kat least I don't get it14:38
serialhexanyway,i got to get off to work... have fun!14:38
f-xconverting the float ptr to int - does that always show up as an error like this?14:38
@sonney2kserialhex, cu!14:38
@sonney2kand enjoy14:38
@sonney2kf-x, they are not converting the float ptr to an int but a float to an int14:39
f-xsonney2k: yeah, indirectly by dereferencing the int ptr right?14:39
f-x(i mean float ptr to int ptr)14:39
f-x*i meant14:40
@sonney2kf-x, I don't know - I cannot reproduce the problem in some small test script14:44
@sonney2kgtg now14:45
@sonney2kwill dig into things later14:45
f-xok, later14:45
-!- heiko [~heiko@134.91.55.45] has joined #shogun14:49
-!- alesis-novik [~alesis@188.74.87.206] has joined #shogun15:48
-!- blackburn [~blackburn@188.122.238.50] has joined #shogun17:03
blackburnsonney2k: around? need some idea how to %ignore not-sg-object-classes17:08
serialhexblackburn: magic!17:11
serialhexthat's how to do it!!!17:11
blackburnserialhex: exactly it is but I can't do that magic yet ;)17:11
@bettyboo^_^17:11
serialhexaww!17:12
serialhexso how ya been blackburn??17:12
blackburnserialhex: not bad, and you?17:12
serialhexpretty good, pretty good17:12
serialhexdid you see my awesome python -> ruby trancekoder?? :P17:13
@bettyboo^_^17:13
blackburnserialhex: not yet, I've seen you done that17:13
blackburnis it working now?17:14
serialhexsome of the examples work but most do not, fortunately it's done 90% of my work for me so it's just a matter of cleaning things up & making sure it works17:15
serialhexhave you made any new floating-face pictures?? :D17:15
blackburnI've been working on something similar for java, but decided to stop17:15
blackburnhahah nope17:16
serialhexreally?? what were ya working on??17:16
blackburnrecently chris sent some sequence data to me17:16
blackburnI'll try to make some fancy dimreduction for promoters17:16
blackburnlet's hope it will have any success haha17:16
serialhexawesome! i hope it turns out great!!17:17
blackburnthe only problem is I really don't know if it is possible to get some euclidian mapping for sequences17:17
blackburncause some of them aren't metric-based17:17
blackburnLLE, essentially17:18
serialhexhmm, ok17:18
blackburnwell of course it uses distances but only in euclidean space17:18
blackburnserialhex: how is my english? :D17:18
serialhexinfinitely better than my russian :D17:19
serialhexit's great, i was actually thinking that you havn't made any mistakes that i noticed17:19
blackburnhoho17:19
blackburnnice to hear that17:19
blackburnhmm may be I'll try to manage to get some sequence based LLE hehe17:20
blackburnbut at first I should get java serialization to work17:20
serialhexhpefully yuou'll get a chance to come to the states or england or something and practice speaking it!17:20
blackburnyeah I hope to leave this country too :D17:20
serialhex(and i need to practice spelling :P )17:20
serialhexso what are you trying to do?  serialize shogun objects in java so you can carry them around or soemthing??17:21
blackburnyeah so you can create ObjectOutputStream in java17:22
blackburnand just writeObject(someShogunnyObject)17:22
blackburnthe only trouble I've got - there are objects without save_serializable17:23
blackburnI guess I should remove it from modular interfaces somehow17:23
blackburnand I'm not sure I will be able to do that with e.g. %ignore SGIO17:24
serialhexhmm, i don't know much about that, so i'll be of no help really... but it would be nice to get that to work b/c then we could do the same for ruby (and a bunch of other langs too probably)17:25
blackburnI'm sure it is possible17:25
-!- heiko [~heiko@134.91.55.45] has quit [Ping timeout: 258 seconds]17:26
serialhexthis is awesome!!! http://xkcd.com/ :D17:26
blackburnwhat are the methods used by ruby when some serialilzation,17:26
blackburn?17:26
blackburnhaha17:27
@bettyboo:)17:27
serialhexyou can marshal an object... (why it's called that IDFK) i can't remember off hand what they are but i know they're there... i just havn't had the need to use them yet17:28
serialhexyeah, awesome is it not?17:28
blackburnexactly it is :)17:28
blackburnmarshalling is used in java too17:28
blackburnwhen someone want to XMLize object17:29
blackburnso in python _setstate_ or so is used17:29
blackburnif you manage to write similar code for ruby17:29
blackburn(just call save_serializable and read the temporary file)17:30
blackburnit would be here for sure17:30
serialhexyeah, ruby has an internal marshalling & we can also use YAML... though i'm sure we can XML and JSON too if we wanted too17:30
serialhexthough i don't know if they save certain state things - like singleton methods and the like - i can't remember at the moment17:31
blackburnafaik for now we don't have any XML serialization17:33
serialhexhmm... maybe someone can tackle that next summer?? :D17:35
@bettyboo:)17:35
blackburnI think not really big task to work on17:36
serialhexso did they not have the meeting??? afaik there was supposed to be a meeting this am17:40
blackburnyeah it was cancelled17:43
blackburnokay ignore didn't help18:31
blackburnmeoow18:48
blackburnmeoooow18:52
blackburnsonney2k: ignores work but ..Matrix, ..String??19:35
@sonney2kserialhex, blackburn we have xml serialization and json and some other ascii and hdf520:08
blackburnwow20:08
blackburn:D20:08
@bettyboo*g*20:08
blackburndidn't know20:08
blackburnokay20:08
blackburnsonney2k: what to do with template structures20:08
@sonney2k?20:09
blackburnI see two ways: make it inherited from SGObject or implement save_serializable20:09
blackburnsonney2k: I can't call save_serializable in e.g. ByteMatrix or so20:09
blackburnjava modular won't compile20:09
blackburnI created modshogun_ignores.i20:10
blackburnfor ignoring Parallel, SGIO, etc20:10
blackburnand I can't ignore *Matrix, *String, ...20:11
@sonney2kblackburn, why not?20:11
blackburntypemaps won't work20:11
@sonney2kthat's all weird...20:11
@sonney2kthen really the only option is to use %extends or what it is called for all the classes that don't have a save_serializable20:12
@sonney2kand put a dummy method in there20:12
@sonney2kfor java only that is20:12
blackburnbut what about ignores?20:13
blackburnshould it stay?20:13
blackburnit could speed up compilation20:14
@sonney2kI thought ignores will work but it seems not... might be that ignores work for python though20:14
@sonney2kso try some #ifdef SWIGPYTHON #endif around them20:14
@sonney2kif it still compiles -> all good20:14
blackburnwill *not* work for python?20:14
blackburnand by the way20:14
blackburnI found one thing could be interesting20:14
blackburnwe should ignore operator=20:14
blackburnand operator[]20:15
blackburn== !=, etc20:15
@sonney2kyes20:16
@sonney2kblackburn, are you saying that %ignores will *not* work for python?20:16
blackburnsonney2k: I don't know yet20:17
@sonney2kblackburn, then just compile and run the examples :)20:17
blackburnI mean why sohuld I #ifdef SWIGPYTHON them?20:17
CIA-87shogun: Heiko Strathmann master * r495e76b / examples/undocumented/libshogun/serialization_ascii.cpp : added serialization example - http://bit.ly/nTUSfv20:18
CIA-87shogun: Heiko Strathmann master * r0be1f49 / examples/undocumented/libshogun/Makefile : added serialization example - http://bit.ly/oOiWjg20:18
CIA-87shogun: Soeren Sonnenburg master * r0e23718 / (2 files):20:18
CIA-87shogun: Merge pull request #281 from karlnapf/master20:18
CIA-87shogun: serialization example - http://bit.ly/oir4k620:18
@sonney2kblackburn, because if it works for python then the wrapper will be much smaller and code compilation faster20:18
blackburnI know it works for java, I'll check if it works for python20:19
blackburnsonney2k: can't understand how to use %extend to add dummy save_serializable20:20
CIA-87shogun: Soeren Sonnenburg master * r6d51367 / (3 files):20:20
CIA-87shogun: Merge pull request #282 from frx/streaming_vw20:20
CIA-87shogun: Added VW parser class. - http://bit.ly/o8Smr220:20
blackburnI can %ignore all the classes and add dummy to every template structure class20:20
blackburnworks for you?20:20
@sonney2kblackburn, look at http://www.swig.org/Doc1.3/SWIG.html and search for %extend Vector20:21
@sonney2kthen it becomes clear20:21
@sonney2kblackburn, of course remove all %template for these then too20:21
CIA-87shogun: Soeren Sonnenburg master * rc8e5d1c / src/Makefile : remove lib/versionstring.h on distclean - http://bit.ly/qeGUra20:25
CIA-87shogun: Soeren Sonnenburg master * r10e7699 / (11 files in 5 dirs): Merge branch 'master' of github.com:shogun-toolbox/shogun - http://bit.ly/nTHetq20:25
blackburnsonney2k: do you know if #extend might be used for every class in include?20:27
@sonney2k%extend20:28
@sonney2kjust define a macro20:28
@sonney2kand then do the magic20:28
blackburn%include <shogun/lib/DataType.h>20:28
blackburn%extend *20:28
blackburn{20:28
blackburn        bool save_serializable(SerializableFile* file, const char* rw) {} ;20:28
blackburn};20:28
blackburnthat's how I did it20:28
@sonney2kI don't think that this is allowed20:28
blackburnsoo should I %extend every class??20:28
@sonney2kbesides it would clash with the other SGObject derived classes20:28
@sonney2kyes20:29
blackburnuuuuh20:29
@sonney2kblackburn, well it is easy - that will be all classes without C prefix20:29
blackburnbut templates?20:29
@sonney2kso just grep 'class ' in header file20:29
@sonney2kblackburn, no difference20:29
@sonney2kfor templates you also only have to do it once20:29
blackburnI mean can I write extend Class<T>?20:29
@sonney2kI would expect so20:30
@sonney2kand you can use macro like20:30
blackburnokay will try20:30
@sonney2kEXTEND_SERIALIZABLE(SGVector)20:30
@sonney2kso you only have to write that list20:30
blackburnokay20:31
CIA-87shogun: Soeren Sonnenburg master * r70476d8 / src/Makefile :20:33
CIA-87shogun: Revert "remove lib/versionstring.h on distclean"20:33
CIA-87shogun: This reverts commit c8e5d1c767cd3f08adacdc84e204ed116e02d2ca.20:33
CIA-87shogun: Releases contain lib/versionstring.h and this file is just once auto20:33
CIA-87shogun: generated before releases. So removing it in distclean will require to20:33
CIA-87shogun: unpack the tarball again -> not a good idea. - http://bit.ly/pVybuW20:33
blackburnwhat are you doing? :D20:35
@bettyboo<:*)20:36
@sonney2kthat @@$&%&*@%!! buildbot refuses to recognize the changes...20:36
blackburnhe wants to do nothing?20:38
@sonney2kf-x,20:38
@sonney2kclassifier/vw/VwParser.cpp: In constructor 'shogun::CVwParser::CVwParser()':20:38
@sonney2kclassifier/vw/VwParser.cpp:25:18: error: invalid conversion from 'uint32_t (*)(shogun::substring, uint32_t) {aka unsigned int (*)(shogun::substring, unsigned int)}' to 'shogun::hash_func_t {aka long unsigned int (*)(shogun::substring, unsigned int)}' [-fpermissive]20:38
@sonney2kclassifier/vw/VwParser.cpp: In constructor 'shogun::CVwParser::CVwParser(shogun::CVwEnvironment*)':20:38
@sonney2kclassifier/vw/VwParser.cpp:36:18: error: invalid conversion from 'uint32_t (*)(shogun::substring, uint32_t) {aka unsigned int (*)(shogun::substring, unsigned int)}' to 'shogun::hash_func_t {aka long unsigned int (*)(shogun::substring, unsigned int)}' [-fpermissive]20:38
@sonney2kcurrent git doesn't compile20:38
@sonney2kblackburn, yeah and I even updated to the latest version20:39
f-xsonney2k: i compiled that on my computer and it did.. i'll check again20:39
@sonney2kblackburn, I don't understand why gitpoller seems to detect a new version but then nothing happens...20:40
@sonney2kf-x, you probably have a 32bit machine?20:40
f-xhmm yes20:40
f-xthe size_t problem?20:40
blackburnshit!20:41
f-xsonney2k: ok i'll replace size_t by uint32_t in the typedef20:41
f-xthat should work20:41
blackburndeleted modshogun_ignores with git clean -dfx20:41
blackburn:DD20:41
f-xsonney2k: i've replaced it and sent the pull request.. i think it should be ok20:46
f-xand now i see what you mean by the use of size_t being a problem20:46
blackburnsonney2k: are parsers needed in modular?20:52
blackburnit seems there are no parser used in python_modular20:56
CIA-87shogun: Shashwat Lal Das master * r960471e / src/shogun/classifier/vw/vw_common.h : Replaced size_t with uint32_t in hash func typedef. - http://bit.ly/o1stLA20:57
CIA-87shogun: Soeren Sonnenburg master * rb75a971 / src/shogun/classifier/vw/vw_common.h :20:57
CIA-87shogun: Merge pull request #283 from frx/streaming_vw20:57
CIA-87shogun: Replaced size_t with uint32_t in hash func typedef. - http://bit.ly/nb9Xhx20:57
f-xsonney2k: does it compile now?20:57
-!- heiko [~heiko@134.91.55.45] has joined #shogun20:58
@sonney2kwe might know in 20 minutes21:00
f-x20 minutes?? oh wow21:01
@sonney2kthat is how long it takes to build for *all* interfaces21:02
@sonney2kf-x, did compile21:23
@sonney2konly 3042 warnings21:23
@sonney2ko_O21:23
f-xand that's exactly 20 minutes later21:23
f-xsonney2k: how come the warnings don't show up with make? what kind of warnings are these?21:24
@sonney2kthey show up with make21:24
f-xor maybe it's since i have only been compiling with libshogun21:24
@sonney2kwhich g++ version do you have?21:24
f-x4.6.121:24
@sonney2kgcc version 4.6.1 (Debian 4.6.1-6)21:25
@sonney2khere too21:25
f-xbut i only do libshogun21:25
@sonney2kon 64bit ...21:25
f-x32 here21:25
@sonney2kf-x, http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html21:30
@sonney2kthis is the thing that bites us21:30
f-xsonney2k: treating the value first as float and then dereferencing as int?21:31
@sonney2kit is having two pointers of different type pointing to the same memory location21:31
@sonney2killegal with -fstrict-aliasing21:32
f-xyeah21:32
f-xsonney2k: so do you think the invsqrt has to be changed?21:37
f-xor can we do -fno-strict-aliasing and get away with it?21:37
@sonney2kin the document above it is recommended to use a union to do the casting21:37
@sonney2kunion { float x; int y }21:37
blackburnbut 3042 warnings?21:38
@sonney2kthen one could access x / y w/o errors and get the conversions21:38
blackburnthe whole shogun is a one big warning?21:38
@sonney2kblackburn, yeah that thing generates only say 100-20021:38
@sonney2kblackburn, every function/variable that is not documented will generate a warning21:39
blackburnah I see21:39
f-xsonney2k: what flags do you use to get these extra warnings?21:39
@sonney2kso way to go for shogun 1.021:40
@sonney2kf-x, $ cat x.cpp21:40
@sonney2kint main()21:40
@sonney2k{21:40
@sonney2k        volatile float x=17.0;21:40
@sonney2k        volatile int i = ((int*)((void*)&x))[0];21:40
@sonney2k}21:40
@sonney2kg++ -O2 -Wall -Wstrict-aliasing -fstrict-aliasing x.cpp21:40
f-x@1025:  1:10AM$ g++ -O2 -Wall -Wstrict-aliasing -fstrict-aliasing alias.cpp21:42
f-xalias.cpp: In function ‘int main()’:21:42
f-xalias.cpp:4:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]21:42
f-xalias.cpp:4:23: warning: unused variable ‘i’ [-Wunused-variable]21:42
f-x 21:42
blackburnI guess we have to have some doc-marathon21:42
blackburnsonney2k: good news - no dummy is required21:44
@sonney2kblackburn, how so?21:44
blackburnremoving template solve the problem21:44
@sonney2klike I said :)21:44
blackburnsonney2k: much less classes to compile21:49
blackburnI guess it will compile faster now21:49
CIA-87shogun: Soeren Sonnenburg master * r072dabc / src/shogun/lib/DataType.cpp : fix uninitialized variable warning - http://bit.ly/nELciy21:51
blackburnsonney2k: how can I hide some struct from SWIG in .h?21:51
@sonney2kblackburn, so check if it still compiles21:51
@sonney2kwould be great21:51
@sonney2kblackburn, ?!21:51
blackburnstruct SSKDoubleFeature21:52
blackburn{21:52
blackburn        int feature1;21:52
blackburn        int feature2;21:52
blackburn        int group;21:52
blackburn};21:52
@sonney2kthe buildbot builds :)))))21:52
blackburn%ignore can't help with this thing21:52
@sonney2k%ignore struct SSKDoubleFeature;  doesn't work?21:52
blackburntried without struct21:52
blackburnwill try with struct21:52
blackburnsonney2k: compiles with python_modular21:53
@sonney2kblackburn, yeah but try if it compiles with java - could very well be that java is more picky21:56
blackburnthe only thing to solve now is to 'hide' QP and SSK*Feature21:56
CIA-87shogun: Soeren Sonnenburg master * r81af90d / src/shogun/lib/DataType.cpp : fix another g++ uninited warning - http://bit.ly/pm5SBD21:58
blackburnsonney2k: so buildbot works?21:58
-!- heiko [~heiko@134.91.55.45] has quit [Quit: Leaving.]21:58
@sonney2kseems so22:06
@sonney2kblackburn, given the current commit rate it will build non-stop all day long22:08
blackburnsonney2k: hehe22:08
CIA-87shogun: Shashwat Lal Das master * rcfb3f07 / (2 files): Added StreamingVwFile. - http://bit.ly/r8szQ322:08
CIA-87shogun: Shashwat Lal Das master * r057b70b / (2 files): Modified StreamingFile to include VwExample read functions. - http://bit.ly/pLkKcb22:08
CIA-87shogun: Shashwat Lal Das master * rc59c21f / src/shogun/io/StreamingVwFile.cpp : Made the parser type switch statement handle cases better. - http://bit.ly/o8S4n522:08
CIA-87shogun: Shashwat Lal Das master * rbc3f108 / src/shogun/classifier/vw/VwParser.cpp : Improved another switch-case block in VwParser. - http://bit.ly/nasouX22:08
CIA-87shogun: Soeren Sonnenburg master * r47bedcc / (5 files in 2 dirs):22:09
CIA-87shogun: Merge pull request #284 from frx/streaming_vw22:09
CIA-87shogun: Added StreamingVwFile. - http://bit.ly/rmN9Wd22:09
blackburn3 classes to %ignore!22:09
-!- alesis-novik [~alesis@188.74.87.206] has quit [Ping timeout: 252 seconds]22:12
@sonney2kblackburn, if you get things to compile in <2G I can run 4 buildslaves22:20
@sonney2know I can only afford 222:20
blackburnsonney2k: how to change tabs in vim :D22:21
@bettyboogrin! 8)22:21
blackburnI ran nerdtree22:21
blackburnAAA22:21
@sonney2k:set ts=422:22
blackburnwhat is ts?22:22
@sonney2kor did you mean tabsize22:22
blackburnnoo22:22
blackburnwindows or so22:22
@sonney2kor set et22:23
blackburnwindows/tabs/..22:23
@sonney2kexpandtab -> spaces22:23
@sonney2kahh22:23
@sonney2kgT22:23
@sonney2k:22:23
blackburndidn't help hmm22:24
f-xsonney2k: tiny question - do we have to add the Yahoo part of the copyright in every file linked to VW?22:24
f-xi mean in StreamingVwFile etc where no actual code is taken from there22:24
@sonney2kf-x, then not22:25
f-xwell ok then22:25
@sonney2kf-x, only in the files that have code from yahoo *not just call functions from them*22:25
-!- alesis-novik [~alesis@vpn2-170.vpn.net.ed.ac.uk] has joined #shogun22:25
f-xhmm ok thanks.. that's more clear.22:25
blackburnsonney2k: changing buffer is what I wanted22:28
blackburnCtrl+WW is pretty bad combination hehe22:28
@sonney2kblackburn, hehe22:29
@sonney2kf-x, I have a fix for the strict-aliasing thing22:29
f-xgreat! how?22:29
blackburnclosed two tabs in my Guake heh22:29
@sonney2kf-x, I am defining             union float_to_int22:30
@sonney2k            {22:30
@sonney2k                float32_t f;22:30
@sonney2k                int32_t i;22:30
@sonney2k            };22:30
@sonney2kand then do float_to_int tmp; tmp.f=x; and then one can access tmp.i22:30
f-xsonney2k: neat.. and the article says the compiler can optimize this pretty well too22:34
@sonney2kf-x, ahh btw I thing I understand now why you don't see the warnings22:36
@sonney2kone needs to compile with optimizations on22:36
@sonney2kbecause only then stric-aliasing is turned on22:36
f-xsonney2k: ahh.. there should be a -W flag which does this without -O too shouldn't there?22:37
@sonney2kf-x, no you need to do -fstrict-aliasing and turn the warnings on22:37
f-xok, i'll add that to my configure command too22:38
CIA-87shogun: Soeren Sonnenburg master * r4eb1ae9 / src/shogun/mathematics/Math.h : use unions to fix warnings w/ strict-aliasing on - http://bit.ly/nLkXtw22:38
CIA-87shogun: Soeren Sonnenburg master * r4c44f6b / (5 files in 2 dirs): Merge branch 'master' of github.com:shogun-toolbox/shogun - http://bit.ly/rbpzvj22:38
@sonney2kf-x, I committed the fix22:38
blackburnwtf is QP22:39
@sonney2kblackburn, quadratic program22:39
f-xsonney2k: great, thanks..22:39
blackburnsonney2k: I can't find where it is declared22:39
@sonney2kblackburn, do you mean the one in shogun/classifier/svm/SVMLight.h22:40
@sonney2k?22:40
blackburnyeah22:41
blackburnseems that22:41
@sonney2kit is declared in place...22:41
@sonney2kI hate this syntax22:41
blackburnignore doesn't work for this struct22:41
@sonney2kblackburn, we don't need this to be a typedef22:42
CIA-87shogun: Soeren Sonnenburg master * r0796878 / (4 files in 4 dirs): fix further uninited warnings - http://bit.ly/pyaqpn22:42
blackburnso how to ignore that?22:42
@sonney2kremove the typedef;22:42
@sonney2kalternative ignore quadratic_program and QP22:44
blackburnI would not modify code22:44
@sonney2kwhy not?22:44
@sonney2kwith heikos soon to come ueber serilaization stuff we will be able to do testing throughout all modular interfaces22:45
@sonney2kblackburn, that will solve our test suite issues22:45
blackburnnice22:45
@sonney2kblackburn, so we can use the tests from python_modular22:45
@sonney2kand just load these serilazed objects in other languages and compare22:46
blackburnjava modular should work now22:46
@sonney2kwith you %ignores'?22:46
blackburnyes22:47
blackburnI did some code for writeObject22:47
@sonney2kand the other languages too?22:47
blackburnfor python too22:47
blackburndon't know about any other22:47
@sonney2kthe buildbot will tell22:47
blackburnmay be it could be faster to test it on buildbot22:47
@sonney2khow big are the wrappers now?22:47
blackburn.so?22:47
@sonney2kno *_wrap.cxx22:48
blackburnI'll let you know in a minute or so22:49
@sonney2kI think I should set up ccache for the buildbot22:49
@sonney2kit is too slow otherwise if there are just minimal changes22:49
CIA-87shogun: Shashwat Lal Das master * rc73dbc8 / (2 files): Added StreamingVwCacheFile. - http://bit.ly/ot3DPh22:49
CIA-87shogun: Soeren Sonnenburg master * r7cca7ff / (2 files):22:49
CIA-87shogun: Merge pull request #285 from frx/streaming_vw22:49
CIA-87shogun: Added StreamingVwCacheFile. - http://bit.ly/r5MtKN22:49
blackburnhmm took ~600mb on my machine22:50
@sonney2kblackburn, the good news is that it can send out emails to people complaining about code breakage22:50
@sonney2kblackburn, yay!22:50
@sonney2kthat would be great?22:50
@sonney2kdo the scripts all still work?22:50
@sonney2kblackburn, and how big are the *wrap* files?22:50
blackburnsonney2k: remind me a command to get size of file?22:51
@sonney2kls -lh22:51
blackburn5.3M 2011-08-11 00:49 interfaces/java_modular/modshogun_wrap.cxx22:51
blackburnjava22:51
blackburnI'll check python now22:51
@sonney2kit was 41M here22:52
blackburnwow why it changed so much?22:52
@sonney2kuseless wrappers removed22:52
blackburnI should check if all examples work in python22:52
@sonney2kbut blackburn please check if python modular examples still work22:53
blackburnI will22:53
@sonney2kotherwise this might be useless22:53
blackburnno, should work22:54
@sonney2kblackburn, that would be soooo great22:56
@sonney2kthen the buildbot here could use all 4 cores22:56
blackburn12M 2011-08-11 00:55 interfaces/python_modular/modshogun_wrap.cxx22:57
@sonney2kthe cpu is still at 29 C even when building - so just parallelizing things would be super cool22:57
blackburnsonney2k: no, not working :(22:58
@sonney2kblackburn, what happens?22:58
blackburnNotImplementedError: Wrong number of arguments for overloaded function 'new_RealFeatu22:58
@sonney2kblackburn, but java did work?22:59
blackburnexamples? don't know22:59
@sonney2kof course examples...22:59
blackburnI checked only compilation22:59
@sonney2kcompiling usually works22:59
@sonney2ktoo bad22:59
blackburnsonney2k: the problem is all the %template things are used in python typemaps23:01
blackburnhmm no23:02
@sonney2kI don't understand23:02
blackburnnevermind23:02
blackburnI'll try to get it work in python23:03
blackburnrestored template things for matrices and vectors23:03
@sonney2kyeah it could be that it will work when these are there23:04
@sonney2kthat shouldn't be too much bloat23:04
blackburnbut I've ignored not too much23:05
blackburnExamplesRing23:05
blackburnParser23:05
blackburnboth sparse and *23:05
blackburnand some ~15 ignores23:05
blackburnand operators[], etc23:06
f-xblackburn: i think the ExamplesRing and Parser can be safely ignored - one doesn't need to call any of their functions explicitly23:08
f-x(if that's what %ignore is for, i don't know)23:08
@sonney2kf-x, %ignore stuff is for hiding them from the modular interfaces23:08
blackburnf-x: well so I just removed %template things23:08
@sonney2klike python /java etc23:08
blackburnsonney2k: OK now23:09
blackburnehhh23:09
blackburnsome segfaults??23:09
@sonney2kblackburn, wrapper size?23:09
blackburnsonney2k: 15m23:09
@sonney2kblackburn, no idea if it did segfault before23:10
blackburnsonney2k: please run classifier_svmsgd_modular.py23:10
@sonney2kwe didn't have a test / buildbot before ...23:10
blackburnand classifier_subgradientsvm_modular.py23:10
@sonney2kblackburn, crashes with double free23:11
blackburnboom23:11
blackburnokay except this everything is working23:11
@sonney2kblackburn, then better try all java_modular examples23:11
f-xsonney2k: where is the double free? the only major change was the introduction of the LossFunction class in SVMSGD23:11
blackburnsonney2k: will try to remove DynamicArray things23:12
@sonney2kf-x, shogun::SGSparseVector<double>::free_vector() (DataType.h:340)23:13
f-xsonney2k: ok.. but it doesn't make sense if it was working until now23:14
@sonney2kf-x, very likely it wasn't working for some time23:15
blackburnuh it was wrong to ignore parallel23:19
@sonney2kwe now have twice the build slaves :)23:28
blackburnrestored parallel23:28
blackburntrying without svmsgd23:28
blackburnand subgradient23:28
blackburnuhoh23:28
blackburndistance_sparseeuclidean_modular.py23:29
blackburnsvmlin23:29
blackburnsvmocas23:29
@sonney2kso everything that uses sparse23:29
@sonney2keasy to fix then :)23:29
blackburnrunning features_string_sliding_window_modular.py .. ERROR23:29
blackburnrunning features_io_modular.py .. ERROR23:29
blackburnworried about io23:29
blackburnhope I didn't cause it23:30
blackburnah23:30
blackburnHDF523:30
blackburnokat23:30
blackburnokay23:30
blackburnsonney2k: could you please fix that sparse bug?23:30
@sonney2kblackburn, the fix is not that easy though... more involved than I thought. hmm23:39
blackburnokay23:39
blackburnI'll try to write extends for data types that should stay23:40
@sonney2kyeah!23:41
@sonney2kwe are down to 2543 warnings!23:41
@sonney2kand only about 50 of them are not 'documentation missing'23:42
@sonney2kblackburn, don't forget to use a macro for that23:43
blackburnsonney2k: yeah currently writing it23:44
@sonney2kkk23:44
--- Log closed Thu Aug 11 00:00:59 2011

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