Open in new window / Try shogun cloud
--- Log opened Wed Nov 28 00:00:15 2012
-!- ptizoom [] has quit [Quit: Ex-Chat]00:32
-!- ptizoom [] has joined #shogun00:32
-!- heiko [~heiko@] has quit [Quit: Leaving.]01:07
shogun-buildbotbuild #188 of nightly_default is complete: Failure [failed test]  Build details are at
-!- n4nd0 [] has joined #shogun06:03
-!- n4nd0 [] has quit [Ping timeout: 250 seconds]07:32
blackburnwiking: the most scary thing about pelevin is that his dreams come true :D07:46
-!- blackburn [~blackburn@] has quit [Quit: Leaving.]07:56
-!- K0stIa [] has left #shogun []08:01
-!- ptizoom [] has quit [Quit: Ex-Chat]08:10
-!- ptizoom [] has joined #shogun08:10
-shogungit:#shogun- [shogun] sonney2k pushed 2 new commits to master:
-shogungit:#shogun- shogun/master 31e07b6 Viktor Gal: Define EMachineType for the SO learners08:14
-shogungit:#shogun- shogun/master b093d9e Soeren Sonnenburg: Merge pull request #841 from vigsterkr/master...08:14
@sonney2kwiking, 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 #shogun08:18
shogun-buildbotbuild #449 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Viktor Gal <>08:30
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master:
-shogungit:#shogun- shogun/master cb56c98 Soeren Sonnenburg: fix hdf5file (implement missing functions) and add toy data set and example08:35
shogun-buildbotbuild #450 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>08:40
shogun-buildbotbuild #685 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Viktor Gal <>08:57
shogun-buildbotbuild #686 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>09:10
shogun-buildbotbuild #451 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>09:13
-!- heiko [~heiko@] has joined #shogun09:46
shogun-buildbotbuild #687 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>09:47
sonne|workwiking: is that on your account or is this due to the director bmrm changes from blackburn ?09:47
wikingsonne|work: director changes10:13
-!- heiko [~heiko@] has quit [Quit: Leaving.]10:14
wikingsonne|work: well all of them are classifiers indeed10:14
wikingi mean the so learners10:14
wikingso it's appropriate there10:14
-!- heiko [~heiko@] has joined #shogun10:15
-!- heiko [~heiko@] has quit [Client Quit]10:17
-!- heiko [~heiko@] has joined #shogun10:53
-!- heiko [~heiko@] has quit [Read error: Connection reset by peer]11:02
-!- heiko [~heiko@] has joined #shogun11:02
sonne|workwiking: yeah but we have this in CMachine and it will certainly be defined for some regression method too11:03
-!- heiko [~heiko@] has quit [Ping timeout: 260 seconds]11:30
-!- heiko [~heiko@] has joined #shogun11:41
-!- heiko [~heiko@] has quit [Ping timeout: 250 seconds]11:53
-!- heiko [~heiko@] has joined #shogun11:56
-!- heiko [~heiko@] has quit [Ping timeout: 265 seconds]12:01
-!- heiko [~heiko@] has joined #shogun12:25
-!- zxtx [] has quit [Ping timeout: 246 seconds]13:05
-!- heiko [~heiko@] has quit [Quit: Leaving.]13:27
-!- heiko [~heiko@] has joined #shogun13:27
-!- heiko [~heiko@] has quit [Ping timeout: 252 seconds]13:42
-!- n4nd0 [] has joined #shogun14:57
sonne|workn4nd0: K0stIa had a suggestion regarding directors for structured ouptut machine... check the IRC logs from yesterday...16:16
n4nd0sonne|work: all right, thanks!16:16
n4nd0K0stIa: hi!16:24
n4nd0wiking: around?16:25
K0stIan4nd0: Hi16:31
n4nd0K0stIa: so you had a couple of suggestions for the so-svm, right?16:32
n4nd0I have just read your conv with wiking yesterday in the logs16:32
n4nd0first, there is something about the loss function, you say that it is not necessary?16:32
K0stIan4nd0: 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 subgradient16:35
wikingn4nd0: yes16:35
wikingn4nd0: tell me16:35
n4nd0wiking: hey, let me discuss with K0stIa first about this and I will ask you later :)16:36
K0stIafor bmrm its enough just to provide such oracle. i.e. function16:36
n4nd0K0stIa: is the oracle the same as the argmax function?16:37
n4nd0ok :) tell please what it is then16:37
n4nd0tell me*16:37
K0stIait fact it will compute some argmax16:37
K0stIahowever currently you have to pass features in advance, right ?16:38
n4nd0the features have to be given to the svm object before training,yes16:38
n4nd0I am not sure if that is what you meant though16:38
K0stIait is16:39
K0stIaand this is not good for so-vsm16:39
n4nd0K0stIa: if not given, how would you perform training?16:39
K0stIathere 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 guess16:41
n4nd0well I guess that depends on what do you mean with correct :) AFAIK it properly worked not so long ago16:41
n4nd0maybe it is not the best way of doing it, but still correct probably16:42
n4nd0anyway, let me see what you mean with MRF and P-CFG because idk what tha is16:42
K0stIaagree, it used to work correctly :)16:42
K0stIaMRF = Markov Random Field16:42
K0stIaP-CFG = probabilistic contex free grammar16:43
K0stIahow would you learn such things with current implementation ?16:43
K0stIait's possible..16:43
n4nd0well I don't think that is implemented16:43
K0stIaand what I say16:43
K0stIais to provide just an oracle16:44
K0stIaand then it could be easily used for such things16:44
n4nd0hehe I am not still sure what the oracle concept is :)16:44
wikingn4nd0: that generates u the features imho16:44
wikingso that u want to be able to set an MRF as an oracle16:45
K0stIaoracle is something that takes a vector as input parameter and returns risk subgradient and its value16:45
n4nd0aham I see16:45
wikingwell u can do that with overriding risk function16:45
n4nd0isn't it that oracle precisely what we were calling risk function here?16:46
K0stIayep, and currently it is not possible16:46
K0stIayes, it is16:46
wikingK0stIa: it is16:46
n4nd0ok ...16:46
K0stIathere is a sum16:46
n4nd0then I believe this is not a problem with giving features16:46
wikingK0stIa: class MyOwnStructuredModel : public CStructuredModel16:46
wikingand you can write any kind of risk function16:46
n4nd0K0stIa: yeah, I read also the problem you mentioned with the sum16:46
n4nd0K0stIa: but about the oracle thing, can't it be done as wiking is saying?16:47
wikingK0stIa: as it's virtual float64_T risk(...)16:47
n4nd0I believe you are just talking about the risk function16:47
wikingso it's a virtual function, you implement it as u wish16:47
wikingmore over16:47
wikingit's a pure virtual16:47
n4nd0you just need to provide your own implementation if the one that exists doesn't fit your needs16:47
wikinghence u must implement it afaik16:47
K0stIayyes, 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-svm16:48
wikingok it's not pure virtual ... but virtual16:48
-!- heiko [~heiko@] has joined #shogun16:48
wikingK0stIa: ?16:48
K0stIabecause in that sum you supose the features to be not None16:48
wikingyou can NULL the loss function16:48
K0stIaand I cannot with features16:48
K0stIayou take dimension from them16:49
K0stIaand the sum is the number of features...16:49
wikingget_dim is pure virtual16:49
wikingso you set it as u wish16:49
wikingwhat sum we are talking about now?16:49
K0stIashogun / src / shogun / structure / StructuredModel.cpp 16:50
wikingn4nd0: enlighten me as i didn't read the sum part from yesterday16:50
K0stIaoh, sorruy16:50
wikingK0stIa: so what sum?16:51
n4nd0wiking: 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 parallelized16:51
K0stIafloat64_t CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info)16:51
wikingK0stIa: yes16:51
n4nd0K0stIa: but it just parallelization your concern?16:51
K0stIayou go through all features and do sum16:51
wikingn4nd0: sum in which learning algo?16:51
wikingK0stIa: you do whatever in that risk function16:51
n4nd0K0stIa: then I think the solution is not to allow to give it from outside but to implement parallelization in shogun16:51
n4nd0wiking: let me see16:52
K0stIathere is no risk function in python16:52
K0stIaonly argmask16:52
wikingK0stIa: c++ it16:52
n4nd0wiking: the one required byt bmrm16:52
wikingn4nd0: which?16:52
wikingn4nd0: CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info)16:52
wikingK0stIa: float64_t CStructuredModel::risk(float64_t* subgrad, float64_t* W, TMultipleCPinfo* info)16:52
wikingthis is a virtual function16:52
n4nd0wiking: I am not sure to be honest16:53
wikingyou can implement it as you wish in your own structuredmodel16:53
wikingjust give back a gradient vector16:53
wikingand a risk value16:53
K0stIacan you make it visible in python such that I can work with it as with oracle ?!16:53
wikingthat's all u need to do16:53
wikingK0stIa: mate.... c++16:53
wikingyou are now doing something funky so i highly suggest u to implement this in c++16:54
n4nd0but that should be possible to do from python as well16:54
wikingbecause maybe in a director class u won't be able to do it16:54
n4nd0wiking: why not? isn't it just a similar idea to provide a custom argmax?16:54
K0stIawiking: 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
wikingK0stIa: lolface16:55
wikingK0stIa: i'm not teaching you16:55
wikingi'm saying that maybe you would be better off doing that16:55
wikinginstead of doing this with python16:55
wikingas in c++ you would sure get what u would like to have16:55
wikingand director classes cannot really do everything you really want16:55
wikingn4nd0: yeah sure, implement in the director class as a virtual func16:56
K0stIawith python the it is the same if it is done properly..16:56
n4nd0K0stIa: well that's probably not true..16:56
wikingK0stIa: if u think it's not done properly feel free to send in fixes of course16:56
K0stIait is...16:56
K0stIathere is still segmention fault in python16:56
wikingK0stIa: yes16:57
n4nd0I am just guessing but my fundamentals tell me that if you want to do it something fast, then you rather C++ than python16:57
wikingK0stIa: do you know why? do you have a fix for it?16:57
K0stIaso, it is not done properly16:57
wikingK0stIa: i think it's a little bit rude coming in here and telling it that this is not done properly16:57
K0stIacould be.16:57
wikingi hope you realise that everybody works on this for free as an open source project16:57
n4nd0c'mon, let the peace flow in here :)16:57
wikingout of their free time16:57
wikingso if u think that it's not done properly16:58
wikingthen please have a fix for it as you think it would be proper16:58
K0stIaI just wanted to say there is a bug16:58
wikingi think that's fair thing to ask16:58
wikingor at least point out where the bug is coming from16:58
n4nd0K0stIa: so to sum up16:59
K0stIaat least I am not claiming that I know how to find global minimum of non-convex functions :)16:59
wikingK0stIa: ok mate16:59
wikingi think you stepped over a line here16:59
wikingif u don't know what u are really talking about that's ok17:00
wikingbut if you start bitching people17:00
wikingthat's really not nice17:00
wikingmoreover... the code for it is there17:00
wikingso if u don't believe it then please test it before really starting here to be sarcastic17:00
n4nd0K0stIa: are you still around? I just want to find a possible solution for the flaws you pointed out17:03
K0stIan4nd0: I am17:03
n4nd0K0stIa: all right17:03
n4nd0K0stIa: so, would being able to provide a custom implementation of the risk function from python solve your request?17:04
n4nd0as far as I understood, it should17:04
K0stIa1. 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 class17:06
wikingK0stIa: from what you are writing i think you mean bundle method risk minimization instead of SO learning17:08
n4nd0K0stIa: I am not sure what you mean at the end with "about it in very abstract class"17:08
wikingas SO learning is really all about structured labels17:09
-!- heiko [~heiko@] has quit [Ping timeout: 260 seconds]17:09
-!- heiko [~heiko@] has joined #shogun17:09
K0stIawiking: since shogun has only BMRM, yes I mean BMRM17:09
wikingK0stIa: nope17:09
n4nd0K0stIa: you are wrong in that17:09
n4nd0K0stIa: we have more than BMRM17:09
wikingK0stIa: shogun has 3 different SO learners atm17:09
K0stIan4nd0: in what ?17:09
K0stIan4nd0: you have proximals17:09
K0stIaproximal BMRM17:10
wikingK0stIa: primalmosekSOSVM and CCSOSVM17:10
K0stIaand something with non-convex bmrm17:10
wikingthey are completely unrelated with BMRM17:10
wikingand they are SO learners17:10
n4nd0K0stIa: exactly17:10
wikingwhat you want is a pure bundle method risk minimizer17:10
n4nd0there is more stuff in here than the bundle methods to do SO17:10
wikinguntangled from SO model17:11
wikingabout which there has been plans to do so17:11
wikingbut time is a bad constraint for everybody here17:12
wikingbut we would be more than happy if u would do that code refactoring17:12
-!- heiko [~heiko@] has quit [Read error: Connection reset by peer]17:12
K0stIawell, can I do that changes by myself ?17:12
-!- heiko1 [~heiko@] has joined #shogun17:12
n4nd0or you could talk with Michal since he is the bundle guru here :)17:12
wikingK0stIa: yeah sure17:13
wikingclone yourself a shogun repo17:13
wikingmake the changes17:13
wikingsend in via a standard PR17:13
K0stIaI will do it after deadline :D17:13
wikingand people will review it and when it's n a good shape17:13
wikingit's going to be merged into master branch for sure17:13
n4nd0hehe and you can always ask around here if you need help with development17:13
wikingthe plan was to put that under src/shogun/optimization17:14
K0stIaguys, I am sorry for being rude17:14
wikingsomething like RiskMinimizer17:14
wikingand it would not need more than 2 function calls17:15
wikingand a new class called RiskFunction17:15
K0stIawiking: there is still segmentation fault in python17:15
wikingthat is a pure abstract class17:15
wikingwhere you cen define your risk function17:15
K0stIawiking, I understand what is written there...17:15
wikingand then move all the current BMRM implementations under that17:15
wikingand then you would have what u would like to have17:16
wikingwith the current state17:16
wikingyou can have BMRM17:16
wikingw/o features and labels17:16
wikingand anything17:16
wikingas BMRM only calls 2 functions from StructuredModel17:16
wikingif u check17:16
wikingand risk17:16
wikingso you only need to really implement that 2 function properly17:17
wikingand the rest as a dummy function17:17
wikingand pass just dummy values to the structuredmodel17:17
K0stIado you agree that for SO features and labels not needed if you want to model really complex structure ?17:17
wikingK0stIa: well if u want to do SO learning17:17
wikingyou need to define yourself17:17
wikinga SO label17:17
wikingotherwise what's the use of SO learning17:18
K0stIathe point that you cannot have features as a vectors....17:18
wikingand how would you then calculate w on the end?17:18
K0stIait could be graphs... grammars and etc/17:18
wikingi mean you need to generate from your input somehow a vector17:18
n4nd0K0stIa: your features don't need to be vectors17:18
K0stIaby w you mean what ?17:18
wikingK0stIa: in BMRM you calculate 1/2*lambda ||w||^2 + R(w)17:19
wikingso that w17:19
wikingis a vector17:19
wikingthere's no way around that one17:19
K0stIan4nd0: in python they are only vectors17:19
n4nd0K0stIa: mmm no17:19
wikingK0stIa: no17:19
n4nd0check under shogun/features17:19
wikingK0stIa: you can have any type of features17:19
wikingK0stIa: moreover if you don't like it17:20
wikingor none of them fits your needs17:20
wikingyou can define your own features17:20
wikingbut then again17:20
K0stIabut not in oython right ?17:20
n4nd0you can use them in python yes17:20
wikingthere's a director class for it17:21
wikingso you can define your own features in python as well17:21
n4nd0K0stIa: 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. python17:21
wiking^ so you are really better off to do implement your stuff in c++17:22
-!- heiko1 [~heiko@] has quit [Ping timeout: 260 seconds]17:22
wikingas swig has some limitations17:22
K0stIan4nd0: I am aware, but for instance you can not overload risk function there17:23
-!- heiko [~heiko@] has joined #shogun17:23
K0stIaok, guys.. I have to work.17:23
wikingK0stIa: do u have a fix for it?17:23
wikingi mean essentially you have to do 2 things, fix the DirectorStructuredModel17:24
n4nd0K0stIa: 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
wikingand then maybe hack around in the swig headers17:24
K0stIan4nd0: there is no.. but I guess blackburn already did it17:24
n4nd0K0stIa: what?17:24
K0stIadirector for risk17:24
n4nd0if he did it, how it is that tere is no?17:25
K0stIaI asked him, he said when he willl be at home he will do it17:25
n4nd0I see17:26
wikingwhy not just fix it yourself?17:27
K0stIawell, I have not been developing it.. I could easily break it17:27
wikingK0stIa: well try it and send a patch17:27
-!- heiko [~heiko@] has quit [Ping timeout: 256 seconds]17:27
wikingthere's plenty of people here who would comment on it17:28
K0stIamaybe letter I will do it...17:28
K0stIawiking: will you check that segmentation fault ?17:29
wikingK0stIa: i'd like to17:29
wikingK0stIa: but aint' got the resources for it17:29
wikingi have to work on my own stuff as well17:29
wikingbut as i said earlier17:29
@sonney2kwe still have crappydo ptr's in Sparse/StringFeatures instead of SG* data structures17:29
K0stIaI understand17:29
wikingif you point me to the exact bug17:29
wikingso do the debugging for me17:29
K0stIawiking: I don't know shogun well :(17:30
wikingK0stIa: it's not about shougn17:30
wikingit's about debugging17:30
wikingso just give me the segfault result from gdb for example17:30
wikingthen i could at least be able to tell you something17:30
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master:
-shogungit:#shogun- shogun/master c2983fb Soeren Sonnenburg: use overloading for all file functions...17:30
K0stIawell, if you know the code then it easier to look for bugs17:30
wikingK0stIa: but here's it's a segfault17:30
@sonney2kwiking, 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
wikingcatch it with gdb17:30
-!- heiko [~heiko@] has joined #shogun17:30
wikingand send me back the backtrace17:31
@sonney2kalright. time to leave the train17:31
wikingK0stIa: this is completely unrelated to shogun17:31
n4nd0and time to leave to train for me :)17:31
n4nd0see you guys!17:31
K0stIacould be...17:31
wikingit's about debugging the problem itself17:31
wikingas now i don't have the means to do the debugging17:32
K0stIame neither:)17:32
wikingi.e. get the backtrace of that segfault17:32
wikingK0stIa: yes you do17:32
wikingyou have the modular python installed17:32
wikingand you have the code17:32
-!- n4nd0 [] has quit [Quit: leaving]17:32
wikingand i guess you have gdb in your machine17:32
K0stIayep :)17:32
wikingso if you have all these17:32
K0stIaI will try to look at it later ...17:32
wikingthen you have to just do the debugging17:32
K0stIawe will see :)17:34
K0stIaI have to work17:34
wikinggood luck with it17:34
K0stIagood luck17:34
K0stIaand bye17: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 #shogun17:38
-!- heiko [~heiko@] has left #shogun []17:43
-shogungit:#shogun- [shogun] vigsterkr opened pull request #842: Fix warning in libncbm (master...master)
-!- K0stIa [~kostia@2001:718:2:1634:4a5b:39ff:fe99:cc49] has left #shogun []17:46
shogun-buildbotbuild #452 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>17:46
-!- blackburn [~blackburn@] has joined #shogun17:49
blackburnHOT today17:51
blackburnyou rock guys :D17:55
blackburnok I am confused - kostiantin said there is a segfault but I am unsure how to reproduce it17:57
wikingblackburn: ipython -> %run so_multiclass_director_BMRM.py17:59
wikingand do that 3-4 times17:59
wikingw/o exiting ipython17:59
wikingafter the 2nd or 3rd run it'll segfault18:00
wikingbut i guess putting a for loop into will do the same...18:00
wikingthe same thing doesn't happen with so_multiclass_BMRM.py18:02
shogun-buildbotbuild #688 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>18:14
-shogungit:#shogun- [shogun] sonney2k pushed 2 new commits to master:
-shogungit:#shogun- shogun/master d245e1b Viktor Gal: Fix warning in libncbm19: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:
-shogungit:#shogun- shogun/master 4774b68 Soeren Sonnenburg: implement dummies for missing get and setters in hdf5 sparsematrix/stringlist20:05
shogun-buildbotbuild #453 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>20:05
@sonney2kblackburn, would be great if you can fix the buildbot errors...20:07
@sonney2kwiking, btw you can now load/save SGMatrices20:09
shogun-buildbotbuild #454 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Viktor Gal <>20:16
wikingsonney2k: ah awesome!20:21
wikingnow we only need to fix DynArray20:24
wikingsonney2k: would u mind if i would start using libdispatch for parallel execution in case of some algos?20:26
shogun-buildbotbuild #689 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>20:32
@sonney2kwiking, what is libdispatch?20:33
@sonney2kwiking, well I first put the load/save stuff into sparsevector/matrix, string/stringlist20:33
wikinganyhow it's just a parallel framework on osx20:34
wikingi.e. it's a highlevel api around pthreads20:34
shogun-buildbotbuild #690 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Viktor Gal <>20:36
@sonney2kwiking, I am not too excited about it - it is osx/bsd only :/20:36
wikingyeah but it is working :)20:36
@sonney2kI suspect it would be much more beneficial to have some general pthread way in shogun or use openmp directly20:36
wikingmmm i dont have openmp :(20:37
@sonney2kwiking, pthread do too :)20:37
@sonney2kwiking, why not?20:37
wikingclang doesn't support openmp20:37
wikingpthread is too low level20:37
wikingopenmp would be great20:37
wikingbut there's no openmp in clang... and that'll be like this for a while20:38
@sonney2kwiking, are you sure about it?20:38
@sonney2kopenmp is sooo old20:38
wikingllvm is a complete redesign20:38
wikinghence it's now not supporting openmp20:38
@sonney2kit will support it soon20:38
wikingwell some time in future20:38
wikingas it says20:39
wikingit maybe that it doesn't even make it in 3.220:39
@sonney2klikely it won't be in 3.220:40
shogun-buildbotbuild #455 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>20:48
wikingsonney2k: i wonder why is this20:55
wikingevaluation_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:
-shogungit:#shogun- shogun/master 1a41f82 Soeren Sonnenburg: test for HDF5 in example20:57
@sonney2kwiking, IIRC it throws an exception20:57
@sonney2kno segfault20:57
wikingsonney2k: on freebsd in dmesg it appears as segfault20:58
wikingbut none the less20:58
wikingit fails20:58
wikingbut the whole task passes on buildbot20:58
wikingwhile it should fail20:59
@sonney2ktrue it should fail21:04
shogun-buildbotbuild #456 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>21:10
shogun-buildbotbuild #691 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>21:11
-!- n4nd0 [] has joined #shogun21:12
wikingn4nd0: yo21:12
n4nd0wiking: hi21:13
n4nd0wiking: so coming back to my question before :)21:13
n4nd0I am doing a search in the so-svm literature21:13
n4nd0I am interested in applications dealing with graphs21:13
wikinggraphical models?21:13
n4nd0as general as possible21:13
-shogungit:#shogun- [shogun] sonney2k pushed 1 new commit to master:
-shogungit:#shogun- shogun/master e22e574 Soeren Sonnenburg: add load/save functions to sparsematrix/vector/string/stringlist21:14
n4nd0I am not sure if it is graphical models what I am looking for, I don't think so21:14
wikingok anyways21:14
n4nd0so let say, here in shogun we use the so-svm to solve the hm-svm problem21:14
wikingyeah that as well ;)21:14
n4nd0the labels or the output space in the hm-svm is represented with sequences21:15
n4nd0so I am interested in applications where the output space is the space of graphs21:15
wikingyeah sure21:15
n4nd0it sounds quite general I think21:15
@sonney2kn4nd0, you could predict the traffic of the world ;-)21:16
@sonney2kor molecules21:16
@sonney2kprotein 3d structure whateve21:16
n4nd0sonney2k: that sounds challenging! hehe21:16
n4nd0sonney2k, wiking: but I guess people have done something like this before with so-svm?21:16
@sonney2kas soon as it is about learning graphs everything is challenging21:16
n4nd0wiking: boost::graphs? is that structured learning stuff?21:16
wikingn4nd0: CRF21:17
@sonney2kn4nd0, for example gunnar alwasy wanted to predict splice graphs21:17
wikingthat's a good enough graphical model21:17
n4nd0wiking: yeah, I have heard of CRFs21:17
wikingand people do stuff with this and SO21:17
wikingn4nd0: boost::graph is just a good library for representing graphs ;)21:18
wikingbut i mean your Y set can be anything21:18
wikingin SO21:18
n4nd0wiking: yeah, I thought so21:18
wikingso it can be as well as graphs21:18
n4nd0the boost::graph thing I meant21:18
n4nd0so I know that idea but rather theoretically21:18
wikingthere's only 2 things you have to define21:18
wikinga delta (loss function) over it21:18
n4nd0from the papers where they introduce SO learning21:18
wikingand the PSI function21:18
n4nd0but I have not seen yet an application where the output space is formed by actual graphs21:19
wikingn4nd0: just a sec21:19
n4nd0sonney2k: so there's definitely some work done in that21:19
n4nd0I read a blog entry by this guy some time ago21:20
n4nd0something about segmentation I think21:20
n4nd0image segmentation21:20
wikinghe has a CRF21:20
wikingand learns shit with sosvm21:20
wikingas a short intro21:21
wikingbut yeah you can get the grip of the CRF example of that python code21:24
wikingbut of course there are other applications21:24
wikinglike the deformable part models21:24
wikingit's as well a graphical model in some sence21:24
wikingthe structure of the deformable parts21:24
wikingi mean with graphs you can model a lot of shit21:25
wikingeven things that you wouldn't think about21:25
wiking(like breaking rsa code ;)21:25
n4nd0so I am interested in seeing what people have done with so-svm+graphs21:26
wikingi mean the problem of breaking rsa code can be transformed in a graph model ;)21:26
wikingn4nd0: i would start with CRF + sosvm21:26
wikingthere's a lot of things about that already done21:26
n4nd0wiking: that confuses me a bit though21:26
wikingwhat's the problem with it?21:27
wikingi mean it's a special type of graph21:27
n4nd0I thought that CRF could be used instead of so-svm21:27
n4nd0when you are dealing with sequences21:27
wikingyou can learn parameters of a crf21:27
wikingwith sosvm21:27
n4nd0that sounds interesting21:27
wikingso that you can train a crf21:27
wikingwith sosvm21:27
wikingcheck that example i've sent you21:28
n4nd0I will21:28
wikingit's basically doing that21:28
wikingcrf is really a special kind of graph21:28
n4nd0do you happen to know the paper for that?21:28
wikingyou could say with 2 colored nodes21:28
wikingX and Y21:29
wikingX are the nodes which is the input21:29
wikingand Y are the outputs21:29
wikingyou are learning P(Y|X)21:29
n4nd0and what is the training data for that so-svm?21:29
wikingand basically markovian preoperties are obeyed in that graph  for the vertices21:29
wikingwell X is your input right?21:30
wikingthose are nodes21:30
wikingand there are connections between the nodes21:30
shogun-buildbotbuild #457 of cyg1 - libshogun is complete: Failure [failed compile]  Build details are at  blamelist: Soeren Sonnenburg <>21:34
n4nd0wiking: I think this is pretty cool, thank you very much for the pointer! :)21:38
wikingn4nd0: btw21:39
n4nd0I am checking the light explanation the guy gives here
wikinghave u thought about implementing21:39
wikingkernelized sosvm?21:39
n4nd0wiking: so we kind of thought of it21:39
n4nd0I think there actually is something that should support it21:39
n4nd0but no learning algorithm yet21:40
wikingi mean we need a solver for that21:40
n4nd0I remember Nico said that the PrimalMosekSOSVM could be used for that21:40
n4nd0one should introduce some changes of course21:40
n4nd0he said that it would be awfully slow though21:41
wikingwell depends of it yes21:41
n4nd0but from the idea I got, I don't think it should entail too much development effort21:41
n4nd0but who knows21:41
n4nd0would you like to have that?21:41
n4nd0something working with the PrimalMosekSOSVM with kernel21:42
shogun-buildbotbuild #692 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>21:42
wikingwell why not21:43
wikingalthough of course21:43
wikingsome kernels we can 'emulate'21:43
wikingwith preprocessor21:43
wiking(homogeneous kernel mapping)21:44
wikingso that should be fun to try as well :)21:44
n4nd0I promise I will try not to forget about it :)21:44
wikingthat ok21:44
shogun-buildbotbuild #693 of deb3 - modular_interfaces is complete: Failure [failed test python_modular]  Build details are at  blamelist: Soeren Sonnenburg <>22:06
n4nd0wiking: I think this looks like the right paper for this
n4nd0wiking: have you seen it before?22:10
n4nd0I am going to have a look22:20
wikinganybody 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
n4nd0have to write that down first22:55
n4nd0is it soft margin thing?22:56
wikingdo u know why?22:59
n4nd0not really23:00
n4nd0but I checking a pdf that reminded me of that23:00
wikingsonney2k: u r the dr. here, help :)23:01
n4nd0it is the actual max value right? not the argmax whatsoever23:02
wikingyes just simply the max value23:03
n4nd0then I don't really know23:04
n4nd0delta(y_i,y) is just like the indicator function [[y_i==y]] I understand23:05
wikingit's a loss function23:05
n4nd0ok, any loss function then23:06
n4nd0and Psi can be any joint feature function too?23:06
wikingah fuck23:09
wikingi'm sorry23:09
wikingso basically it's not a joint feautre23:09
wikingbut a function of x_i, y and w23:09
wikingso for example dot(\Psi(x_i,y),w)23:10
wikingbut of course any other function as well23:10
n4nd0it doesn't make things easier hehe23:10
wikingi really don't know why this approx works23:12
wikingbut apparently works23:12
n4nd0and the use of ~ is a bit lousy I think :)23:14
n4nd0I guess it may help to understand why that holds23:14
n4nd0to know to what extent are they similar23:14
wikingwell i just used ~ as i dont have ~~23:15
wikingi mean almost equal23:15
wikingor wtf23:15
n4nd0yeah I understood it as almost equal23:15
n4nd0by I meant, "how much almost"?23:16
n4nd0I think that if you want to see why that ~ holds, probably it helps to know that23:16
n4nd0mother of god23:17
n4nd0almost 9 hundred M visits23:17
n4nd0that's pretty sad23:17
wikingwell yeah23:18
wikingsonney2k: do u have visiting stats of
--- Log closed Thu Nov 29 00:00:15 2012