--- Log opened Fri Jun 08 00:00:41 2012 | ||
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has quit [Ping timeout: 245 seconds] | 00:33 | |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has joined #shogun | 00:35 | |
KMcQuisten | Hello all | 00:35 |
---|---|---|
KMcQuisten | I have some questions. I've been trying to use the new DirectorKernels, but I'm having some trouble. | 00:35 |
KMcQuisten | Anyone awake to give me a hand? | 00:35 |
@sonney2k | KMcQuisten, well ask... if no one answers maybe tomorrow someone will | 00:36 |
KMcQuisten | Allrighty | 00:36 |
KMcQuisten | I noticed in the example provided, the kernel function is accessing a global variable in order to calculate the kernel function in terms of the indices | 00:37 |
KMcQuisten | This is really horrible coding style, and I was hoping there was a way to acess data for the kernel internally using the init() function and the acessors built in to the kernel object | 00:38 |
KMcQuisten | But when I use get_lhs() to get one of my features, it has no get_feature_vector method since it's returned only as a CFeatures, not the descended class that I instantiated. | 00:38 |
@sonney2k | true | 00:39 |
KMcQuisten | So how can I access the data to overload kernel_function? | 00:39 |
@sonney2k | that's a limitation of going from type aware to type unaware languages | 00:39 |
@sonney2k | only fix is to introduce (in C++) a function that dyn_casts into the right type | 00:40 |
@sonney2k | there really is no other way... | 00:41 |
n4nd0 | I remember we talked about these functions for doing casts | 00:41 |
KMcQuisten | What are the chances of that getting added in? It seems like without it the DircetorKernel framework isn't as useful as it could be | 00:41 |
n4nd0 | sonney2k: isn't what we did for the labels? | 00:41 |
@sonney2k | n4nd0, yes | 00:41 |
@sonney2k | someone just has to write those... | 00:42 |
@sonney2k | we do this in CBinaryLabels etc too | 00:42 |
@sonney2k | anyway | 00:42 |
* sonney2k Zzzzz.... | 00:42 | |
KMcQuisten | Ha. I know it's late over there | 00:42 |
n4nd0 | sonney2k: good night then | 00:42 |
n4nd0 | KMcQuisten: would you like to add this functionality? | 00:43 |
n4nd0 | there is something equivalent for labels already done | 00:43 |
KMcQuisten | n4nd0, how much work would it take to include that sort of thing for feature accessors within kernels and for kernel accessors within SVMs? | 00:43 |
n4nd0 | the methods are called obtain_from_generic | 00:43 |
KMcQuisten | I could give it a shot | 00:43 |
KMcQuisten | if I had the example from the labels implementation i could probably figure it out | 00:44 |
n4nd0 | yeah, the methods are really short | 00:44 |
KMcQuisten | i'm assuming it's in the definition for Lavbels? | 00:44 |
n4nd0 | do you have the code locally? | 00:44 |
KMcQuisten | Yes I do, but I don't have authorization to commit to the repository | 00:44 |
n4nd0 | most of us don't have it :) | 00:44 |
KMcQuisten | I"ll see if I can implement it, then we can worry about that, though | 00:44 |
n4nd0 | we have a fork in github and do pull requests there | 00:45 |
KMcQuisten | Well yeah, don't want all kinds of pushes walking all over each other | 00:45 |
n4nd0 | the method is implemented in the children of CLabels | 00:45 |
n4nd0 | C{Binary, Multiclass, Regression}Labels | 00:45 |
KMcQuisten | So i'd have to implement it in all the Cfeatures children i want to use | 00:45 |
KMcQuisten | And similarly if I want to pull kernels from SVMs | 00:46 |
n4nd0 | I think so | 00:46 |
n4nd0 | I am not totally sure though, let me think about it a moment | 00:46 |
n4nd0 | for the info you have written I would say so | 00:47 |
n4nd0 | but I suggest that you first implement it for the class you were talking about and try it out | 00:47 |
KMcQuisten | Oh of course | 00:47 |
KMcQuisten | Now, I have pulled down the code previously using git | 00:48 |
KMcQuisten | but I pulled down the master | 00:48 |
KMcQuisten | is there another branch I should pull before I try this | 00:48 |
KMcQuisten | ? | 00:48 |
n4nd0 | no | 00:49 |
n4nd0 | just create a new branch and do your stuff there | 00:49 |
KMcQuisten | Sounds good | 00:49 |
KMcQuisten | if/when I get it working I'll come back here and figure out how to proceed | 00:50 |
n4nd0 | I am checking a thing for you first | 00:50 |
KMcQuisten | Ok | 00:50 |
n4nd0 | since in labels we implemented this LabelsType class | 00:50 |
n4nd0 | that is precisely used in obtain_from_generic | 00:51 |
n4nd0 | there is no such a FeaturesType class though | 00:51 |
KMcQuisten | So it would have to be written as well | 00:51 |
n4nd0 | I said nothing | 00:51 |
KMcQuisten | ? | 00:52 |
n4nd0 | that class exists :) | 00:52 |
KMcQuisten | Ah! | 00:52 |
n4nd0 | shogun/features/FeatureTypes.h | 00:52 |
KMcQuisten | Ah, yes, with the Enums | 00:52 |
n4nd0 | I think that you may use here the EFeatureClass tyep | 00:52 |
n4nd0 | type* | 00:52 |
n4nd0 | that you can get it using the method get_feature_class() that should be defined for all the features hierarchy | 00:53 |
KMcQuisten | Yes, I do have access to that from cfeatures | 00:54 |
n4nd0 | nice | 00:54 |
n4nd0 | a btw, if it is not a huge trouble | 00:55 |
n4nd0 | mind to do commits that leave the code in compilable state | 00:55 |
n4nd0 | the buildbot compiles commit by commit so in that way the proccess goes smooth and faster | 00:56 |
KMcQuisten | Yes. CI is a good thing | 00:56 |
n4nd0 | I am used to small commits and I broke it some times at the beginning :D | 00:57 |
n4nd0 | it is not a big deal in any case | 00:57 |
KMcQuisten | I'll only commit to my local branch one I get the thing working | 00:57 |
n4nd0 | that's the spirit | 00:57 |
KMcQuisten | My advisor's a stickler for making sure those of us in the group use good version control habits | 00:58 |
n4nd0 | that's very very good | 00:59 |
n4nd0 | I still cannot believe that they didn't tell me about VC in any of my courses | 00:59 |
KMcQuisten | So i'll branch the code off of the master, make my edits, commit them only to my branch, then come back here and go over how to properly merge them in | 01:00 |
KMcQuisten | Sound like a plan? | 01:00 |
n4nd0 | yes | 01:01 |
n4nd0 | before you start get the final version of the code in the repo | 01:01 |
KMcQuisten | Yes, i'll pull the latest before I start | 01:02 |
n4nd0 | in master git pull --rebase upstream master or equivalent | 01:02 |
KMcQuisten | The whole line? I'm not yet totally familiar with all of git's command line options | 01:03 |
KMcQuisten | NM, I got it | 01:04 |
KMcQuisten | :) | 01:04 |
n4nd0 | from master it would be enough just to do | 01:04 |
n4nd0 | git pull upstream master | 01:04 |
n4nd0 | since you don't normally use master as a branch for development | 01:04 |
n4nd0 | but I think it is a good practice to use the rebase so you keep it in your head for the moments when it really does matter | 01:05 |
KMcQuisten | Right | 01:05 |
n4nd0 | e.g. when you have working in your branch for some days and want to sync with master before merging | 01:05 |
n4nd0 | then it is good that you rebase instead of merging with git pull | 01:05 |
KMcQuisten | Ah, yes | 01:05 |
n4nd0 | I am far from being a git expert so be critic towards my comments too ;) | 01:06 |
KMcQuisten | No worries. I fully plan to RTFM | 01:06 |
KMcQuisten | So in the most recent build, Is the RealFeatures wrapper for python_modular named that way for backwards compatibility? Is the code in the DenseFeatures.cpp file, since there is no RealFeatrues.cpp? | 01:24 |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has quit [Quit: Page closed] | 01:31 | |
n4nd0 | ups sorry I missed that | 01:37 |
n4nd0 | I guess that is RealFeatures because it has not been updated, a bug | 01:37 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 03:18 | |
-!- romi_ [~mizobe@187.66.121.115] has quit [Remote host closed the connection] | 06:47 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has joined #shogun | 07:15 | |
-!- wiking [~wiking@78-23-189-112.access.telenet.be] has quit [Changing host] | 07:15 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 07:15 | |
-!- gsomix [~gsomix@109.169.255.59] has joined #shogun | 07:37 | |
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has joined #shogun | 07:56 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 08:13 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 08:24 | |
-!- gsomix_ [~gsomix@109.169.153.39] has joined #shogun | 08:26 | |
-!- gsomix [~gsomix@109.169.255.59] has quit [Ping timeout: 252 seconds] | 08:29 | |
-!- blackburn [~blackburn@31.28.59.65] has joined #shogun | 08:53 | |
-!- gsomix__ [~gsomix@109.169.230.79] has joined #shogun | 08:56 | |
-!- gsomix_ [~gsomix@109.169.153.39] has quit [Ping timeout: 245 seconds] | 09:00 | |
-!- uricamic [~uricamic@2001:718:2:1634:284e:b30f:f03f:5117] has joined #shogun | 09:00 | |
-!- av3ngr [av3ngr@nat/redhat/x-oexcxshsepjrscvy] has joined #shogun | 09:05 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Quit: wiking] | 09:32 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 09:39 | |
-!- av3ngr [av3ngr@nat/redhat/x-oexcxshsepjrscvy] has quit [Quit: That's all folks!] | 09:45 | |
-!- av3ngr [~av3ngr@60-241-222-244.static.tpgi.com.au] has joined #shogun | 10:10 | |
-!- av3ngr [~av3ngr@60-241-222-244.static.tpgi.com.au] has quit [Remote host closed the connection] | 10:10 | |
-!- blackburn [~blackburn@31.28.59.65] has quit [Ping timeout: 260 seconds] | 10:10 | |
gsomix__ | sonney2k, hey | 10:10 |
-!- gsomix__ is now known as gsomix | 10:10 | |
-!- foo__ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has joined #shogun | 10:21 | |
foo__ | hi | 10:21 |
foo__ | I would like to know if you planed to add into multiclass evaluation, equal error rate for each class ? thx. | 10:22 |
-!- blackburn [6da9c935@gateway/web/freenode/ip.109.169.201.53] has joined #shogun | 10:40 | |
-!- blackburn [6da9c935@gateway/web/freenode/ip.109.169.201.53] has quit [Ping timeout: 245 seconds] | 11:05 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 11:21 | |
n4nd0 | gsomix: is it really that written http://9gag.com/gag/4410715 :D? | 11:33 |
gsomix | n4nd0, hah, everything is possible in Russia | 11:36 |
n4nd0 | haha so really? | 11:37 |
gsomix | It's example of stupid transliteration. | 11:41 |
gsomix | "Oh god NO! That should be ice cream in assortment." | 11:41 |
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has joined #shogun | 11:51 | |
-!- emrecelikten [~emrecelik@176.40.238.218] has joined #shogun | 12:02 | |
-!- hoijui [~hoijui@dslb-088-074-106-085.pools.arcor-ip.net] has joined #shogun | 12:03 | |
-!- blackburn [6da9c935@gateway/web/freenode/ip.109.169.201.53] has joined #shogun | 12:08 | |
-!- blackburn [6da9c935@gateway/web/freenode/ip.109.169.201.53] has quit [Quit: Page closed] | 12:27 | |
n4nd0 | sonney2k: around? | 13:15 |
n4nd0 | does someone know how to add a module for modular interfaces? | 13:29 |
n4nd0 | I created a directory so with some classes inside | 13:29 |
n4nd0 | I have modified the files for swig insid interfaces/modular to include these files | 13:29 |
n4nd0 | but I still got ImportError: No module named SO in my python program | 13:29 |
ckwidmer | hi n4nd0 | 13:31 |
n4nd0 | ckwidmer: hi | 13:31 |
ckwidmer | have you trying to replicate the steps needed for another module | 13:31 |
ckwidmer | ? | 13:31 |
ckwidmer | usually what I do when e.g. adding a new class | 13:32 |
n4nd0 | yes, but it seems that there must be a step that I am missing | 13:32 |
ckwidmer | check where another particular class name occures in interface files etc | 13:32 |
ckwidmer | have you grepped through all the files? | 13:32 |
n4nd0 | yeah I am grepping all the way :) | 13:32 |
ckwidmer | hmm | 13:33 |
n4nd0 | but I must be missing something | 13:33 |
ckwidmer | the other (rather obvious) thing that comes to my mind is make clean | 13:33 |
ckwidmer | before compiling? | 13:33 |
n4nd0 | I thought that they key was to add my SO.i and SO_includes.i in interfaces/modular/modushogun.i but didn't work | 13:33 |
n4nd0 | I actually changed a make file too | 13:34 |
n4nd0 | so I think that it built everything again but I am going to try forcing the clean | 13:34 |
ckwidmer | oh btw | 13:36 |
ckwidmer | have you talked to nico about the cplex error? | 13:36 |
n4nd0 | oh I remember he pasted for me on a mail about an error | 13:37 |
ckwidmer | yes | 13:37 |
n4nd0 | but I didn't look into it, sorry | 13:37 |
ckwidmer | there is some problem with CLabels | 13:37 |
ckwidmer | if cplex compile flag is set | 13:38 |
n4nd0 | ahm | 13:38 |
n4nd0 | can you paste the error for me again please? | 13:38 |
gsomix | n4nd0, do you use python_modula? | 13:38 |
n4nd0 | in the mail it appears with quite a few of strange characters | 13:38 |
ckwidmer | well, you can reproduce it if you have cplex | 13:39 |
n4nd0 | gsomix: yeah, configure is run for python-modular | 13:39 |
ckwidmer | otherwise it'll be hard to do | 13:39 |
n4nd0 | ckwidmer: ok, I'll do that then once I am done with my multiclass example for SO | 13:39 |
gsomix | ah, yes. n4nd0, maybe you should look at makefiles? | 13:39 |
ckwidmer | so, back to your module problem, so you've included SO.i and SO_includes.i from modshogun.i? | 13:40 |
n4nd0 | ckwidmer: yes | 13:40 |
ckwidmer | and it compiles just fine, but you don't see it from python? | 13:40 |
n4nd0 | gsomix: so in shogun/Makefile I added SO in a for loop inside install-python-modular | 13:40 |
n4nd0 | ckwidmer: make and make install work well | 13:41 |
n4nd0 | ckwidmer: but from shogun.SO import bla bla bla doesn't work | 13:41 |
n4nd0 | there must be somewhere where to define explicitily a module for modular interfaces | 13:42 |
n4nd0 | mmm I have just found something that could be the answer to my problem in shogun/CMakeLists.txt | 13:44 |
n4nd0 | I am going to try | 13:44 |
n4nd0 | but actually I am not using cmake so I don' have much hope here | 13:45 |
ckwidmer | n4nd0, have you checked whether your new module (or files therein) is included in some "intermediate" file, such as python_modular/modshogun_wrap.cxx | 13:47 |
n4nd0 | ckwidmer: so I have several lines like this one | 13:48 |
n4nd0 | #define SWIGTYPE_p_shogun__CStructuredModel swig_types[947] | 13:48 |
n4nd0 | CStructuredModel is something I have defined inside shogun/so/ | 13:48 |
ckwidmer | ok | 13:49 |
ckwidmer | also the includes? | 13:49 |
ckwidmer | e.g. #include <shogun/classifier/LPBoost.h> | 13:49 |
n4nd0 | ckwidmer: yes | 13:51 |
n4nd0 | although I have found that python_modular/Makefile didn't contain SO in a for loop it does in what seems to me each of the modules | 13:51 |
n4nd0 | so I have added SO and I am building again | 13:51 |
n4nd0 | nice it worked!! | 13:52 |
ckwidmer | awesome | 13:52 |
n4nd0 | yeah | 13:52 |
ckwidmer | yeah, just saw that loop | 13:52 |
n4nd0 | but I don't think it is the good solution though | 13:52 |
n4nd0 | isn't this makefile automatically generated? | 13:53 |
ckwidmer | is that makefile autogenerated? | 13:53 |
ckwidmer | i guess not | 13:53 |
n4nd0 | :) | 13:53 |
n4nd0 | no idea | 13:53 |
n4nd0 | I will see next time I build | 13:53 |
ckwidmer | well | 13:53 |
n4nd0 | it is not in the repo so probably it is autogenerated | 13:53 |
ckwidmer | if it isn't | 13:53 |
ckwidmer | this should be documented | 13:54 |
ckwidmer | yeah, I would think os | 13:54 |
ckwidmer | so | 13:54 |
n4nd0 | agree | 13:54 |
ckwidmer | have you tried configure again | 13:54 |
n4nd0 | I read README.developer but there is nothing about creating new modules | 13:54 |
n4nd0 | no, I have not | 13:54 |
ckwidmer | yeah | 13:55 |
ckwidmer | I think just quickly figure out if its autogen | 13:55 |
n4nd0 | I hope you don't mind but I will do this later since I don't want to re-build everything again now :S | 13:57 |
ckwidmer | just don't forget about it, as you've figured it out now - if we don't get this right, now someone else will have to retrace your steps in the future | 13:57 |
n4nd0 | yes | 13:58 |
ckwidmer | great :) | 13:58 |
n4nd0 | ckwidmer, gsomix : thank your very much for your help guys! | 13:59 |
ckwidmer | you're welcome | 14:00 |
n4nd0 | I am very excited about doing this test :D | 14:02 |
* n4nd0 has changed to debug mode after weeks of untested coding | 14:06 | |
n4nd0 | ckwidmer: do you have another moment? | 14:56 |
-!- uricamic1 [~uricamic@2001:718:2:1634:9d6b:332c:ffea:54e8] has joined #shogun | 14:56 | |
-!- uricamic [~uricamic@2001:718:2:1634:284e:b30f:f03f:5117] has quit [Ping timeout: 248 seconds] | 14:58 | |
ckwidmer | n4nd0 sure | 15:10 |
ckwidmer | what's up? | 15:10 |
n4nd0 | yeah, I have a python/swig problem that I don't manage to fix | 15:10 |
n4nd0 | I am sorry, I think I am kind of abusing consulting today :S | 15:11 |
ckwidmer | no worries, go ahead | 15:11 |
n4nd0 | it looks like this | 15:11 |
n4nd0 | NotImplementedError: Wrong number or type of arguments for overloaded function 'new_PrimalMosekSOSVM'. | 15:11 |
n4nd0 | Possible C/C++ prototypes are: | 15:11 |
n4nd0 | shogun::CPrimalMosekSOSVM::CPrimalMosekSOSVM() | 15:11 |
n4nd0 | shogun::CPrimalMosekSOSVM::CPrimalMosekSOSVM(shogun::CStructuredModel *,CLossFunction *,shogun::CStructuredLabels *,shogun::CFeatures *) | 15:11 |
n4nd0 | I have checked that the arguments are correct in order | 15:11 |
ckwidmer | hmm | 15:12 |
n4nd0 | I find weird that the second argument doesn't have shogun:: | 15:12 |
ckwidmer | maybe a good place to start is trying methods that take only CStructuredModel or CStructuredLabels as arguments | 15:12 |
ckwidmer | true | 15:12 |
ckwidmer | are you sure the individual ones work elsewhere? | 15:13 |
ckwidmer | possibly your new classes aren't registered correctly | 15:13 |
n4nd0 | do you mean like for example using setters to try them out? | 15:13 |
ckwidmer | yes | 15:13 |
ckwidmer | exactly | 15:13 |
ckwidmer | so you can narrow down the problem | 15:13 |
n4nd0 | I am going to create those setters then and try it | 15:14 |
ckwidmer | alright | 15:14 |
ckwidmer | if you discover that it doesn't work with one particular class | 15:14 |
ckwidmer | retrace all the occurences of another class | 15:15 |
ckwidmer | and make sure you have it registered in all right places | 15:15 |
n4nd0 | I don't think I understand what do you mean with retrace all the occurrences of another class | 15:16 |
ckwidmer | well | 15:20 |
ckwidmer | grepping through all files | 15:20 |
ckwidmer | looking for e.g. LPBoost | 15:20 |
n4nd0 | ok, I think I got you now | 15:21 |
gsomix | gedit works with modshogun_wrap.cxx too slow :( | 15:31 |
n4nd0 | too many lines there | 15:32 |
n4nd0 | gsomix: join the vim club! | 15:33 |
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has joined #shogun | 15:34 | |
n4nd0 | ckwidmer: I have found the arguments that fire the error, I am passing a child class and the method is declared to accept the parent | 15:35 |
n4nd0 | ckwidmer: maybe I have to do something in swig to indicate inheritance? | 15:35 |
n4nd0 | hey nicococo | 15:35 |
nicococo | hi n4nd0 & chrisssss | 15:36 |
n4nd0 | nicococo: I finished the multiclass model but I am still stuck with the example | 15:37 |
n4nd0 | nicococo: quite a few errors appearing :( | 15:37 |
n4nd0 | nicococo: please, tell me what do you think https://github.com/iglesias/shogun/blob/so/src/shogun/so/MulticlassModel.cpp | 15:38 |
-!- blackburn [~blackburn@31.28.59.65] has joined #shogun | 15:38 | |
nicococo | n4and0: very good! i don't see any logical mistakes :) | 15:41 |
n4nd0 | nicococo: nice then! | 15:41 |
n4nd0 | nicococo: let's see if I manage to solve the problems I am finding | 15:42 |
n4nd0 | they are turning out to be tough ones :S | 15:42 |
nicococo | ohh. why? | 15:42 |
n4nd0 | I don't manage to solve them :P | 15:42 |
nicococo | i see | 15:43 |
n4nd0 | I don't know if they are just swig/python related or of the framework in general | 15:43 |
nicococo | okay.. i am sorry i can not help with that :( | 15:44 |
n4nd0 | it is like if the hierarchy is not detected when I want to make use of it from python | 15:44 |
n4nd0 | e.g. I do in an object called sosvm that is of type PrimalMosekSOSVM | 15:44 |
n4nd0 | sosvm.set_model(model) | 15:44 |
n4nd0 | model is of type MulticlassModel | 15:44 |
n4nd0 | MulticlassModel inherits from StructuredModel | 15:44 |
n4nd0 | but it tells me that I cannot do that set_model | 15:45 |
n4nd0 | that the argument needs to be StructuredModel | 15:45 |
n4nd0 | :S | 15:45 |
nicococo | oha | 15:46 |
n4nd0 | nicococo: just tell me if you have any guess, I am already witout ideas ... | 15:47 |
nicococo | well its rather technical .. i wouldn't guess, instead i would call soeren :) (or someone else like ckwidmer) | 15:48 |
n4nd0 | blackburn: hey! do you have any idea about it ^? | 15:49 |
blackburn | a min | 15:49 |
n4nd0 | thank you | 15:50 |
blackburn | n4nd0: which problem exactly? | 15:50 |
n4nd0 | when I do set_model(model) I get | 15:51 |
n4nd0 | TypeError: in method 'StructuredOutputMachine_set_model', argument 2 of type 'CStructuredModel *' | 15:51 |
n4nd0 | the object model I am using is from a child class of CStructuredModel | 15:51 |
-!- ckwidmer [~chris@HSI-KBW-046-005-237-106.hsi8.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] | 15:51 | |
blackburn | what is header? | 15:51 |
n4nd0 | it is like it doesn't recognize the inheritance | 15:52 |
n4nd0 | https://github.com/iglesias/shogun/blob/so/src/shogun/so/MulticlassModel.h | 15:52 |
n4nd0 | that is the child class | 15:52 |
n4nd0 | here is the parent | 15:52 |
n4nd0 | https://github.com/iglesias/shogun/blob/so/src/shogun/so/StructuredModel.h | 15:52 |
blackburn | no swig works perfectly with inheritance :) | 15:52 |
n4nd0 | yeah sure | 15:52 |
n4nd0 | I meant it more like I am doing something wrong somewhere about it :D | 15:52 |
n4nd0 | I have the same problem with another member CLossFunction | 15:53 |
blackburn | just some quick guess while I'm thinking | 15:53 |
blackburn | try to add "class CStructuredModel;" in multiclass model | 15:53 |
blackburn | and check whether they are included in SO.i in a proper order | 15:54 |
n4nd0 | all right | 15:55 |
n4nd0 | first parent, then child right? | 15:55 |
blackburn | yes | 15:55 |
n4nd0 | they were in the right order | 15:56 |
n4nd0 | I am compiling after including class CStructuredModel | 15:56 |
blackburn | aham | 15:57 |
n4nd0 | it didn't make the trick :( | 16:00 |
blackburn | hmm | 16:05 |
blackburn | bad | 16:05 |
n4nd0 | I think I will have to wait and ask Soeren about this | 16:07 |
n4nd0 | nicococo: I will try later to do the example in C++ | 16:13 |
n4nd0 | I don't think that this error will appear there | 16:14 |
nicococo | ok | 16:14 |
n4nd0 | nicococo: I can let you know by mail once I know something more about it ok? | 16:14 |
nicococo | that would be fine | 16:14 |
n4nd0 | nicococo: did you take a look to the other parts of the code as well? | 16:15 |
n4nd0 | MulticlassSOLabels and PrimalMosekSOSVM | 16:15 |
nicococo | yep | 16:15 |
n4nd0 | anything about it? | 16:16 |
nicococo | looks pretty good :) | 16:16 |
nicococo | i need to have a look again on PrimalMosekSOSVM | 16:17 |
n4nd0 | ok | 16:17 |
nicococo | looks okay to me too.. so, i am looking forward to hear some exciting news about working multiclass example ;) | 16:19 |
n4nd0 | ok | 16:20 |
n4nd0 | I will let you know :) | 16:20 |
n4nd0 | I am off now for a while so bye! | 16:20 |
nicococo | happy coding.. see you | 16:21 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Quit: leaving] | 16:21 | |
-!- nicococo [~nico@lacedcoffee.ml.tu-berlin.de] has left #shogun [] | 16:21 | |
-!- hoijui [~hoijui@dslb-088-074-106-085.pools.arcor-ip.net] has quit [Quit: Leaving] | 16:23 | |
gsomix | vim .__. | 16:29 |
-!- uricamic1 [~uricamic@2001:718:2:1634:9d6b:332c:ffea:54e8] has quit [Quit: Leaving.] | 16:33 | |
gsomix | midnight commander and nano! :) | 16:34 |
blackburn | nano sucks | 16:38 |
gsomix | :( | 16:39 |
blackburn | 145 //dear god, this is super verbose, isn't there a way to shorten this? | 16:48 |
blackburn | :D | 16:48 |
-!- gsomix [~gsomix@109.169.230.79] has quit [Ping timeout: 252 seconds] | 17:04 | |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has joined #shogun | 17:05 | |
KMcQuisten | Hello | 17:05 |
blackburn | hey | 17:05 |
KMcQuisten | How's things? | 17:06 |
blackburn | going on :) | 17:07 |
-!- gsomix [~gsomix@109.169.230.79] has joined #shogun | 17:07 | |
blackburn | KMcQuisten: is it ok now with mkl? | 17:07 |
KMcQuisten | Yeah, the MKL is working. Avoiding the LINADD seems to help. I'm working on something else now. | 17:08 |
KMcQuisten | I'm really excited about using DirectorKernels, but the examples acess data from a global. to access data from withing one, using get_rhs() and get_lhs(), i'm working on a version of obtain_from_generic for DenseFeatures and StringFeatures | 17:09 |
blackburn | ah that's nice | 17:10 |
gsomix | KMcQuisten, hello. Sorry, I don't replied to your mail. I'm working on this problem now. | 17:11 |
KMcQuisten | Well, I wrote up the code, it compiles properly, wraps properly in swig, and when I test it I can extract the data. However, I get the following code when I actually try and use it in a kenrel in LibSVR: | 17:11 |
blackburn | KMcQuisten: do you have a fork? | 17:12 |
KMcQuisten | Yes | 17:12 |
blackburn | so will you do a pull request with it? | 17:12 |
KMcQuisten | (This is the output from training with MSG_DEBUG on | 17:12 |
KMcQuisten | : | 17:12 |
KMcQuisten | [INFO] 522 trainlabels | 17:12 |
KMcQuisten | [INFO] training one class svm or doing epsilon sv regression | 17:12 |
KMcQuisten | [INFO] Computing gradient for initial set of non-zero alphas | 17:13 |
KMcQuisten | Fatal Python error: GC object already tracked | 17:13 |
KMcQuisten | Aborted | 17:13 |
blackburn | whoops | 17:13 |
KMcQuisten | If I can get it to work, yes. | 17:13 |
KMcQuisten | What kind of approach have you taken with the, gsomix | 17:13 |
KMcQuisten | ? | 17:13 |
KMcQuisten | I know you're working on Director stuff, so I don't want to step on your solution if you have one | 17:14 |
KMcQuisten | All i've done is modify the obtain_from_generic used in BinaryLabels, and adapeted it to the features | 17:15 |
blackburn | KMcQuisten: what is code of that compute method? | 17:15 |
KMcQuisten | def kernel_function(self, idx_a, idx_b): | 17:16 |
KMcQuisten | genf1 = self.get_lhs() | 17:16 |
KMcQuisten | genf2 = self.get_rhs() | 17:16 |
KMcQuisten | f1 = StringCharFeatures.obtain_from_generic(genf1) | 17:17 |
KMcQuisten | f2 = StringCharFeatures.obtain_from_generic(genf2) | 17:17 |
KMcQuisten | s1 = f1.get_feature_vector(idx_a).tostring() | 17:17 |
gsomix | KMcQuisten, I'm trying to make automagically converting in swig typemaps. | 17:17 |
KMcQuisten | s2 = f2.get_feature_vector(idx_b).tostring() | 17:17 |
KMcQuisten | return exp(-self.gamma * editdist.distance(s1,s2)) | 17:18 |
blackburn | aham | 17:18 |
KMcQuisten | gamma is a parameter of the object I descended from DirectorKernel | 17:18 |
blackburn | could you please cut after genf2 and return 0.0 | 17:18 |
KMcQuisten | gsomix: That sounds like the best way | 17:19 |
KMcQuisten | blackburn: Sure | 17:19 |
blackburn | just to check whether obtain does something wrong | 17:19 |
KMcQuisten | it gets to [INFO] Computing gradient for initial set of non-zero alphas, and then segfaults | 17:20 |
blackburn | wow | 17:20 |
-!- foo__ [2e1fd566@gateway/web/freenode/ip.46.31.213.102] has quit [Ping timeout: 245 seconds] | 17:20 | |
blackburn | and without anything? just return 0.0 | 17:20 |
KMcQuisten | lets see | 17:21 |
KMcQuisten | Fatal Python error: GC object already tracked | 17:22 |
blackburn | hmm that sounds bad | 17:22 |
KMcQuisten | Yeah, something's getting garbage collected before it should | 17:22 |
KMcQuisten | I looked around to find a solution, and the only seemingly informative thing I've found is this: | 17:23 |
KMcQuisten | http://pyrit.wordpress.com/2010/02/18/385/ | 17:23 |
KMcQuisten | It has an explanation of a similar problem, along with a specific link to some python documentation | 17:24 |
KMcQuisten | But I don't know enough about SWIG to do anythign useful with this info | 17:24 |
KMcQuisten | gsomix: What do you think? How's the typemapping work going so far? | 17:24 |
blackburn | hmm let me check | 17:25 |
blackburn | KMcQuisten: I'll check typemaps | 17:25 |
KMcQuisten | Ok, if I strip out everything but return 0 in the kernel_function, and use only the DirectorKernel default __init__(), I get this: | 17:28 |
KMcQuisten | terminate called after throwing an instance of 'Swig::DirectorMethodException' | 17:29 |
blackburn | hmm | 17:29 |
CIA-9 | shogun: Sergey Lisitsyn master * rf54eb89 / (8 files in 3 dirs): Merged code of LibLinearMTL by Chris Widmer - http://git.io/UwYHNg | 17:33 |
gsomix | KMcQuisten, 'Swig::DirectorMethodException' | it's seems that I forget about some virtual methods. | 17:34 |
gsomix | sorry, need some time to check .____. | 17:34 |
KMcQuisten | No sweat :) | 17:35 |
gsomix | KMcQuisten, aha, forgot | 17:43 |
KMcQuisten | ? | 17:43 |
gsomix | KMcQuisten, forgot to add some virtuals methods from CKernel to CDirectorKernel. it's might be a reason of 'Swig::DirectorMethodException'. | 17:45 |
KMcQuisten | Ah, I see | 17:46 |
KMcQuisten | Let me know how it goes so I can test it | 18:09 |
KMcQuisten | :) | 18:09 |
gsomix | KMcQuisten, ok. | 18:10 |
gsomix | KMcQuisten, little experiment with automagically converting (CFeatures* to CDenseFeatures*) is works | 18:12 |
KMcQuisten | Sweet! | 18:13 |
KMcQuisten | That and CStringKernels are the two main types I use | 18:13 |
gsomix | I need time to write complete converting. | 18:13 |
KMcQuisten | Right | 18:13 |
-!- KMcQuisten_ [d8338942@gateway/web/freenode/ip.216.51.137.66] has joined #shogun | 18:18 | |
KMcQuisten_ | Can someome please kill ym clone | 18:19 |
KMcQuisten_ | my | 18:19 |
blackburn | what? | 18:19 |
blackburn | ahh | 18:19 |
blackburn | I can't | 18:19 |
KMcQuisten_ | I have a duplicate in the chat room | 18:19 |
blackburn | sonney2k could but I guess he is afk | 18:19 |
KMcQuisten_ | Well, shucks. it'll time out eventually | 18:19 |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has quit [Ping timeout: 245 seconds] | 18:20 | |
-!- KMcQuisten_ is now known as KmcQuisten | 18:20 | |
-!- KmcQuisten is now known as KMcQuisten | 18:20 | |
KMcQuisten | bbiab | 18:21 |
-!- KMcQuisten is now known as KMcQuisten-afk | 18:21 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Read error: Connection reset by peer] | 18:54 | |
-!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 18:54 | |
-!- KMcQuisten-afk [d8338942@gateway/web/freenode/ip.216.51.137.66] has quit [Quit: Page closed] | 19:18 | |
emrecelikten | Only he can kill clones as far as I know | 19:27 |
emrecelikten | using /msg nickserv ghost | 19:28 |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has joined #shogun | 19:44 | |
KMcQuisten | back | 19:55 |
CIA-9 | shogun: Soeren Sonnenburg master * rabe2a85 / (81 files in 26 dirs): Clean up CMath: move respective functions to CStatistics, SGVector and SGMatrix - http://git.io/T9L6bA | 20:56 |
blackburn | the commit from island | 20:56 |
CIA-9 | shogun: Soeren Sonnenburg master * r25d7549 / (2 files): hopefully fix b0rken merge attempt in statistics - http://git.io/a1kTSA | 21:10 |
-!- wiking_ [~wiking@huwico/staff/wiking] has quit [Quit: wiking_] | 22:40 | |
-!- KMcQuisten [d8338942@gateway/web/freenode/ip.216.51.137.66] has quit [Quit: Page closed] | 22:40 | |
-!- zxtx [~zv@cpe-75-83-151-252.socal.res.rr.com] has quit [Ping timeout: 260 seconds] | 23:20 | |
-!- gsomix [~gsomix@109.169.230.79] has quit [Ping timeout: 256 seconds] | 23:24 | |
--- Log closed Sat Jun 09 00:00:41 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!