--- Log opened Wed Nov 28 00:00:15 2012 | ||
-!- ptizoom [~christian@79-71-89-182.dynamic.dsl.as9105.com] has quit [Quit: Ex-Chat] | 00:32 | |
-!- ptizoom [~christian@79-71-89-182.dynamic.dsl.as9105.com] has joined #shogun | 00:32 | |
wiking | blackburn: http://en.wikipedia.org/wiki/S.N.U.F.F. | 01:00 |
---|---|---|
-!- heiko [~heiko@46.17.162.114] has quit [Quit: Leaving.] | 01:07 | |
shogun-buildbot | build #188 of nightly_default is complete: Failure [failed test] Build details are at http://www.shogun-toolbox.org/buildbot/builders/nightly_default/builds/188 | 04:13 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 06:03 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 250 seconds] | 07:32 | |
blackburn | wiking: the most scary thing about pelevin is that his dreams come true :D | 07:46 |
-!- blackburn [~blackburn@37.61.180.167] has quit [Quit: Leaving.] | 07:56 | |
-!- K0stIa [~kostia@alt2.hk.cvut.cz] has left #shogun [] | 08:01 | |
-!- ptizoom [~christian@79-71-89-182.dynamic.dsl.as9105.com] has quit [Quit: Ex-Chat] | 08:10 | |
-!- ptizoom [~christian@79-71-89-182.dynamic.dsl.as9105.com] has joined #shogun | 08:10 | |
-shogungit:#shogun- [shogun] sonney2k pushed 2 new commits to master: https://github.com/shogun-toolbox/shogun/compare/11acf9002c3f...b093d9e7b397 | 08:14 | |
-shogungit:#shogun- shogun/master 31e07b6 Viktor Gal: Define EMachineType for the SO learners | 08:14 | |
-shogungit:#shogun- shogun/master b093d9e Soeren Sonnenburg: Merge pull request #841 from vigsterkr/master... | 08:14 | |
@sonney2k | wiking, we should rename get_classifier_type to get_machine_type though :) | 08:14 |
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has joined #shogun | 08:18 | |
shogun-buildbot | build #449 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/449 blamelist: Viktor Gal <viktor.gal@maeth.com> | 08:30 |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/cb56c98b97bd259a507be3aec37d63985a62ff68 | 08:35 | |
-shogungit:#shogun- shogun/master cb56c98 Soeren Sonnenburg: fix hdf5file (implement missing functions) and add toy data set and example | 08:35 | |
shogun-buildbot | build #450 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/450 blamelist: Soeren Sonnenburg <sonne@debian.org> | 08:40 |
shogun-buildbot | build #685 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/685 blamelist: Viktor Gal <viktor.gal@maeth.com> | 08:57 |
shogun-buildbot | build #686 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/686 blamelist: Soeren Sonnenburg <sonne@debian.org> | 09:10 |
shogun-buildbot | build #451 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/451 blamelist: Soeren Sonnenburg <sonne@debian.org> | 09:13 |
-!- heiko [~heiko@46.17.162.114] has joined #shogun | 09:46 | |
shogun-buildbot | build #687 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/687 blamelist: Soeren Sonnenburg <sonne@debian.org> | 09:47 |
sonne|work | wiking: is that on your account or is this due to the director bmrm changes from blackburn http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/687/steps/test%20python_modular/logs/stdio ? | 09:47 |
wiking | sonne|work: director changes | 10:13 |
wiking | imho | 10:14 |
-!- heiko [~heiko@46.17.162.114] has quit [Quit: Leaving.] | 10:14 | |
wiking | sonne|work: well all of them are classifiers indeed | 10:14 |
wiking | i mean the so learners | 10:14 |
wiking | so it's appropriate there | 10:14 |
-!- heiko [~heiko@46.17.162.114] has joined #shogun | 10:15 | |
-!- heiko [~heiko@46.17.162.114] has quit [Client Quit] | 10:17 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 10:53 | |
-!- heiko [~heiko@46.17.162.116] has quit [Read error: Connection reset by peer] | 11:02 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 11:02 | |
sonne|work | wiking: yeah but we have this in CMachine and it will certainly be defined for some regression method too | 11:03 |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 260 seconds] | 11:30 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 11:41 | |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 250 seconds] | 11:53 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 11:56 | |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 265 seconds] | 12:01 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 12:25 | |
-!- zxtx [~zv@ool-45750cfe.dyn.optonline.net] has quit [Ping timeout: 246 seconds] | 13:05 | |
-!- heiko [~heiko@46.17.162.116] has quit [Quit: Leaving.] | 13:27 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 13:27 | |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 252 seconds] | 13:42 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 14:57 | |
sonne|work | n4nd0: K0stIa had a suggestion regarding directors for structured ouptut machine... check the IRC logs from yesterday... | 16:16 |
n4nd0 | sonne|work: all right, thanks! | 16:16 |
n4nd0 | K0stIa: hi! | 16:24 |
n4nd0 | wiking: around? | 16:25 |
K0stIa | n4nd0: Hi | 16:31 |
n4nd0 | K0stIa: so you had a couple of suggestions for the so-svm, right? | 16:32 |
n4nd0 | I have just read your conv with wiking yesterday in the logs | 16:32 |
n4nd0 | first, there is something about the loss function, you say that it is not necessary? | 16:32 |
K0stIa | n4nd0: 1. in so-svm is not only working with features, but in current shogun implementation it does. in so-svm there should be some oracle which at given point can evaluate risk value and its subgradient | 16:35 |
wiking | n4nd0: yes | 16:35 |
wiking | n4nd0: tell me | 16:35 |
n4nd0 | wiking: hey, let me discuss with K0stIa first about this and I will ask you later :) | 16:36 |
wiking | k | 16:36 |
K0stIa | for bmrm its enough just to provide such oracle. i.e. function | 16:36 |
n4nd0 | K0stIa: is the oracle the same as the argmax function? | 16:37 |
K0stIa | no | 16:37 |
K0stIa | well... | 16:37 |
n4nd0 | ok :) tell please what it is then | 16:37 |
n4nd0 | tell me* | 16:37 |
K0stIa | it fact it will compute some argmax | 16:37 |
K0stIa | however currently you have to pass features in advance, right ? | 16:38 |
n4nd0 | the features have to be given to the svm object before training,yes | 16:38 |
n4nd0 | I am not sure if that is what you meant though | 16:38 |
K0stIa | it is | 16:39 |
n4nd0 | ok | 16:39 |
K0stIa | and this is not good for so-vsm | 16:39 |
n4nd0 | K0stIa: if not given, how would you perform training? | 16:39 |
K0stIa | there could be given a MRF or P-CFG or something else.. and to put in so-svm as a features in your implementation is not correct I guess | 16:41 |
n4nd0 | well I guess that depends on what do you mean with correct :) AFAIK it properly worked not so long ago | 16:41 |
n4nd0 | maybe it is not the best way of doing it, but still correct probably | 16:42 |
n4nd0 | anyway, let me see what you mean with MRF and P-CFG because idk what tha is | 16:42 |
K0stIa | agree, it used to work correctly :) | 16:42 |
K0stIa | MRF = Markov Random Field | 16:42 |
K0stIa | P-CFG = probabilistic contex free grammar | 16:43 |
n4nd0 | okej | 16:43 |
n4nd0 | mmm | 16:43 |
K0stIa | how would you learn such things with current implementation ? | 16:43 |
K0stIa | it's possible.. | 16:43 |
n4nd0 | well I don't think that is implemented | 16:43 |
K0stIa | and what I say | 16:43 |
K0stIa | is to provide just an oracle | 16:44 |
K0stIa | and then it could be easily used for such things | 16:44 |
n4nd0 | hehe I am not still sure what the oracle concept is :) | 16:44 |
wiking | n4nd0: that generates u the features imho | 16:44 |
wiking | so that u want to be able to set an MRF as an oracle | 16:45 |
wiking | right? | 16:45 |
K0stIa | oracle is something that takes a vector as input parameter and returns risk subgradient and its value | 16:45 |
n4nd0 | aham I see | 16:45 |
wiking | well u can do that with overriding risk function | 16:45 |
n4nd0 | yeah | 16:45 |
n4nd0 | isn't it that oracle precisely what we were calling risk function here? | 16:46 |
K0stIa | yep, and currently it is not possible | 16:46 |
K0stIa | yes, it is | 16:46 |
wiking | K0stIa: it is | 16:46 |
n4nd0 | ok ... | 16:46 |
K0stIa | moreover | 16:46 |
K0stIa | there is a sum | 16:46 |
n4nd0 | then I believe this is not a problem with giving features | 16:46 |
wiking | K0stIa: class MyOwnStructuredModel : public CStructuredModel | 16:46 |
wiking | and you can write any kind of risk function | 16:46 |
n4nd0 | K0stIa: yeah, I read also the problem you mentioned with the sum | 16:46 |
n4nd0 | K0stIa: but about the oracle thing, can't it be done as wiking is saying? | 16:47 |
wiking | K0stIa: as it's virtual float64_T risk(...) | 16:47 |
n4nd0 | I believe you are just talking about the risk function | 16:47 |
wiking | so it's a virtual function, you implement it as u wish | 16:47 |
wiking | more over | 16:47 |
wiking | it's a pure virtual | 16:47 |
n4nd0 | you just need to provide your own implementation if the one that exists doesn't fit your needs | 16:47 |
wiking | hence u must implement it afaik | 16:47 |
K0stIa | yyes, it could be done. and then it would be nice to create a class that takes just oracle and doesn't require loss, and features ti pass in so-svm | 16:48 |
wiking | ok it's not pure virtual ... but virtual | 16:48 |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 16:48 | |
wiking | K0stIa: ? | 16:48 |
K0stIa | because in that sum you supose the features to be not None | 16:48 |
wiking | you can NULL the loss function | 16:48 |
K0stIa | and I cannot with features | 16:48 |
K0stIa | you take dimension from them | 16:49 |
wiking | no | 16:49 |
K0stIa | and the sum is the number of features... | 16:49 |
K0stIa | yes | 16:49 |
wiking | get_dim is pure virtual | 16:49 |
wiking | so you set it as u wish | 16:49 |
wiking | what sum we are talking about now? | 16:49 |
K0stIa | shogun / src / shogun / structure / StructuredModel.cpp | 16:50 |
wiking | n4nd0: enlighten me as i didn't read the sum part from yesterday | 16:50 |
K0stIa | oh, sorruy | 16:50 |
wiking | K0stIa: so what sum? | 16:51 |
n4nd0 | wiking: yeah I think K0stIa is concerned about a sum performed in the learning algo. he/she suggested to be able to it outside so it could be parallelized | 16:51 |
K0stIa | float64_t CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info) | 16:51 |
wiking | K0stIa: yes | 16:51 |
n4nd0 | K0stIa: but it just parallelization your concern? | 16:51 |
K0stIa | you go through all features and do sum | 16:51 |
wiking | n4nd0: sum in which learning algo? | 16:51 |
wiking | K0stIa: you do whatever in that risk function | 16:51 |
n4nd0 | K0stIa: then I think the solution is not to allow to give it from outside but to implement parallelization in shogun | 16:51 |
n4nd0 | wiking: let me see | 16:52 |
K0stIa | there is no risk function in python | 16:52 |
K0stIa | only argmask | 16:52 |
K0stIa | argmax | 16:52 |
wiking | K0stIa: c++ it | 16:52 |
n4nd0 | wiking: the one required byt bmrm | 16:52 |
wiking | n4nd0: which? | 16:52 |
wiking | n4nd0: CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info) | 16:52 |
wiking | ? | 16:52 |
wiking | K0stIa: float64_t CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info) | 16:52 |
wiking | this is a virtual function | 16:52 |
n4nd0 | wiking: I am not sure to be honest | 16:53 |
wiking | you can implement it as you wish in your own structuredmodel | 16:53 |
wiking | just give back a gradient vector | 16:53 |
wiking | and a risk value | 16:53 |
K0stIa | can you make it visible in python such that I can work with it as with oracle ?! | 16:53 |
wiking | that's all u need to do | 16:53 |
wiking | K0stIa: mate.... c++ | 16:53 |
wiking | you are now doing something funky so i highly suggest u to implement this in c++ | 16:54 |
n4nd0 | but that should be possible to do from python as well | 16:54 |
wiking | because maybe in a director class u won't be able to do it | 16:54 |
n4nd0 | wiking: why not? isn't it just a similar idea to provide a custom argmax? | 16:54 |
K0stIa | wiking: don't teach me please what shall I use to ehat I am doing it.... I just thought that I can use shogun for it.. so far I can not.. | 16:54 |
wiking | K0stIa: lolface | 16:55 |
wiking | K0stIa: i'm not teaching you | 16:55 |
wiking | i'm saying that maybe you would be better off doing that | 16:55 |
wiking | instead of doing this with python | 16:55 |
wiking | as in c++ you would sure get what u would like to have | 16:55 |
wiking | and director classes cannot really do everything you really want | 16:55 |
wiking | n4nd0: yeah sure, implement in the director class as a virtual func | 16:56 |
K0stIa | with python the it is the same if it is done properly.. | 16:56 |
n4nd0 | K0stIa: well that's probably not true.. | 16:56 |
wiking | K0stIa: if u think it's not done properly feel free to send in fixes of course | 16:56 |
K0stIa | it is... | 16:56 |
K0stIa | there is still segmention fault in python | 16:56 |
wiking | K0stIa: yes | 16:57 |
n4nd0 | I am just guessing but my fundamentals tell me that if you want to do it something fast, then you rather C++ than python | 16:57 |
wiking | K0stIa: do you know why? do you have a fix for it? | 16:57 |
K0stIa | so, it is not done properly | 16:57 |
wiking | K0stIa: i think it's a little bit rude coming in here and telling it that this is not done properly | 16:57 |
K0stIa | could be. | 16:57 |
wiking | i hope you realise that everybody works on this for free as an open source project | 16:57 |
K0stIa | sorry. | 16:57 |
n4nd0 | c'mon, let the peace flow in here :) | 16:57 |
wiking | out of their free time | 16:57 |
wiking | so if u think that it's not done properly | 16:58 |
wiking | then please have a fix for it as you think it would be proper | 16:58 |
K0stIa | I just wanted to say there is a bug | 16:58 |
wiking | i think that's fair thing to ask | 16:58 |
K0stIa | ok. | 16:58 |
wiking | or at least point out where the bug is coming from | 16:58 |
wiking | exactly | 16:58 |
n4nd0 | K0stIa: so to sum up | 16:59 |
K0stIa | at least I am not claiming that I know how to find global minimum of non-convex functions :) | 16:59 |
wiking | K0stIa: ok mate | 16:59 |
wiking | i think you stepped over a line here | 16:59 |
wiking | if u don't know what u are really talking about that's ok | 17:00 |
wiking | but if you start bitching people | 17:00 |
wiking | that's really not nice | 17:00 |
wiking | moreover... the code for it is there | 17:00 |
wiking | so if u don't believe it then please test it before really starting here to be sarcastic | 17:00 |
wiking | diky | 17:01 |
n4nd0 | K0stIa: are you still around? I just want to find a possible solution for the flaws you pointed out | 17:03 |
K0stIa | n4nd0: I am | 17:03 |
n4nd0 | K0stIa: all right | 17:03 |
n4nd0 | K0stIa: so, would being able to provide a custom implementation of the risk function from python solve your request? | 17:04 |
n4nd0 | as far as I understood, it should | 17:04 |
K0stIa | 1. the main idea about structured output learning is not to work with features. so, there just should be interface for svm where you will say which solver you want to use and risk function, there should be no features, labels and no dependency in structuremodel class about it in very abstract class | 17:06 |
wiking | K0stIa: from what you are writing i think you mean bundle method risk minimization instead of SO learning | 17:08 |
n4nd0 | K0stIa: I am not sure what you mean at the end with "about it in very abstract class" | 17:08 |
wiking | as SO learning is really all about structured labels | 17:09 |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 260 seconds] | 17:09 | |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 17:09 | |
K0stIa | wiking: since shogun has only BMRM, yes I mean BMRM | 17:09 |
wiking | K0stIa: nope | 17:09 |
n4nd0 | K0stIa: you are wrong in that | 17:09 |
n4nd0 | K0stIa: we have more than BMRM | 17:09 |
wiking | K0stIa: shogun has 3 different SO learners atm | 17:09 |
K0stIa | n4nd0: in what ? | 17:09 |
K0stIa | n4nd0: you have proximals | 17:09 |
n4nd0 | proximals? | 17:09 |
K0stIa | proximal BMRM | 17:10 |
wiking | K0stIa: primalmosekSOSVM and CCSOSVM | 17:10 |
K0stIa | and something with non-convex bmrm | 17:10 |
wiking | they are completely unrelated with BMRM | 17:10 |
wiking | and they are SO learners | 17:10 |
n4nd0 | K0stIa: exactly | 17:10 |
wiking | what you want is a pure bundle method risk minimizer | 17:10 |
n4nd0 | there is more stuff in here than the bundle methods to do SO | 17:10 |
wiking | untangled from SO model | 17:11 |
wiking | about which there has been plans to do so | 17:11 |
wiking | but time is a bad constraint for everybody here | 17:12 |
wiking | but we would be more than happy if u would do that code refactoring | 17:12 |
-!- heiko [~heiko@46.17.162.116] has quit [Read error: Connection reset by peer] | 17:12 | |
K0stIa | well, can I do that changes by myself ? | 17:12 |
-!- heiko1 [~heiko@46.17.162.116] has joined #shogun | 17:12 | |
n4nd0 | or you could talk with Michal since he is the bundle guru here :) | 17:12 |
wiking | K0stIa: yeah sure | 17:13 |
wiking | clone yourself a shogun repo | 17:13 |
wiking | make the changes | 17:13 |
wiking | send in via a standard PR | 17:13 |
K0stIa | I will do it after deadline :D | 17:13 |
wiking | and people will review it and when it's n a good shape | 17:13 |
wiking | it's going to be merged into master branch for sure | 17:13 |
n4nd0 | hehe and you can always ask around here if you need help with development | 17:13 |
wiking | the plan was to put that under src/shogun/optimization | 17:14 |
K0stIa | guys, I am sorry for being rude | 17:14 |
wiking | something like RiskMinimizer | 17:14 |
wiking | and it would not need more than 2 function calls | 17:15 |
wiking | imho | 17:15 |
wiking | and a new class called RiskFunction | 17:15 |
K0stIa | wiking: there is still segmentation fault in python | 17:15 |
wiking | that is a pure abstract class | 17:15 |
wiking | where you cen define your risk function | 17:15 |
wiking | *can | 17:15 |
K0stIa | wiking, I understand what is written there... | 17:15 |
wiking | and then move all the current BMRM implementations under that | 17:15 |
wiking | RiskMinimizer | 17:16 |
wiking | and then you would have what u would like to have | 17:16 |
wiking | with the current state | 17:16 |
wiking | you can have BMRM | 17:16 |
wiking | w/o features and labels | 17:16 |
wiking | and anything | 17:16 |
wiking | as BMRM only calls 2 functions from StructuredModel | 17:16 |
wiking | if u check | 17:16 |
wiking | get_dim | 17:16 |
wiking | and risk | 17:16 |
wiking | so you only need to really implement that 2 function properly | 17:17 |
wiking | and the rest as a dummy function | 17:17 |
wiking | and pass just dummy values to the structuredmodel | 17:17 |
K0stIa | do you agree that for SO features and labels not needed if you want to model really complex structure ? | 17:17 |
wiking | K0stIa: well if u want to do SO learning | 17:17 |
wiking | you need to define yourself | 17:17 |
wiking | a SO label | 17:17 |
wiking | otherwise what's the use of SO learning | 17:18 |
K0stIa | the point that you cannot have features as a vectors.... | 17:18 |
wiking | and how would you then calculate w on the end? | 17:18 |
K0stIa | it could be graphs... grammars and etc/ | 17:18 |
wiking | i mean you need to generate from your input somehow a vector | 17:18 |
n4nd0 | K0stIa: your features don't need to be vectors | 17:18 |
K0stIa | by w you mean what ? | 17:18 |
wiking | K0stIa: in BMRM you calculate 1/2*lambda ||w||^2 + R(w) | 17:19 |
wiking | right? | 17:19 |
K0stIa | right | 17:19 |
wiking | so that w | 17:19 |
wiking | is a vector | 17:19 |
wiking | there's no way around that one | 17:19 |
K0stIa | n4nd0: in python they are only vectors | 17:19 |
n4nd0 | K0stIa: mmm no | 17:19 |
wiking | K0stIa: no | 17:19 |
n4nd0 | check under shogun/features | 17:19 |
wiking | K0stIa: you can have any type of features | 17:19 |
wiking | K0stIa: moreover if you don't like it | 17:20 |
wiking | or none of them fits your needs | 17:20 |
wiking | you can define your own features | 17:20 |
wiking | but then again | 17:20 |
K0stIa | but not in oython right ? | 17:20 |
K0stIa | *python | 17:20 |
n4nd0 | you can use them in python yes | 17:20 |
wiking | shogun::CDirectorDotFeatures | 17:20 |
wiking | there's a director class for it | 17:21 |
wiking | so you can define your own features in python as well | 17:21 |
n4nd0 | K0stIa: I am not sure if you are aware that shogun's core is written in C++. We use SWIG to generate code from this C++ core to be used in other languages, e.g. python | 17:21 |
wiking | ^ so you are really better off to do implement your stuff in c++ | 17:22 |
-!- heiko1 [~heiko@46.17.162.116] has quit [Ping timeout: 260 seconds] | 17:22 | |
wiking | as swig has some limitations | 17:22 |
K0stIa | n4nd0: I am aware, but for instance you can not overload risk function there | 17:23 |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 17:23 | |
K0stIa | ok, guys.. I have to work. | 17:23 |
wiking | K0stIa: do u have a fix for it? | 17:23 |
wiking | i mean essentially you have to do 2 things, fix the DirectorStructuredModel | 17:24 |
n4nd0 | K0stIa: but that is becuase probably there is no director for the risk function implemented (I am not sure it there is or not actually) | 17:24 |
wiking | and then maybe hack around in the swig headers | 17:24 |
K0stIa | n4nd0: there is no.. but I guess blackburn already did it | 17:24 |
n4nd0 | K0stIa: what? | 17:24 |
K0stIa | director for risk | 17:24 |
n4nd0 | if he did it, how it is that tere is no? | 17:25 |
K0stIa | function | 17:25 |
K0stIa | I asked him, he said when he willl be at home he will do it | 17:25 |
n4nd0 | I see | 17:26 |
wiking | why not just fix it yourself? | 17:27 |
K0stIa | well, I have not been developing it.. I could easily break it | 17:27 |
wiking | K0stIa: well try it and send a patch | 17:27 |
-!- heiko [~heiko@46.17.162.116] has quit [Ping timeout: 256 seconds] | 17:27 | |
wiking | there's plenty of people here who would comment on it | 17:28 |
K0stIa | maybe letter I will do it... | 17:28 |
K0stIa | *later | 17:28 |
K0stIa | :D | 17:28 |
@sonney2k | w00t | 17:29 |
K0stIa | wiking: will you check that segmentation fault ? | 17:29 |
wiking | K0stIa: i'd like to | 17:29 |
wiking | K0stIa: but aint' got the resources for it | 17:29 |
wiking | i have to work on my own stuff as well | 17:29 |
wiking | but as i said earlier | 17:29 |
@sonney2k | we still have crappydo ptr's in Sparse/StringFeatures instead of SG* data structures | 17:29 |
K0stIa | I understand | 17:29 |
wiking | if you point me to the exact bug | 17:29 |
wiking | so do the debugging for me | 17:29 |
K0stIa | wiking: I don't know shogun well :( | 17:30 |
wiking | K0stIa: it's not about shougn | 17:30 |
wiking | it's about debugging | 17:30 |
wiking | so just give me the segfault result from gdb for example | 17:30 |
wiking | then i could at least be able to tell you something | 17:30 |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/c2983fb04f8394fa2e5a6cfc7e1c835ab8fbfd97 | 17:30 | |
-shogungit:#shogun- shogun/master c2983fb Soeren Sonnenburg: use overloading for all file functions... | 17:30 | |
K0stIa | well, if you know the code then it easier to look for bugs | 17:30 |
wiking | K0stIa: but here's it's a segfault | 17:30 |
@sonney2k | wiking, I still have /home/sonne/Documents/priv/repositories/shogun/src/shogun/structure/libncbm.cpp|693 col 55| warning: comparison between signed and unsigned integer expressions [-Wsign-compare] | 17:30 |
wiking | catch it with gdb | 17:30 |
-!- heiko [~heiko@46.17.162.116] has joined #shogun | 17:30 | |
wiking | and send me back the backtrace | 17:31 |
@sonney2k | alright. time to leave the train | 17:31 |
wiking | K0stIa: this is completely unrelated to shogun | 17:31 |
n4nd0 | and time to leave to train for me :) | 17:31 |
n4nd0 | see you guys! | 17:31 |
K0stIa | could be... | 17:31 |
wiking | it's about debugging the problem itself | 17:31 |
wiking | as now i don't have the means to do the debugging | 17:32 |
K0stIa | me neither:) | 17:32 |
wiking | i.e. get the backtrace of that segfault | 17:32 |
wiking | K0stIa: yes you do | 17:32 |
wiking | you have the modular python installed | 17:32 |
wiking | and you have the code | 17:32 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 17:32 | |
wiking | and i guess you have gdb in your machine | 17:32 |
K0stIa | yep :) | 17:32 |
wiking | so if you have all these | 17:32 |
K0stIa | I will try to look at it later ... | 17:32 |
wiking | then you have to just do the debugging | 17:32 |
K0stIa | we will see :) | 17:34 |
K0stIa | I have to work | 17:34 |
wiking | good luck with it | 17:34 |
K0stIa | good luck | 17:34 |
K0stIa | and bye | 17:34 |
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has left #shogun [] | 17:35 | |
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has joined #shogun | 17:38 | |
-!- heiko [~heiko@46.17.162.116] has left #shogun [] | 17:43 | |
-shogungit:#shogun- [shogun] vigsterkr opened pull request #842: Fix warning in libncbm (master...master) https://github.com/shogun-toolbox/shogun/pull/842 | 17:45 | |
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has left #shogun [] | 17:46 | |
shogun-buildbot | build #452 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/452 blamelist: Soeren Sonnenburg <sonne@debian.org> | 17:46 |
-!- blackburn [~blackburn@188.168.3.0] has joined #shogun | 17:49 | |
blackburn | HOT today | 17:51 |
blackburn | you rock guys :D | 17:55 |
blackburn | ok I am confused - kostiantin said there is a segfault but I am unsure how to reproduce it | 17:57 |
wiking | blackburn: ipython -> %run so_multiclass_director_BMRM.py | 17:59 |
wiking | and do that 3-4 times | 17:59 |
wiking | w/o exiting ipython | 17:59 |
wiking | after the 2nd or 3rd run it'll segfault | 18:00 |
wiking | but i guess putting a for loop into so_multiclass_director_BMRM.py will do the same... | 18:00 |
wiking | the same thing doesn't happen with so_multiclass_BMRM.py | 18:02 |
blackburn | cool | 18:03 |
shogun-buildbot | build #688 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/688 blamelist: Soeren Sonnenburg <sonne@debian.org> | 18:14 |
-shogungit:#shogun- [shogun] sonney2k pushed 2 new commits to master: https://github.com/shogun-toolbox/shogun/compare/c2983fb04f83...cd9367c28de2 | 19:52 | |
-shogungit:#shogun- shogun/master d245e1b Viktor Gal: Fix warning in libncbm | 19:52 | |
-shogungit:#shogun- shogun/master cd9367c Soeren Sonnenburg: Merge pull request #842 from vigsterkr/master... | 19:52 | |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/4774b68e4fb1f9ad981de8bf75f42dafc2ec8627 | 20:05 | |
-shogungit:#shogun- shogun/master 4774b68 Soeren Sonnenburg: implement dummies for missing get and setters in hdf5 sparsematrix/stringlist | 20:05 | |
shogun-buildbot | build #453 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/453 blamelist: Soeren Sonnenburg <sonne@debian.org> | 20:05 |
@sonney2k | blackburn, would be great if you can fix the buildbot errors... | 20:07 |
blackburn | ok | 20:07 |
@sonney2k | wiking, btw you can now load/save SGMatrices | 20:09 |
shogun-buildbot | build #454 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/454 blamelist: Viktor Gal <viktor.gal@maeth.com> | 20:16 |
wiking | sonney2k: ah awesome! | 20:21 |
wiking | now we only need to fix DynArray | 20:24 |
wiking | sonney2k: would u mind if i would start using libdispatch for parallel execution in case of some algos? | 20:26 |
shogun-buildbot | build #689 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/689 blamelist: Soeren Sonnenburg <sonne@debian.org> | 20:32 |
@sonney2k | wiking, what is libdispatch? | 20:33 |
wiking | ok | 20:33 |
wiking | this | 20:33 |
wiking | http://libdispatch.macosforge.org/ | 20:33 |
@sonney2k | wiking, well I first put the load/save stuff into sparsevector/matrix, string/stringlist | 20:33 |
wiking | :) | 20:34 |
wiking | anyhow it's just a parallel framework on osx | 20:34 |
wiking | i.e. it's a highlevel api around pthreads | 20:34 |
wiking | s/pthreads/libkqueue/g | 20:35 |
shogun-buildbot | build #690 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/690 blamelist: Viktor Gal <viktor.gal@maeth.com> | 20:36 |
@sonney2k | wiking, I am not too excited about it - it is osx/bsd only :/ | 20:36 |
wiking | yeah but it is working :) | 20:36 |
@sonney2k | I suspect it would be much more beneficial to have some general pthread way in shogun or use openmp directly | 20:36 |
wiking | mmm i dont have openmp :( | 20:37 |
@sonney2k | wiking, pthread do too :) | 20:37 |
@sonney2k | wiking, why not? | 20:37 |
wiking | clang... | 20:37 |
wiking | clang doesn't support openmp | 20:37 |
wiking | pthread is too low level | 20:37 |
wiking | openmp would be great | 20:37 |
wiking | but there's no openmp in clang... and that'll be like this for a while | 20:38 |
@sonney2k | wiking, are you sure about it? | 20:38 |
wiking | unfortunately | 20:38 |
wiking | yes | 20:38 |
@sonney2k | openmp is sooo old | 20:38 |
wiking | yep | 20:38 |
wiking | still | 20:38 |
wiking | llvm is a complete redesign | 20:38 |
wiking | hence it's now not supporting openmp | 20:38 |
@sonney2k | http://www.phoronix.com/scan.php?page=news_item&px=MTIwNjE | 20:38 |
@sonney2k | it will support it soon | 20:38 |
wiking | well some time in future | 20:38 |
wiking | as it says | 20:39 |
wiking | it maybe that it doesn't even make it in 3.2 | 20:39 |
@sonney2k | likely it won't be in 3.2 | 20:40 |
shogun-buildbot | build #455 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/455 blamelist: Soeren Sonnenburg <sonne@debian.org> | 20:48 |
wiking | sonney2k: i wonder why is this | 20:55 |
wiking | http://www.shogun-toolbox.org/buildbot/builders/bsd1%20-%20libshogun/builds/578/steps/test/logs/stdio | 20:55 |
wiking | evaluation_cross_validation_multiclass_mkl segfaults, but still "program finished with exit code 0" | 20:55 |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/1a41f826a1b8a13f9e4aa86d7e11d9202dc851dd | 20:57 | |
-shogungit:#shogun- shogun/master 1a41f82 Soeren Sonnenburg: test for HDF5 in example | 20:57 | |
@sonney2k | wiking, IIRC it throws an exception | 20:57 |
@sonney2k | no segfault | 20:57 |
wiking | sonney2k: on freebsd in dmesg it appears as segfault | 20:58 |
wiking | but none the less | 20:58 |
wiking | it fails | 20:58 |
wiking | but the whole task passes on buildbot | 20:58 |
wiking | while it should fail | 20:59 |
@sonney2k | true it should fail | 21:04 |
shogun-buildbot | build #456 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/456 blamelist: Soeren Sonnenburg <sonne@debian.org> | 21:10 |
shogun-buildbot | build #691 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/691 blamelist: Soeren Sonnenburg <sonne@debian.org> | 21:11 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 21:12 | |
wiking | n4nd0: yo | 21:12 |
n4nd0 | wiking: hi | 21:13 |
n4nd0 | wiking: so coming back to my question before :) | 21:13 |
wiking | shoot | 21:13 |
n4nd0 | I am doing a search in the so-svm literature | 21:13 |
n4nd0 | I am interested in applications dealing with graphs | 21:13 |
wiking | graphical models? | 21:13 |
n4nd0 | as general as possible | 21:13 |
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master: https://github.com/shogun-toolbox/shogun/commit/e22e574f40b365d13d374bdb53ebf69eafbbe742 | 21:14 | |
-shogungit:#shogun- shogun/master e22e574 Soeren Sonnenburg: add load/save functions to sparsematrix/vector/string/stringlist | 21:14 | |
n4nd0 | I am not sure if it is graphical models what I am looking for, I don't think so | 21:14 |
wiking | ok anyways | 21:14 |
wiking | shoot | 21:14 |
n4nd0 | so let say, here in shogun we use the so-svm to solve the hm-svm problem | 21:14 |
wiking | yeah that as well ;) | 21:14 |
n4nd0 | the labels or the output space in the hm-svm is represented with sequences | 21:15 |
n4nd0 | so I am interested in applications where the output space is the space of graphs | 21:15 |
wiking | yeah sure | 21:15 |
n4nd0 | it sounds quite general I think | 21:15 |
wiking | boost::graphs | 21:15 |
wiking | http://www.boost.org/doc/libs/1_52_0/libs/graph/doc/index.html | 21:15 |
wiking | ;) | 21:15 |
@sonney2k | n4nd0, you could predict the traffic of the world ;-) | 21:16 |
@sonney2k | or molecules | 21:16 |
@sonney2k | protein 3d structure whateve | 21:16 |
@sonney2k | are | 21:16 |
n4nd0 | sonney2k: that sounds challenging! hehe | 21:16 |
n4nd0 | sonney2k, wiking: but I guess people have done something like this before with so-svm? | 21:16 |
@sonney2k | as soon as it is about learning graphs everything is challenging | 21:16 |
n4nd0 | wiking: boost::graphs? is that structured learning stuff? | 21:16 |
wiking | n4nd0: CRF | 21:17 |
@sonney2k | n4nd0, for example gunnar alwasy wanted to predict splice graphs | 21:17 |
wiking | n4nd0: http://en.wikipedia.org/wiki/Conditional_random_field | 21:17 |
wiking | that's a good enough graphical model | 21:17 |
n4nd0 | wiking: yeah, I have heard of CRFs | 21:17 |
wiking | and people do stuff with this and SO | 21:17 |
wiking | n4nd0: boost::graph is just a good library for representing graphs ;) | 21:18 |
wiking | but i mean your Y set can be anything | 21:18 |
wiking | in SO | 21:18 |
n4nd0 | wiking: yeah, I thought so | 21:18 |
wiking | so it can be as well as graphs | 21:18 |
n4nd0 | the boost::graph thing I meant | 21:18 |
n4nd0 | exactly | 21:18 |
n4nd0 | so I know that idea but rather theoretically | 21:18 |
wiking | there's only 2 things you have to define | 21:18 |
wiking | a delta (loss function) over it | 21:18 |
n4nd0 | from the papers where they introduce SO learning | 21:18 |
wiking | and the PSI function | 21:18 |
n4nd0 | but I have not seen yet an application where the output space is formed by actual graphs | 21:19 |
wiking | n4nd0: just a sec | 21:19 |
n4nd0 | sonney2k: so there's definitely some work done in that | 21:19 |
wiking | n4nd0: https://github.com/amueller/pystruct | 21:19 |
n4nd0 | I read a blog entry by this guy some time ago | 21:20 |
wiking | n4nd0: https://github.com/amueller/pystruct/blob/master/examples_grid_crf.py | 21:20 |
n4nd0 | something about segmentation I think | 21:20 |
n4nd0 | image segmentation | 21:20 |
wiking | he has a CRF | 21:20 |
wiking | and learns shit with sosvm | 21:20 |
wiking | n4nd0: http://en.wikipedia.org/wiki/Conditional_random_field | 21:21 |
wiking | as a short intro | 21:21 |
wiking | but yeah you can get the grip of the CRF example of that python code | 21:24 |
wiking | but of course there are other applications | 21:24 |
wiking | like the deformable part models | 21:24 |
wiking | it's as well a graphical model in some sence | 21:24 |
wiking | the structure of the deformable parts | 21:24 |
wiking | i mean with graphs you can model a lot of shit | 21:25 |
n4nd0 | sure | 21:25 |
wiking | even things that you wouldn't think about | 21:25 |
wiking | (like breaking rsa code ;) | 21:25 |
n4nd0 | so I am interested in seeing what people have done with so-svm+graphs | 21:26 |
wiking | i mean the problem of breaking rsa code can be transformed in a graph model ;) | 21:26 |
wiking | n4nd0: i would start with CRF + sosvm | 21:26 |
wiking | there's a lot of things about that already done | 21:26 |
n4nd0 | wiking: that confuses me a bit though | 21:26 |
wiking | what's the problem with it? | 21:27 |
wiking | i mean it's a special type of graph | 21:27 |
n4nd0 | I thought that CRF could be used instead of so-svm | 21:27 |
wiking | nono | 21:27 |
n4nd0 | when you are dealing with sequences | 21:27 |
wiking | you can learn parameters of a crf | 21:27 |
wiking | with sosvm | 21:27 |
n4nd0 | that sounds interesting | 21:27 |
wiking | so that you can train a crf | 21:27 |
wiking | with sosvm | 21:27 |
wiking | check that example i've sent you | 21:28 |
n4nd0 | I will | 21:28 |
wiking | it's basically doing that | 21:28 |
wiking | crf is really a special kind of graph | 21:28 |
n4nd0 | do you happen to know the paper for that? | 21:28 |
wiking | you could say with 2 colored nodes | 21:28 |
wiking | X and Y | 21:29 |
wiking | X are the nodes which is the input | 21:29 |
wiking | and Y are the outputs | 21:29 |
wiking | you are learning P(Y|X) | 21:29 |
n4nd0 | and what is the training data for that so-svm? | 21:29 |
wiking | and basically markovian preoperties are obeyed in that graph for the vertices | 21:29 |
wiking | well X is your input right? | 21:30 |
wiking | those are nodes | 21:30 |
wiking | and there are connections between the nodes | 21:30 |
shogun-buildbot | build #457 of cyg1 - libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/cyg1%20-%20libshogun/builds/457 blamelist: Soeren Sonnenburg <sonne@debian.org> | 21:34 |
n4nd0 | wiking: I think this is pretty cool, thank you very much for the pointer! :) | 21:38 |
wiking | n4nd0: btw | 21:39 |
n4nd0 | I am checking the light explanation the guy gives here http://peekaboo-vision.blogspot.se/2012/06/structured-svm-and-structured.html | 21:39 |
wiking | have u thought about implementing | 21:39 |
wiking | kernelized sosvm? | 21:39 |
n4nd0 | wiking: so we kind of thought of it | 21:39 |
n4nd0 | I think there actually is something that should support it | 21:39 |
n4nd0 | but no learning algorithm yet | 21:40 |
wiking | yeah | 21:40 |
wiking | i mean we need a solver for that | 21:40 |
n4nd0 | KernelStructuredOutputMachine | 21:40 |
n4nd0 | yes | 21:40 |
n4nd0 | I remember Nico said that the PrimalMosekSOSVM could be used for that | 21:40 |
n4nd0 | one should introduce some changes of course | 21:40 |
n4nd0 | he said that it would be awfully slow though | 21:41 |
wiking | well depends of it yes | 21:41 |
n4nd0 | but from the idea I got, I don't think it should entail too much development effort | 21:41 |
n4nd0 | but who knows | 21:41 |
n4nd0 | would you like to have that? | 21:41 |
n4nd0 | something working with the PrimalMosekSOSVM with kernel | 21:42 |
shogun-buildbot | build #692 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/692 blamelist: Soeren Sonnenburg <sonne@debian.org> | 21:42 |
wiking | well why not | 21:43 |
wiking | although of course | 21:43 |
wiking | some kernels we can 'emulate' | 21:43 |
wiking | with preprocessor | 21:43 |
wiking | (homogeneous kernel mapping) | 21:44 |
wiking | so that should be fun to try as well :) | 21:44 |
n4nd0 | yep | 21:44 |
n4nd0 | I promise I will try not to forget about it :) | 21:44 |
n4nd0 | brb | 21:44 |
wiking | that ok | 21:44 |
shogun-buildbot | build #693 of deb3 - modular_interfaces is complete: Failure [failed test python_modular] Build details are at http://www.shogun-toolbox.org/buildbot/builders/deb3%20-%20modular_interfaces/builds/693 blamelist: Soeren Sonnenburg <sonne@debian.org> | 22:06 |
n4nd0 | wiking: I think this looks like the right paper for this http://www.cs.illinois.edu/homes/dhoiem/publications/eccv08GraphcutCRFs.pdf | 22:10 |
n4nd0 | wiking: have you seen it before? | 22:10 |
wiking | nop | 22:20 |
n4nd0 | I am going to have a look | 22:20 |
wiking | anybody has any clue why is this true: max_y (Psi(x_i, y, w) + delta(y_i, y)) ~ max (0, log \sum_{y != y_i} exp(Psi(x_i, y, w) + delta(y_i, y)) | 22:54 |
n4nd0 | have to write that down first | 22:55 |
n4nd0 | is it soft margin thing? | 22:56 |
wiking | yes | 22:58 |
wiking | do u know why? | 22:59 |
n4nd0 | not really | 23:00 |
n4nd0 | but I checking a pdf that reminded me of that | 23:00 |
wiking | sonney2k: u r the dr. here, help :) | 23:01 |
n4nd0 | it is the actual max value right? not the argmax whatsoever | 23:02 |
wiking | yes just simply the max value | 23:03 |
n4nd0 | then I don't really know | 23:04 |
n4nd0 | delta(y_i,y) is just like the indicator function [[y_i==y]] I understand | 23:05 |
wiking | it's a loss function | 23:05 |
n4nd0 | ok, any loss function then | 23:06 |
n4nd0 | and Psi can be any joint feature function too? | 23:06 |
wiking | yes | 23:09 |
wiking | ah fuck | 23:09 |
wiking | i'm sorry | 23:09 |
wiking | s/\Psi/F/g | 23:09 |
wiking | so basically it's not a joint feautre | 23:09 |
wiking | but a function of x_i, y and w | 23:09 |
wiking | so for example dot(\Psi(x_i,y),w) | 23:10 |
n4nd0 | ok | 23:10 |
wiking | but of course any other function as well | 23:10 |
n4nd0 | yeah | 23:10 |
n4nd0 | it doesn't make things easier hehe | 23:10 |
wiking | yeah | 23:12 |
wiking | i really don't know why this approx works | 23:12 |
wiking | but apparently works | 23:12 |
n4nd0 | and the use of ~ is a bit lousy I think :) | 23:14 |
n4nd0 | I guess it may help to understand why that holds | 23:14 |
n4nd0 | to know to what extent are they similar | 23:14 |
wiking | well i just used ~ as i dont have ~~ | 23:15 |
wiking | i mean almost equal | 23:15 |
wiking | or wtf | 23:15 |
n4nd0 | yeah I understood it as almost equal | 23:15 |
n4nd0 | by I meant, "how much almost"? | 23:16 |
n4nd0 | I think that if you want to see why that ~ holds, probably it helps to know that | 23:16 |
wiking | lol http://25.media.tumblr.com/tumblr_me7tkuzZ5H1qcf0mxo1_1280.jpg | 23:16 |
n4nd0 | haha | 23:17 |
n4nd0 | mother of god | 23:17 |
n4nd0 | almost 9 hundred M visits | 23:17 |
n4nd0 | that's pretty sad | 23:17 |
wiking | well yeah | 23:18 |
wiking | sonney2k: do u have visiting stats of shogun-toolbox.org? | 23:18 |
--- Log closed Thu Nov 29 00:00:15 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!