--- Log opened Sun Oct 28 00:00:04 2012 | ||
--- Day changed Sun Oct 28 2012 | ||
@sonney2k | wiking, I see | 00:00 |
---|---|---|
wiking | and in c++ i return CData* from the dynarray | 00:00 |
wiking | but if i cannot do this casting | 00:00 |
wiking | then there's no way u can use this from python | 00:00 |
blackburn | unsolvable shit | 00:00 |
wiking | :( | 00:00 |
@sonney2k | wiking, so you need to implement multiple classes right? | 00:00 |
wiking | yes | 00:00 |
@sonney2k | and one depends on the extended other one | 00:00 |
@sonney2k | yeah - no idea | 00:00 |
@sonney2k | ask on the swig ml | 00:01 |
wiking | and since it's always application dependent | 00:01 |
wiking | i cannot even like predefine a set of classes in c++ | 00:01 |
@sonney2k | solution would be to have one class doing both :D | 00:01 |
wiking | haha | 00:01 |
wiking | overkill | 00:01 |
wiking | :> | 00:01 |
@sonney2k | wiking, well ask on the swig ML! | 00:02 |
blackburn | sonney2k: I will patch PCA soon to use redsvd | 00:06 |
blackburn | impressive thing | 00:06 |
blackburn | decomposition of 10k x 10k sparse matrix in 1.5 seconds | 00:06 |
@sonney2k | blackburn, what is redsvd? | 00:08 |
blackburn | http://code.google.com/p/redsvd/wiki/English sonney2k | 00:08 |
@sonney2k | impressive and yet another dependency :/ | 00:10 |
blackburn | sonney2k: all code in .hpp | 00:10 |
blackburn | :D | 00:10 |
blackburn | 20 lines lol | 00:10 |
@sonney2k | but I guess we just stop counting :D | 00:10 |
@sonney2k | 20 lines only ??? | 00:10 |
@sonney2k | how come? | 00:10 |
blackburn | sonney2k: http://code.google.com/p/redsvd/source/browse/trunk/src/redsvd.hpp | 00:11 |
heiko | sonney2k, I now added a feed for all entries on the site | 00:11 |
heiko | http://herrstrathmann.de/?format=feed&type=rss | 00:11 |
blackburn | sonney2k: all the method are in lines 50-86 | 00:11 |
blackburn | sonney2k: I think all nice stuff is pretty compact | 00:13 |
blackburn | liblinear is small yet efficient as well | 00:13 |
@sonney2k | not that small | 00:16 |
@sonney2k | heiko, ok I am adding this | 00:16 |
blackburn | sonney2k: liblinear you mean? multiclass is very compact | 00:17 |
@sonney2k | heiko, done | 00:18 |
-!- heiko1 [~heiko@host86-174-151-159.range86-174.btcentralplus.com] has joined #shogun | 01:25 | |
-!- heiko [~heiko@host86-176-2-92.range86-176.btcentralplus.com] has quit [Ping timeout: 240 seconds] | 01:27 | |
wiking | 2+1 = 2 tonight :D | 02:03 |
-!- heiko1 [~heiko@host86-174-151-159.range86-174.btcentralplus.com] has quit [Quit: Leaving.] | 02:25 | |
-!- ptizoom [~christian@79-71-87-88.dynamic.dsl.as9105.com] has quit [Quit: Ex-Chat] | 03:18 | |
-!- ptizoom_ [~christian@79-71-87-88.dynamic.dsl.as9105.com] has joined #shogun | 03:18 | |
shogun-buildbot | build #148 of nightly_default is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_default/builds/148 | 04:07 |
-!- ptizoom__ [~christian@79-71-87-88.dynamic.dsl.as9105.com] has joined #shogun | 07:08 | |
-!- ptizoom_ [~christian@79-71-87-88.dynamic.dsl.as9105.com] has quit [Read error: Connection reset by peer] | 07:08 | |
-!- Netsplit *.net <-> *.split quits: audy, naywhayare, shogun-buildbot | 07:43 | |
-!- Netsplit over, joins: audy, naywhayare, shogun-buildbot | 07:48 | |
-!- ptizoom__ is now known as ptizoom | 07:55 | |
-!- Netsplit *.net <-> *.split quits: audy, naywhayare, shogun-buildbot | 08:43 | |
-!- Netsplit over, joins: audy, naywhayare, shogun-buildbot | 09:30 | |
-!- Netsplit *.net <-> *.split quits: audy, naywhayare, shogun-buildbot | 10:34 | |
-!- Netsplit over, joins: audy, naywhayare, shogun-buildbot | 10:38 | |
-!- wiking [~wiking@info2k1.hu] has quit [Changing host] | 11:38 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 11:38 | |
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has quit [Ping timeout: 252 seconds] | 12:27 | |
-!- blackburn1 [~blackburn@188.168.3.27] has joined #shogun | 12:35 | |
-!- blackburn [~blackburn@188.168.4.221] has quit [Ping timeout: 245 seconds] | 12:38 | |
-!- gsomix [~gsomix@188.168.3.27] has joined #shogun | 14:25 | |
-!- heiko [~heiko@host86-177-179-234.range86-177.btcentralplus.com] has joined #shogun | 14:39 | |
-!- heiko [~heiko@host86-177-179-234.range86-177.btcentralplus.com] has quit [Quit: Leaving.] | 14:44 | |
-!- gsomix [~gsomix@188.168.3.27] has quit [Ping timeout: 245 seconds] | 15:13 | |
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has joined #shogun | 15:30 | |
-!- gsomix [~gsomix@188.168.3.27] has joined #shogun | 15:30 | |
wiking | ping | 16:55 |
wiking | blackburn1: yo here? | 16:55 |
blackburn1 | wiking: yeah | 17:01 |
-!- blackburn1 is now known as blackburn | 17:01 | |
wiking | so what's with that new lib? :) | 17:08 |
blackburn | wiking: which one? | 17:11 |
wiking | that u were testing yesterday | 17:12 |
blackburn | hmm testing? | 17:13 |
wiking | well yeah | 17:20 |
wiking | that svd stuff | 17:20 |
blackburn | ahhhh | 17:21 |
blackburn | didn't manage to test it yet | 17:21 |
blackburn | wiking: works for gaussian so far, will test on swissroll just in a few minutes I hope | 17:26 |
blackburn | wiking: no it doesn't work :D | 17:59 |
wiking | :D | 18:01 |
wiking | :( | 18:01 |
-shogungit:#shogun- [shogun] karlnapf opened pull request #806: added new perform_method, which (master...master) https://github.com/shogun-toolbox/shogun/pull/806 | 18:02 | |
-shogungit:#shogun- [shogun] karlnapf pushed 2 new commits to master: https://github.com/shogun-toolbox/shogun/compare/bbc4a3bbb433...1629d82d7606 | 18:02 | |
-shogungit:#shogun- shogun/master 12265ad Heiko Strathmann: added new perform_test method which makes testing more efficient in certain cases and is a wrapper otherwise | 18:02 | |
-shogungit:#shogun- shogun/master 1629d82 Heiko Strathmann: Merge pull request #806 from karlnapf/master... | 18:02 | |
blackburn | wiking: I managed to develop a gaussian generator so far :D | 18:04 |
blackburn | instead of dimensionality reduction | 18:04 |
-!- gsomix [~gsomix@188.168.3.27] has quit [Ping timeout: 245 seconds] | 18:26 | |
-!- gsomix [~gsomix@188.168.3.27] has joined #shogun | 18:31 | |
-!- gsomix [~gsomix@188.168.3.27] has quit [Ping timeout: 245 seconds] | 18:41 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 19:09 | |
n4nd0 | sonney2k: hi, I think it would be good if shogun-toolbox.org/irclogs redirects to this page/contact/irclogs (the calendar) instead of the current one | 19:10 |
n4nd0 | sonney2k: what do you think? | 19:10 |
blackburn | n4nd0: just fix that ;) | 19:17 |
n4nd0 | blackburn: I will probably screw it up if I change something of the web :P | 19:18 |
blackburn | I hope you won't :) | 19:18 |
blackburn | n4nd0: my prototype works like gaussian generator | 19:33 |
blackburn | :D | 19:33 |
n4nd0 | blackburn: what does that mean? hehe | 19:33 |
n4nd0 | oh | 19:33 |
n4nd0 | a bit random? | 19:33 |
n4nd0 | :O | 19:34 |
blackburn | yeah it has an answer for the question of universe | 19:34 |
blackburn | gaussian blob that is | 19:34 |
blackburn | n4nd0: I localized the problem though | 19:36 |
n4nd0 | good new | 19:36 |
blackburn | eigen brings some pain in ass as well | 19:48 |
blackburn | gaussian generator in da house | 19:52 |
n4nd0 | hehe | 19:53 |
blackburn | n4nd0: oh! I've got a cross scatter plot | 19:54 |
blackburn | may be he wants me to become a christian | 19:54 |
n4nd0 | blackburn: may I see? | 19:55 |
n4nd0 | hehe | 19:55 |
blackburn | n4nd0: https://dl.dropbox.com/u/10139213/shogun/fuckthisshit.png | 19:55 |
blackburn | what can I say is that it is not a swissroll embedding yet | 19:56 |
blackburn | :D | 19:56 |
n4nd0 | haha | 19:58 |
n4nd0 | definitely it is not | 19:58 |
blackburn | I expect something is wrong in eigendecomposion as I fixed weights computation | 19:58 |
blackburn | probably it is a bad idea to start with experimental method | 19:58 |
blackburn | hmmm I must have crazy lapack skills :D | 20:04 |
blackburn | wrapper in 6 minutes | 20:04 |
blackburn | should write a book | 20:05 |
-!- heiko [~heiko@host86-177-179-234.range86-177.btcentralplus.com] has joined #shogun | 20:05 | |
heiko | sonney2k, blackburn, around? | 20:05 |
blackburn | ich bin around | 20:05 |
heiko | hallo blackburn, wie gehts? :) | 20:06 |
blackburn | I do know what is the question but no idea how to answer | 20:06 |
blackburn | :D | 20:06 |
heiko | blackburn, if I ask a kernel machine to give me its kernel via get_kernel(), and I do this in python, AND I know that this kernel is a Gaussian kernel, how can I call get_width() on it? since get_kernel returns type of CKernel, not CGaussianKernel | 20:07 |
blackburn | for some reason I know ich bin muede | 20:07 |
heiko | blackburn, this was "How are you?" :) | 20:07 |
blackburn | heiko: yes, I know | 20:07 |
blackburn | but no german analogue of 'I'm fine' in my mind | 20:07 |
blackburn | :D | 20:07 |
heiko | ah , sorry, I see | 20:07 |
wiking | heiko: is ther an obtain_from_generic() in CGaussianKernel | 20:07 |
heiko | blackburn: "Gut, Danke!" "I am fine, thanks" | 20:07 |
wiking | heiko: if not then define one | 20:07 |
wiking | and call that from your python code | 20:07 |
blackburn | heiko: you are in wiking 22 situation | 20:07 |
heiko | okay, cool this is exactly I wanted to know | 20:08 |
wiking | blackburn: but he can fix it :) | 20:08 |
blackburn | but wiking 22 is even more tough | 20:08 |
wiking | blackburn: as he has his class defined in c++ ;P | 20:08 |
heiko | blackburn, just wasnt sure whether to use copy constructor or separate method | 20:08 |
blackburn | it is just impossibru | 20:08 |
blackburn | heiko: you have to unfortunately | 20:08 |
blackburn | heiko: stupid stupid python | 20:08 |
heiko | so copy constructor for CGaussianKernel AND obtain from generic, right? | 20:08 |
wiking | you don't need that | 20:09 |
heiko | blackburn, thanks | 20:09 |
wiking | heiko: just define a static function | 20:09 |
wiking | obtain_from_generic | 20:09 |
heiko | wiking, static function? | 20:09 |
wiking | and you're good to go | 20:09 |
wiking | yeah check out other classes how they deal with it | 20:09 |
heiko | wiking, ok, thanks, what is an example? | 20:09 |
blackburn | n4nd0: I've got another cross now with lapack | 20:10 |
heiko | wiking, I just saw dense features | 20:10 |
blackburn | one more patch and I will see jesus | 20:10 |
heiko | but there it is not static | 20:10 |
wiking | heiko: src/shogun/structure/MulticlassSOLabels.h | 20:10 |
heiko | uh | 20:11 |
heiko | annoying, | 20:11 |
wiking | heiko: you can do this with EKernelType | 20:11 |
heiko | wiking, blackburn, we need this for every class, is there some way of not having to implement this all the time? :) | 20:11 |
wiking | heiko: get_kernel_type and then do the typecasting | 20:11 |
blackburn | heiko: I'd like to have one | 20:11 |
blackburn | :D | 20:11 |
heiko | I am lazy | 20:12 |
heiko | this is needed for all models selection classes | 20:12 |
heiko | what about adding this to CKernel? | 20:12 |
blackburn | it is out of OOP to be honest | 20:12 |
wiking | heiko: well that won't help u | 20:12 |
heiko | wiking, and then using copy constructors | 20:13 |
wiking | as u always have to return the right class type | 20:13 |
heiko | yeh | 20:13 |
wiking | heiko: and what's going to be the definition of that function | 20:13 |
wiking | ? :) | 20:13 |
wiking | what will it return, CKernel* ?:) | 20:13 |
wiking | because then you are at square one | 20:13 |
heiko | wiking, yeah ........ | 20:13 |
heiko | damn :) | 20:13 |
heiko | ok, then, people will have to ask for that everytime they need it | 20:14 |
wiking | heiko: you'll most probably have to define this everywhere | 20:14 |
wiking | but of course | 20:14 |
wiking | you can do a macro hack i think | 20:14 |
wiking | so do this magic with macros | 20:14 |
wiking | and then the macro will generate you the code for compilation | 20:14 |
wiking | or templating ;) | 20:14 |
wiking | yeah templating could work somehow :) | 20:15 |
heiko | wiking, yes, that might be possible, but is even more ugly :D | 20:20 |
heiko | wiking, blackburn, what about reference counting? | 20:24 |
blackburn | heiko: what about | 20:24 |
blackburn | ref counting? | 20:24 |
blackburn | :) | 20:24 |
heiko | this is not done multiclasssolabels | 20:24 |
heiko | no sgref | 20:24 |
heiko | dont we need that | 20:24 |
blackburn | hmm | 20:24 |
heiko | like in get_kernel of kernel machine | 20:24 |
heiko | since it produces a new reference to the object? | 20:25 |
wiking | heiko: no it's just typecasting | 20:25 |
blackburn | heiko: no just typecast for me | 20:25 |
wiking | it doesn't do anything else | 20:25 |
heiko | wiking, but when I do it in python I have two references to the same object | 20:25 |
wiking | but since there's no way you can do typecasting in python | 20:25 |
wiking | you have to do this ugly hack | 20:25 |
heiko | ok then, thanks guys | 20:26 |
wiking | when u do get_kernel() or whatever that'll ++ the refcounter | 20:26 |
blackburn | heiko: interesting point - can you check that? | 20:26 |
heiko | blackburn, how? | 20:26 |
wiking | afaik for a typecast u don't need an extra refcounter on it | 20:26 |
wiking | i certainly don't see a point for it :P | 20:26 |
blackburn | wiking: he means following: | 20:26 |
heiko | I mean actually, an SG_REF would be needed, its needed whenever we produce a new reference to an object | 20:26 |
blackburn | x = get_kernel() <- first appeareance of object | 20:27 |
blackburn | blablakernel.obtain_from_shit(x) <- second one | 20:27 |
blackburn | of the same object | 20:27 |
wiking | blackburn: but that second one should not ++ the refcounter | 20:27 |
wiking | as u essentially just casting there | 20:27 |
blackburn | wiking: it doesn't but after these two lines we have two references | 20:27 |
blackburn | to the same object | 20:27 |
blackburn | but +1 of ref counter only | 20:27 |
wiking | and? :) | 20:28 |
wiking | personally i wouldn't do it | 20:28 |
blackburn | but when they are going to be destructed | 20:28 |
heiko | If I now pass the first object to another place in python | 20:28 |
blackburn | it is -2 for ref counter right? | 20:28 |
heiko | and then the method is exited, then this object I passed on will be destroiyed | 20:28 |
heiko | I mean nobody will do this anyway, but technically, we need another +1 whenever we produce a reference, | 20:29 |
heiko | Doesnt hurt adding it, python will decrease it automatically | 20:29 |
wiking | heiko: yes python | 20:30 |
wiking | not c++ | 20:30 |
wiking | hence it'll hurt some other code | 20:30 |
wiking | but if u fix it | 20:30 |
wiking | then go ahead | 20:30 |
wiking | :) | 20:30 |
wiking | i certainly valgrind it | 20:30 |
wiking | as there's already there's some shit already with streamingfeatures | 20:30 |
heiko | but in c++ the agreement is that whenever you get an object, the ref-count is increased | 20:30 |
heiko | see get_kernel() etc | 20:30 |
heiko | also why should one use the method from c++ ? | 20:30 |
wiking | heiko: it's cleaner :)))) | 20:31 |
wiking | heiko: and it does a typechecking | 20:31 |
wiking | although of course | 20:31 |
heiko | I would rather do a dynamic_cast | 20:31 |
wiking | in c++ you could try dynamic_cast | 20:31 |
wiking | yes indeed | 20:31 |
wiking | but sonney2k killed me for that one | 20:31 |
heiko | for dynamic casts? | 20:31 |
heiko | why that? | 20:31 |
wiking | when i did it in one of my code | 20:31 |
wiking | yeah he made me remove it :> | 20:31 |
heiko | for what reason? | 20:31 |
heiko | Actually, one doesnt even need a dynamic cast | 20:32 |
heiko | a simple cast is ok | 20:32 |
wiking | shame one cannot search in PRs | 20:32 |
wiking | heiko: well dyncast at least does some checking | 20:32 |
heiko | since the method will throw an error if the type is wrong anyway | 20:32 |
wiking | and it'll throw an exception if u wanna do some nasty shit | 20:32 |
heiko | one should never cast if one isnt sure about the type anyway | 20:32 |
heiko | anyway, different topic :) | 20:32 |
-shogungit:#shogun- [shogun] karlnapf opened pull request #807: added obtain_from_generic to GaussianKernel (master...master) https://github.com/shogun-toolbox/shogun/pull/807 | 20:37 | |
blackburn | n4nd0: fuck this shit, it works! | 20:53 |
wiking | \o/ | 20:55 |
wiking | notmine | 20:55 |
wiking | :( | 20:55 |
blackburn | wiking: heh | 20:55 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 240 seconds] | 20:56 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 21:11 | |
heiko | blackburn, still there? | 21:21 |
blackburn | heiko: yes | 21:21 |
heiko | blackburn, there is a memory bug in CCrossValidationMulticlassStorage | 21:21 |
heiko | blackburn, related to pointers to SgVectors | 21:21 |
heiko | I dont know about this, I think we shold totally avoid these | 21:21 |
heiko | they cause massive trouble on the long run | 21:21 |
blackburn | heiko: like arrays of sgvectors? | 21:22 |
heiko | yes | 21:22 |
heiko | these should not exist in my eyes | 21:22 |
blackburn | hah what to use instead? | 21:22 |
heiko | we have to think of something | 21:22 |
wiking | std::vector<SGVector<> > | 21:23 |
heiko | if we continue like this, we will totally destroy any serialization | 21:23 |
wiking | FTW | 21:23 |
heiko | also its so hard to debug when there is a mixture of auto-ref-counting and these arrays of SGVectors | 21:23 |
heiko | blackburn, I mean usually you know how many vectors you want to have, so just ust a matrix | 21:23 |
blackburn | heiko: SGVector<>[] would work too | 21:23 |
heiko | what about a matrix instead? | 21:23 |
blackburn | it is not always possible | 21:24 |
heiko | And we *definitely* need to think about a data structure that can dynamically handle SGVectors | 21:24 |
heiko | blackburn, but its possible most of the time | 21:24 |
heiko | e.g. in CCrossValidationMulticlassStorage | 21:24 |
blackburn | heiko: std:: vector :D | 21:24 |
heiko | you know how many you store before | 21:24 |
heiko | blackburn, no, so std:: things please | 21:24 |
heiko | think of serialization | 21:24 |
heiko | we *need* a new structure for this | 21:24 |
blackburn | heiko: just copy a std::vector then | 21:25 |
heiko | blackburn, what do you have against a matrix? | 21:25 |
heiko | whats the difference to SGVector<>* | 21:25 |
heiko | ? | 21:25 |
blackburn | heiko: nothing I am just unsure it is always possible | 21:25 |
heiko | blackburn, its not - but only if we need dynamic structures | 21:26 |
heiko | in this case SGVector<>* wont help anyway, | 21:26 |
heiko | so we can always avoid it | 21:26 |
heiko | and for the dynamic case, we need something new | 21:26 |
heiko | that can handle SGReferenced data | 21:26 |
heiko | also in the multiclass labels, there we can replace everything by SGMatrices | 21:27 |
heiko | since its not dynamic | 21:27 |
wiking | i need a dynamically resizeable Matrix | 21:27 |
heiko | This way, we ensure that shoguns parameter framework still can handle everything | 21:27 |
wiking | so if u come up with something then plz let me now | 21:27 |
wiking | currently i do | 21:27 |
heiko | wiking, yes I need one too | 21:27 |
wiking | std::vector<SGVector<> > | 21:27 |
blackburn | wiking: EIgen::MatrixXd | 21:28 |
blackburn | :D | 21:28 |
heiko | wiking, please dont use this construction | 21:28 |
wiking | heiko: hehehe yeah that's my solution :) | 21:28 |
wiking | heiko: why not? :) | 21:28 |
wiking | worksforme | 21:28 |
wiking | :D | 21:28 |
wiking | but i know that it's not allowed in shogun | 21:28 |
wiking | hence i haven't commited the code | 21:28 |
heiko | wiking, you will kill shogun :( | 21:28 |
heiko | *poor shogun* | 21:28 |
wiking | blackburn: ok so we are going with hard-linking to Eigen3? :) | 21:29 |
wiking | i have nothing against it :D | 21:29 |
blackburn | wiking: you know I have nothing against anything ;D | 21:29 |
heiko | blackburn, could you have a look in http://pastebin.com/fyCnxHxc ? | 21:30 |
heiko | this reproduces the bug I mentioned | 21:30 |
blackburn | heiko: man it is big, what is the bug? | 21:30 |
blackburn | :D | 21:30 |
heiko | just run with valgrind | 21:31 |
heiko | memory bug in the CrossValidationMulticlassStorage | 21:31 |
blackburn | heiko: can you line me up? | 21:31 |
heiko | blackburn, private msgs got throttled :) | 21:32 |
heiko | the bug happens in destructor of the class | 21:32 |
blackburn | heiko: yeah I've got a message | 21:33 |
heiko | just run valgrind and you will see | 21:33 |
blackburn | heiko: I just talked to gsomix | 21:35 |
blackburn | he is 2 meters far away | 21:35 |
blackburn | you thing can be solved other way | 21:35 |
heiko | blackburn, send him my greetings | 21:35 |
heiko | blackburn, im curious :) | 21:35 |
blackburn | python_modular/swig_typemaps.i:825 | 21:36 |
blackburn | greetings in return heh | 21:36 |
blackburn | heiko: that maps features to its actual type | 21:36 |
heiko | ah that is related to the obtain_from_generic thing right? | 21:37 |
blackburn | yes | 21:37 |
blackburn | not that storage shit :D | 21:37 |
heiko | ok, so you think the other problem can be solved using a similar concept? | 21:37 |
blackburn | kernel problem should be solved | 21:38 |
heiko | blackburn, yes, nice idea | 21:39 |
heiko | blackburn, is gsomix interested in implementing that? :D | 21:40 |
blackburn | heiko: not now but he could | 21:40 |
heiko | blackburn, great then! :) | 21:40 |
heiko | blackburn, about that storage shit | 21:41 |
blackburn | yeah | 21:41 |
heiko | I think we should change things asap | 21:41 |
heiko | otherwise, we will collect more and more | 21:41 |
heiko | also get rid of using std::vector whereever its possible | 21:41 |
heiko | The whole parameter framework becomes obsolete if we dont do this | 21:42 |
blackburn | heiko: one example | 21:42 |
blackburn | confusion matrices | 21:42 |
blackburn | how to store array of confusion matrices? | 21:42 |
heiko | blackburn, yes good point | 21:42 |
heiko | We need a structure for these SGReferenced objects | 21:42 |
blackburn | dynamic? | 21:42 |
heiko | where we pass by reference | 21:43 |
heiko | yes | 21:43 |
blackburn | why by reference? | 21:43 |
heiko | because that is the way the SG* are handled | 21:43 |
heiko | otherwise we could just derive from SGObject | 21:43 |
heiko | and handle it like other shogun classes | 21:43 |
heiko | but the whole point was not doing that | 21:43 |
blackburn | ehmm we can pass it by value with no problem | 21:43 |
heiko | ah | 21:43 |
heiko | sorry | 21:43 |
heiko | I meant that | 21:43 |
heiko | but not by pointer | 21:44 |
heiko | and then we can make this structure serializable and we are done | 21:44 |
wiking | http://www.welovetheherb.com/wp-content/uploads/2012/05/Fuck-This-Shit-Get-The-Bong.jpg | 21:45 |
wiking | indee | 21:45 |
wiking | d | 21:45 |
blackburn | wiking: yes | 21:45 |
heiko | wiking :D | 21:46 |
heiko | but seriously - this has to be changed, we will also get rid of debugging errors like the one in CCrossValidationMulticlassStorage | 21:46 |
wiking | heiko: no worries i was talking 'bout my work | 21:46 |
wiking | ;) | 21:47 |
blackburn | heiko: can you see anything wrong in that storage? | 21:49 |
heiko | blackburn, I will take a look | 21:53 |
blackburn | I am in eigenfighting now :D | 21:54 |
wiking | Yo trabajo sin reposo | 21:54 |
wiking | !!! | 21:54 |
blackburn | wiking: chego? | 21:55 |
wiking | fuckthisshittime | 21:55 |
wiking | with buena vista social club ;) | 21:55 |
wiking | how the fuck is it possible | 21:56 |
wiking | that i get the same PO | 21:56 |
wiking | with C=1 and C=150 | 21:56 |
wiking | does not compile | 21:56 |
heiko | blackburn, m_fold_ROC_graphs is not initialized | 21:58 |
heiko | setting it to NULL in the constructor solves the problem here | 21:58 |
blackburn | heiko: i see | 22:00 |
heiko | I will correct and push | 22:00 |
blackburn | thanks | 22:00 |
heiko | blackburn, any ideas for a SGReferenced structure? | 22:01 |
blackburn | heiko: no not really we will imitate std::vector in the end :D | 22:01 |
heiko | blackburn, what about somehow being able to use the existing data structures for that -- since they already work fine | 22:02 |
blackburn | heiko: which? | 22:03 |
heiko | CDynamicObject, CList, etc | 22:03 |
blackburn | dynamicobjectshit should work | 22:03 |
heiko | huh? how ? | 22:04 |
heiko | It accepts CSGObject* only | 22:04 |
blackburn | ahh | 22:04 |
-shogungit:#shogun- [shogun] karlnapf opened pull request #808: fix for a memory error (master...master) https://github.com/shogun-toolbox/shogun/pull/808 | 22:05 | |
-shogungit:#shogun- [shogun] karlnapf pushed 2 new commits to master: https://github.com/shogun-toolbox/shogun/compare/b936a24f6bd0...3c4a075bdb87 | 22:05 | |
-shogungit:#shogun- shogun/master cd3115e Heiko Strathmann: fixed a memory error due to uninitialized array pointers | 22:05 | |
-shogungit:#shogun- shogun/master 3c4a075 Heiko Strathmann: Merge pull request #808 from karlnapf/master... | 22:05 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 22:06 | |
@sonney2k | whats up here? | 22:15 |
heiko | sonney2k, hi there :) | 22:15 |
@sonney2k | wiking, I asked you to use obtain_from_generic instead of dynamic cast (it will catch error situations)... | 22:16 |
@sonney2k | IIRC | 22:16 |
@sonney2k | heiko, what are you trying to emulate? | 22:16 |
heiko | sonney2k, what do you mean? | 22:17 |
@sonney2k | I think we are just fine with any SGVector[] or whatever as long as we don't need them as parameters / ms-parameters | 22:17 |
@sonney2k | actually any data structure is fine as long as we don't need to serialize it / use it in MS | 22:17 |
heiko | sonney2k, indeed | 22:17 |
heiko | sonney2k, but actually many places where these are used are cases where they are parameters | 22:18 |
heiko | for example multiclass labels | 22:18 |
@sonney2k | I am wondering a bit whether gsomix managed to do some hackery to always return the correct type from python... | 22:18 |
heiko | currently completely non-serializable | 22:18 |
heiko | sonney2k, another downside in my eyes is that using SGVector[] is a step back to where we came from before SGVectors were around | 22:19 |
@sonney2k | heiko, yeah but this case would have worked with SGMatrix w/o problems | 22:19 |
heiko | sonney2k, yes true, actually most places will work with matrix | 22:20 |
@sonney2k | heiko, true | 22:20 |
@sonney2k | we of course have SGStringList | 22:20 |
heiko | sonney2k, what about if one needs multiple matrices | 22:20 |
@sonney2k | that is basically doing that | 22:20 |
@sonney2k | you can have vectors of arbitrary mixed lengths | 22:21 |
@sonney2k | multiple matrices - SGNDArray | 22:21 |
@sonney2k | but fixed length again | 22:21 |
heiko | which is not implemented anywhere | 22:21 |
@sonney2k | heiko, you mean serialization is not but NDArray is | 22:21 |
@sonney2k | heiko, serialization for SGNDArray is easy though (if you have it working for SGVector) | 22:22 |
heiko | sonney2k, true | 22:22 |
@sonney2k | it is just a flat data structure like SGVector/Matrix | 22:22 |
@sonney2k | heiko, we don't have stringlist serialization do we? | 22:23 |
heiko | sonney2, actually dynamic structures are not that much needed since one could just use a std:: structure and then write back to a fixed SG structure afterwards | 22:24 |
@sonney2k | heiko, and SGSparseMatrix serialization? | 22:24 |
heiko | but I am not aware of any case where a parameter is a dynamic thing | 22:24 |
@sonney2k | well a list of strings - but that currently is only used in features | 22:24 |
@sonney2k | actually we might need to rename SGString to sth SGVariableLengthArrays or so | 22:25 |
heiko | yes maybe | 22:25 |
@sonney2k | SGStringList I mean | 22:25 |
heiko | yes | 22:25 |
heiko | would be nice, to make it more "visible" | 22:25 |
heiko | sonney2k, I am curious about this SGNDArray | 22:26 |
heiko | is this actually working? | 22:26 |
heiko | because then, transition from SGMatrix[] to a SG-parameter would be quite easy | 22:28 |
@sonney2k | heiko, it is used in structured output stuff | 22:28 |
heiko | wow didnt know | 22:28 |
wiking | sonney2k: as dyncast catch as well errors... or? | 22:28 |
@sonney2k | heiko, well not the new one some old one | 22:29 |
@sonney2k | wiking, no dyncast will not throw a shogun exception but just return NULL | 22:29 |
heiko | sonney2k, do you got a class name for that? | 22:29 |
wiking | sonney2k: but nevermind i was just saying to heiko that dyncast is out of scope:> | 22:29 |
@sonney2k | wiking, so you might get crashes / have to check manually | 22:29 |
@sonney2k | heiko, for what? | 22:29 |
heiko | sonney2k, for the SO NGNDArray | 22:29 |
heiko | sonney2k, I use dynamic_cast sometimes exactly because of this nice thing that you can check for NULL | 22:30 |
wiking | hahahah my machine give always +1 as prediction label :) | 22:31 |
blackburn | wiking: positive guy | 22:31 |
wiking | yeah amazing shit | 22:32 |
@sonney2k | heiko, yeah but if you expect a certain type at a particular location in the code than there is no use - you will have to throw an exception anyway. that is why we wrote the obtain_from_generic * stuff | 22:33 |
@sonney2k | wiking, congratulations - I bet I could have learned sth like that *even* faster | 22:34 |
wiking | sonney2k: :>>> | 22:34 |
@sonney2k | heiko, | 22:34 |
heiko | sonney2k, ok, well my need of this had a different motivation | 22:34 |
@sonney2k | grep SGNDArray shogun/ -rl --include='*.h' | 22:34 |
@sonney2k | shogun/multiclass/QDA.h | 22:34 |
@sonney2k | shogun/lib/SGNDArray.h | 22:34 |
@sonney2k | shogun/structure/PlifMatrix.h | 22:34 |
@sonney2k | shogun/structure/DynProg.h | 22:34 |
wiking | sonney2k: yeah it took me 3000secs to learn this w :D | 22:35 |
@sonney2k | heiko, so n4nd0 is using it too | 22:35 |
@sonney2k | wiking, w might be ok just b not | 22:35 |
wiking | sonney2k: nah i'm reading now the w from a file.... and the other code does better, so i think my port of the problem is buggy | 22:35 |
heiko | sonney2k, cool thanks | 22:35 |
blackburn | LOL | 22:36 |
blackburn | G = [ 44.7894 -3.80941 30.9719 | 22:36 |
blackburn | -3.80941 24.3547 -24.1039 | 22:36 |
blackburn | 30.9719 -24.1039 48.6117] | 22:36 |
blackburn | best gram matrix ever | 22:36 |
heiko | blackburn, so all the SGVector[] can be replaced by SGMatrix and SGMatrix[] can be replaced by SGNArray, and then we can register the things as parameters again | 22:36 |
blackburn | heiko: go for it :D | 22:37 |
heiko | blackburn, this was more to keep in mind for new code :D | 22:37 |
heiko | like new model selection storage classes | 22:37 |
blackburn | I wish I didn't create that class | 22:38 |
blackburn | :D | 22:38 |
heiko | blackburn, lazy guy :D | 22:38 |
heiko | sonney2k, have I told you about my new job already? | 22:38 |
heiko | cant remember if you were there last time ... ? | 22:38 |
@sonney2k | heiko, no what is it? | 22:40 |
@sonney2k | heiko, btw SGSparseMatrix and SGStringList also need to be supported by serialization | 22:40 |
@sonney2k | I think they are not yet | 22:40 |
heiko | sonney2k, I will work on GP classification at uni, and since the guys are keen on an implementation, I convinced them that I do that for shogun | 22:41 |
heiko | its gonna be some fancy stuff | 22:41 |
heiko | with advanced MCMC for redictive distribution integrals and hyperparameter learning | 22:41 |
heiko | so I will extend the GP framework with all that stuff | 22:41 |
heiko | and get paid for it :) | 22:41 |
heiko | sonney2k, oh and since its a collaboration with a company who needs that for some quality testing on welds, they will use shogun for it | 22:42 |
blackburn | just to check my mind | 22:42 |
blackburn | linear kernel can't be negative right? | 22:42 |
blackburn | :D | 22:42 |
heiko | blackburn, [-1, -1] * [1,1] | 22:43 |
blackburn | ehmm | 22:43 |
heiko | or what do you mean? | 22:44 |
@sonney2k | blackburn, no mercer kernel should be - though there are numerical issues sometimes | 22:44 |
blackburn | so scalar product can be negative :D | 22:44 |
blackburn | I was confused but it is ok right? | 22:44 |
@sonney2k | heiko, excellent? | 22:44 |
blackburn | sonney2k: yes should be posdef but can contain negative elements? | 22:44 |
@sonney2k | blackburn, sure | 22:45 |
@sonney2k | blackburn, not on diagonal though :D | 22:45 |
blackburn | sonney2k: yeah they are norms | 22:45 |
@sonney2k | except for floatingpoint issues | 22:45 |
@sonney2k | never underestimate the power of floats | 22:46 |
* sonney2k argh I couldn't resist - another 4 discus fish are now in the tank | 22:54 | |
blackburn | sonney2k: haha | 22:55 |
@sonney2k | Madeira-Merah Discus - http://easydiskus.de/madeira-merah/ | 22:55 |
heiko | sonney2k, these cool pretty cool :) | 22:55 |
heiko | didnt know you were into that | 22:55 |
@sonney2k | I hope they survive | 22:55 |
@sonney2k | if they all do this night - then good | 22:56 |
heiko | hehe wont they got eaten by their small fellows? | 22:56 |
@sonney2k | heiko, what? | 22:56 |
heiko | these small ones on the pictures | 22:56 |
@sonney2k | heiko, ahh no babies rarely eat their parents :P | 22:57 |
@sonney2k | but mine are not yet that old | 22:57 |
heiko | your babies are not that old to eat you? :D | 22:57 |
@sonney2k | discus fish can live pretty long - up to age 16 years(!) | 22:57 |
@sonney2k | heiko, I hope so | 22:57 |
@sonney2k | and actually that they never attempt that! | 22:57 |
@sonney2k | the ones here are < 1 year | 22:58 |
@sonney2k | but >12 cm already | 22:58 |
@sonney2k | not yet pizza size but close to | 22:58 |
heiko | wow pretty big | 22:58 |
@sonney2k | and strong ones too | 22:58 |
@sonney2k | only issue is that each one carries different bacteria - so when one has bad luck everyone is dead in the end | 22:59 |
@sonney2k | (by end of tomorrow) | 22:59 |
@sonney2k | heiko, btw you are actually partially right - baby discus feed from the skin of their parents in the first days | 23:01 |
@sonney2k | an parents change color to dark brown | 23:01 |
@sonney2k | and babys go for everything dark | 23:01 |
heiko | sonney2k, hehe, cool guys you got there. | 23:09 |
@sonney2k | heiko, how long will your new contract last? | 23:11 |
heiko | sonney2k, ~6 months | 23:11 |
@sonney2k | cool | 23:12 |
heiko | yeh, looking pretty forward to it | 23:12 |
@sonney2k | heiko, wish we could generate such kind of jobs | 23:12 |
heiko | In general, to learn about GPs in detail | 23:12 |
heiko | sonney2k, the original job description was: | 23:12 |
@sonney2k | heiko, ask oliver stegle about stuff - he really knows his way around (Jacobs mentor that is) | 23:13 |
heiko | come up with GP for multiclass classification (they already had GP and MCMC in mind), implement sophisticated software (should be usable by company), and write paper | 23:13 |
heiko | sonney2k, cool thanks for the tip | 23:13 |
heiko | sonney2k, btw you forwarded my email to gunnar some time ago, remmeber? | 23:14 |
heiko | Philipp Drewe got back to me and we did something together | 23:14 |
@sonney2k | I don't even remember | 23:15 |
heiko | sonney2k, well thanks anyway :) | 23:16 |
@sonney2k | heiko, btw we need to start the billing stuff soon | 23:23 |
blackburn | sonney2k: heiko: I am not going to make my docs in time :( | 23:24 |
@sonney2k | blackburn, how do you know? | 23:24 |
blackburn | sonney2k: will receive my foreign passport after 13th of november | 23:24 |
blackburn | they scheduled it already | 23:24 |
heiko | sonney2k, ok thats fine here | 23:25 |
blackburn | sonney2k: -> less than 2 weeks to get american visa | 23:25 |
heiko | blackburn 13 november? isnt that fine? | 23:25 |
heiko | ah, fuck you need a visa | 23:25 |
heiko | damn :( | 23:25 |
blackburn | yeah | 23:25 |
@sonney2k | blackburn, well we can still try no? | 23:25 |
heiko | I will fly to Germany next week to get an express passport (otherwise I also need visa) | 23:25 |
blackburn | sonney2k: I don't mind I just let you know as I received a notification | 23:26 |
@sonney2k | blackburn, erm the doc summit starts on dec 3 right? | 23:26 |
blackburn | sonney2k: right | 23:26 |
@sonney2k | so about 3 weeks | 23:27 |
@sonney2k | for visa | 23:27 |
blackburn | not clear, I will receive passport *after* 13th | 23:27 |
@sonney2k | heiko, I guess I have to do the job anyways anyways | 23:27 |
@sonney2k | blackburn, I see | 23:28 |
blackburn | so 2 weeks for visa in best case | 23:28 |
heiko | sonney2k, just let me know, I am quite flexible with time currently since no deadlines for the first time in ages :) | 23:28 |
blackburn | sonney2k: funny thing I'd have to go to moscow for an interview | 23:28 |
heiko | blackburn, time you move to europa :) | 23:29 |
blackburn | so would require 2 days out | 23:29 |
@sonney2k | heiko, I forgot what I had to do last time but it could be that I do it and you will only notice once the money arrived :D | 23:30 |
heiko | sonney2k, ok then tell me before I accidentially spend it on stuff ;) | 23:31 |
@sonney2k | heiko, I will make you swallow some gps to track you :D | 23:32 |
heiko | hehe :) | 23:32 |
heiko | no worries about that | 23:32 |
heiko | I quit all my drug addictions :D | 23:33 |
wiking | docsdocsdocs | 23:33 |
wiking | blackburn: let's just forge u a passport that doesn'tneed visa to the states : | 23:34 |
blackburn | wiking: passport of united states you mean? | 23:34 |
blackburn | :D | 23:34 |
blackburn | do you know a guy to do that? | 23:34 |
wiking | mmm guess there's always a guy :))) | 23:34 |
wiking | u need like a low profile passport | 23:35 |
@sonney2k | except that they will chop of your head if they recognize | 23:35 |
wiking | like a slovakian one | 23:35 |
wiking | couple of bottles of good vodka should fix u up with one :P | 23:36 |
heiko | sonney2k, btw what about this live pdf of the shogun-tutorial? | 23:36 |
wiking | blackburn: once i've heard that a bunch of guys who were maintaining/upgrading the database of citizens in new zealand got into trouble: somebody from the authorities realised that there were more rows in the new table than in the old one :DD | 23:37 |
blackburn | hahah | 23:37 |
wiking | blackburn: they confiscated all team members' passport and nobody was allowed to leave the country until the investigation finished | 23:38 |
wiking | that was around xmas | 23:38 |
wiking | so a collegue's brother couldn't come back for xmas holidays as he was part of the team :D | 23:38 |
@sonney2k | wiking, nice | 23:38 |
wiking | must be funny to add yourself a row in that table :))) | 23:39 |
@sonney2k | heiko, well we generate the doxygen doc only currently (but only if nightly_default works !) | 23:39 |
@sonney2k | heiko, surely we could do the .pdf too | 23:39 |
heiko | sonney2k, is it hard to add the latex to the nightly build? | 23:39 |
wiking | blackburn: u need to do something like this :))) | 23:39 |
wiking | blackburn: insert into citizen :D | 23:40 |
blackburn | wiking: I'm just searching a way to do an sql injection | 23:40 |
wiking | blackburn: ahhahahaha | 23:40 |
wiking | or like get maltese citizenship | 23:40 |
wiking | i bet that they have low security going on :))) | 23:40 |
blackburn | wiking: there was a case recently | 23:41 |
@sonney2k | blackburn, if you are lucky the same people that administrate sony's servers are taking care :D | 23:41 |
wiking | sonney2k: :D | 23:41 |
@sonney2k | heiko, no - easy | 23:41 |
blackburn | wiking: pope riding a bmw car with maltese plates bammed into a few cars | 23:41 |
heiko | sonney2k, would be awesome to have in my eyes - there could be a link on the shogun website | 23:41 |
@sonney2k | heiko, btw did you twitter? | 23:41 |
blackburn | he was also drunk (nice addition | 23:41 |
heiko | sonney2k, yes | 23:41 |
wiking | blackburn: :>>> | 23:41 |
@sonney2k | heiko, cool :D | 23:42 |
wiking | blackburn: which pope? | 23:42 |
blackburn | wiking: not guilty in the end | 23:42 |
blackburn | wiking: argh priest may be? | 23:42 |
wiking | blackburn: ah ok :> | 23:42 |
blackburn | wiking: you know I am stupid with owrds :D | 23:42 |
wiking | pope is the head of the church :> | 23:42 |
blackburn | wiking: so orthodox priest | 23:42 |
blackburn | wiking: ??? in russian is a priest | 23:42 |
blackburn | so got confused | 23:42 |
heiko | sonney2k, btw I am also not a twitter person ;) my girlfriend had to explain it to me | 23:42 |
@sonney2k | heiko, I am totally ignorant of all blogging / twittering etc | 23:43 |
@sonney2k | I hate doing publicity | 23:43 |
@sonney2k | but it is a necessary evil | 23:43 |
@sonney2k | takes me lot of time I cannot to reasonable things | 23:43 |
heiko | sonney2k, same here, but its quite handy for this scientific networking | 23:44 |
heiko | sonney2k, lol, I did not even do my webpage myself :D | 23:44 |
wiking | sonney2k: can we add a RT rule to shogun's twitter acc? | 23:44 |
wiking | like if it sees #shogun then RT it? :) | 23:44 |
heiko | wiking, I just got an introduction into that, and these hashs # | 23:45 |
wiking | ok bad idea | 23:45 |
wiking | https://twitter.com/search?q=%23shogun&src=typd | 23:45 |
wiking | #shogun-toolbox maybe then :) | 23:45 |
heiko | wiking, phew, I forgot it this time :) | 23:45 |
heiko | so better not do that | 23:45 |
heiko | mayne shogun-toolbox | 23:46 |
@sonney2k | wiking, luckily not :) | 23:46 |
wiking | sonney2k: as i see that shoguntoolbox has some followers | 23:47 |
wiking | and instead of trying to do some co-tweeting | 23:47 |
wiking | just retweet if some-of-us mentions #shogun-toolbox in their tweet or soemthing | 23:47 |
@sonney2k | wiking, I haven't used twitter at all - so totally clueless. Just created that account and uploaded a picture. Now I am hoping that heiko, n4nd0, blackburn fill in some content | 23:48 |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/915af5cda5ab6c46a5cddb04fa993ff4b9651cc0 | 23:50 | |
-shogungit:#shogun- shogun/master 915af5c Soeren Sonnenburg: add make tutorial target | 23:50 | |
wiking | sonney2k: ic | 23:54 |
wiking | blackburn: twitbot? :) | 23:55 |
@sonney2k | heiko, wiking btw if we manage to get in gsoc next year and you intend to mentor - I've met some projects who had ~4 people attending | 23:55 |
heiko | sonney2k, 4 people at once in one project you mean? | 23:55 |
wiking | attending the summit? | 23:55 |
@sonney2k | yes. only problem will be flight costs I guess | 23:55 |
heiko | ah the mentor summit? | 23:55 |
heiko | nice :) | 23:55 |
wiking | btw sonney2k dont u wanna get the travis fixed | 23:56 |
wiking | so it tries all the interfaces? | 23:56 |
@sonney2k | I am not sure how much google covers then... they did cover 2 hotel nights and IIRC up to 2k$ for flights | 23:56 |
@sonney2k | wiking, you are the travis hero | 23:56 |
wiking | hah | 23:56 |
wiking | donthavetime | 23:56 |
@sonney2k | I have no clue about it (never even looked at it) | 23:56 |
@sonney2k | wiking, and btw also the unit tests stuff | 23:57 |
wiking | someobody should smartly define ENV variables | 23:57 |
blackburn | sonney2k: how do they choose # of mentors to arrive? | 23:57 |
wiking | sonney2k: yeah i've started it but i'm quite busy with all the latent coding/fixing | 23:57 |
wiking | heiko: what's your twitter acc? | 23:57 |
@sonney2k | wiking, if it helps blackburn creates a ticket and assigns it to you :D | 23:57 |
heiko | wiking, dont have | 23:57 |
wiking | heiko: ic | 23:58 |
@sonney2k | blackburn, they have the rule 2 persons per project | 23:58 |
wiking | sonney2k: :D | 23:58 |
@sonney2k | blackburn, and then there is a waiting list | 23:58 |
wiking | sonney2k: have u closed the SA ticket? :))))) | 23:58 |
blackburn | sonney2k: ahh | 23:58 |
@sonney2k | so some projects might not want to send 2 | 23:58 |
wiking | sonney2k: https://github.com/shogun-toolbox/shogun/issues/789 | 23:59 |
wiking | sonney2k: u can close it :) | 23:59 |
blackburn | argh this week I am going to receive reject (or accept if I am lucky) | 23:59 |
wiking | blackburn: newjob? | 23:59 |
blackburn | yes | 23:59 |
wiking | which co? | 23:59 |
blackburn | wiking: http://corp.wesee.com/en/home/ | 23:59 |
wiking | the one who made u to hack xerox? :D | 23:59 |
--- Log closed Mon Oct 29 00:00:00 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!