--- Log opened Wed Feb 06 00:00:59 2019 | ||
-!- bbc_ [67f98750@gateway/web/freenode/ip.103.249.135.80] has joined #shogun | 08:36 | |
-!- bbc_ [67f98750@gateway/web/freenode/ip.103.249.135.80] has quit [Quit: Page closed] | 08:53 | |
-!- bbc_ [67f98750@gateway/web/freenode/ip.103.249.135.80] has joined #shogun | 09:13 | |
-!- vishal_ [~vishal@103.249.135.80] has joined #shogun | 09:17 | |
-!- bbc_ [67f98750@gateway/web/freenode/ip.103.249.135.80] has quit [Client Quit] | 09:18 | |
-!- witness [uid10044@gateway/web/irccloud.com/x-niuakhblmacuwpdn] has joined #shogun | 09:19 | |
vishal_ | Hii i trying to compile shogun but i am stucked while building cxx object src/shogun/cmakefiles/libshogun.dir/mathematics/linalg/backend/eigen/BasicOps.cpp.o from the last 2 hours and also my pc freezed.Can someone help me with this i am using ubuntu 18.04 | 09:21 |
---|---|---|
-!- ferigar [50fe964f@gateway/web/freenode/ip.80.254.150.79] has joined #shogun | 09:37 | |
-!- vishal_ [~vishal@103.249.135.80] has quit [Remote host closed the connection] | 09:50 | |
-!- ferigar [50fe964f@gateway/web/freenode/ip.80.254.150.79] has quit [Quit: Page closed] | 11:28 | |
-!- shubham808 [~atom@14.139.240.247] has joined #shogun | 12:01 | |
-!- wiking_ [~wiking@bmi-airport-1.inf.ethz.ch] has joined #shogun | 12:08 | |
-!- wiking_ is now known as wiking | 12:08 | |
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has quit [Changing host] | 12:09 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 12:09 | |
-!- mode/#shogun [+o wiking] by ChanServ | 12:09 | |
-!- Lefteris [~lefteris@2a05:b400:100:100:e966:c6b5:2179:5cee] has quit [Quit: Leaving] | 12:27 | |
-!- gf712 [905208e3@gateway/web/freenode/ip.144.82.8.227] has joined #shogun | 12:51 | |
@wiking | gf712: are you here? | 13:09 |
gf712 | wiking yup | 13:15 |
@wiking | ok i have a stupid c++ question | 13:15 |
@wiking | say i have template<typename A> class X; | 13:16 |
@wiking | and i'd like to have something like template<typename A> class Y: public X<A> | 13:16 |
@wiking | where in Y i extend some functionality and then further inherit from Y | 13:16 |
@wiking | if i do this | 13:17 |
@wiking | i cannot get access to the member vars of X | 13:17 |
@wiking | in class Z: public Y<O> | 13:17 |
gf712 | hmmm | 13:17 |
gf712 | let me replicate it | 13:17 |
gf712 | wiking: how are you trying to access the members btw? | 13:28 |
@wiking | this-> | 13:28 |
@wiking | that works | 13:28 |
@wiking | until i have a static member var | 13:28 |
@wiking | in class X | 13:28 |
@wiking | :) | 13:28 |
gf712 | hmm ok, so the static member var is part of X | 13:30 |
gf712 | and you can access in Y but not in Z? | 13:30 |
@wiking | X | 13:31 |
@wiking | but i think i've just hacked it | 13:31 |
@wiking | it's aweful | 13:31 |
gf712 | so what is happening? | 13:35 |
gf712 | I can't see why it would be an issue | 13:35 |
@wiking | mmm it still doesn't work :( | 13:36 |
@wiking | i mean it compiules | 13:36 |
@wiking | but the vtable is fucked up | 13:36 |
@wiking | libc++abi.dylib: Pure virtual function called! | 13:36 |
-!- shubham808 [~atom@14.139.240.247] has quit [Ping timeout: 246 seconds] | 13:37 | |
gf712 | wiking but if it is static can't you do X<T>::member? | 13:49 |
gf712 | inside of y? | 13:49 |
gf712 | wiking also where is the static member defined? | 13:58 |
@wiking | in the template X | 13:59 |
@wiking | ok now i get what's the problem | 13:59 |
@wiking | almost | 13:59 |
@wiking | /Users/wiking/shogun/src/interfaces/coreml/CoreMLConverter.h:44:5: warning: call to pure virtual member function 'input_feature_type' has undefined behavior; overrides of 'input_feature_type' in subclasses are not available in the constructor of 'CoreMLConverter' | 14:00 |
@wiking | this->input_feature_type(); | 14:00 |
@wiking | ^ | 14:00 |
@wiking | /Users/wiking/shogun/src/interfaces/coreml/GLMRegressorConverter.cc:14:66: note: in instantiation of member function 'shogun::coreml::CoreMLConverter<shogun::CLinearMachine, CoreML::Specification::GLMRegressor>::CoreMLConverter' requested here | 14:00 |
@wiking | GLMRegressorConverter::GLMRegressorConverter(const CMachine* m): GLMRegressorConverterType(m) | 14:00 |
@wiking | ^ | 14:00 |
@wiking | /Users/wiking/shogun/src/interfaces/coreml/CoreMLConverter.h:73:4: note: 'input_feature_type' declared here | 14:00 |
@wiking | virtual ::CoreML::Specification::FeatureType* input_feature_type() const = 0; | 14:00 |
@wiking | so basically | 14:00 |
@wiking | i have a template class CoreMLConverter | 14:00 |
@wiking | that calls a pure virtual function on itself.... | 14:00 |
@wiking | GLMRegressorConverter: public shogun::coreml::CoreMLConverter<shogun::CLinearMachine, CoreML::Specification::GLMRegressor> | 14:00 |
@wiking | i'm not so sure why it says | 14:01 |
@wiking | overrides of 'input_feature_type' in subclasses are not available in the constructor | 14:01 |
@wiking | arg | 14:02 |
@wiking | "A similar restriction exists around calling virtual methods in constructors. You can't call a virtual method for a subclass whose constructor has not yet run." | 14:02 |
@wiking | this is very unhandy | 14:03 |
@wiking | :) | 14:03 |
@wiking | coz now i have to actually copypaste one line around | 14:04 |
@wiking | in the ctors | 14:04 |
gf712 | oh right | 14:15 |
gf712 | hmmm that is annoying... | 14:16 |
gf712 | ah btw when you had that issue with the lambda call disappearing with optimisation couldn't you have used volatile? | 14:18 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 14:51 | |
-!- shubham808 [~atom@14.139.240.247] has joined #shogun | 14:51 | |
-!- vishal_ [~vishal@103.249.135.80] has joined #shogun | 15:06 | |
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has joined #shogun | 15:08 | |
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has quit [Changing host] | 15:08 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 15:08 | |
-!- mode/#shogun [+o wiking] by ChanServ | 15:08 | |
-!- vishal3410 [67f98750@gateway/web/freenode/ip.103.249.135.80] has joined #shogun | 15:11 | |
-!- vishal_ [~vishal@103.249.135.80] has left #shogun ["Good Bye"] | 15:12 | |
vishal3410 | Hii i trying to compile shogun but i am stucked while building cxx object src/shogun/cmakefiles/libshogun.dir/mathematics/linalg/backend/eigen/BasicOps.cpp.o from hours after 61% completion.Can someone help me with this i am using ubuntu 18.04 , i also tried removing build file and reinstalling everything from scratch but the problem remains | 15:17 |
gf712 | Hi vishal3410 can you be more specific about the error you got? | 15:32 |
vishal3410 | i haven't got any error messages but it just stuck at 61% completion from the past 3 hours nothing happens further, i dont think it requires that much time for compilation | 15:42 |
gf712 | oh right, the objects created in that file are quite memory intensive | 15:43 |
gf712 | are you using several cores when you compile? | 15:43 |
gf712 | i.e. make -j4 | 15:43 |
gf712 | in that directory* | 15:44 |
vishal3410 | no , I was just following install.md page in docs, compiling using just 'make' | 15:51 |
gf712 | ok, that is very odd. how much ram do you have in your system? and are you using a vm or docker? | 15:53 |
gf712 | did you check the memory usage during the compilation at that step with something like top/htop? | 15:53 |
vishal3410 | 4gb ram ,no i am not using vm or docker | 15:58 |
-!- witness [uid10044@gateway/web/irccloud.com/x-niuakhblmacuwpdn] has quit [Quit: Connection closed for inactivity] | 15:59 | |
gf712 | so what happens when you abort and then run make again? | 16:09 |
gf712 | without cleaning or removing anything | 16:09 |
vishal3410 | yes | 16:10 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 16:15 | |
vishal3410 | but i have tried removing build file and again install everything from scratch but got stuck at same place | 16:17 |
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has joined #shogun | 16:21 | |
-!- wiking [~wiking@inf-ise-etx-dock-1-111.ethz.ch] has quit [Changing host] | 16:21 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 16:21 | |
-!- mode/#shogun [+o wiking] by ChanServ | 16:21 | |
gf712 | vishal3410 maybe you can check the memory usage when you compile? my assumption is that there is not enough memory available in your system | 16:26 |
vishal3410 | ok i will check the memory usage | 16:30 |
-!- vishal3410 [67f98750@gateway/web/freenode/ip.103.249.135.80] has quit [Ping timeout: 256 seconds] | 16:37 | |
@wiking | gf712: ping? | 16:39 |
@wiking | gf712: ping me when u got like 10 mins | 16:44 |
gf712 | wiking yes I am here | 16:52 |
gf712 | what's up? | 16:52 |
@wiking | ok | 16:52 |
@wiking | so | 16:52 |
@wiking | there are cases where we need a paramater that should have something like an 'auto' value meaning they should be set during train time | 16:53 |
@wiking | like polykernel or gaussian kernel | 16:53 |
@wiking | if gamma = AUTO then gamma = 1/num_features | 16:53 |
@wiking | so now the question how to mark these values? | 16:53 |
@wiking | do we wanna add a tag for this? | 16:53 |
@wiking | :) | 16:53 |
@wiking | i mean we could add something like | 16:53 |
@wiking | NaN = auto set | 16:54 |
@wiking | but what if we have some other special cases? :) | 16:54 |
@wiking | see what i mean? | 16:54 |
gf712 | ok, I am not sure what you are referring to.. | 16:54 |
gf712 | is this still part of the coreml stuff? | 16:54 |
@wiking | no | 16:57 |
@wiking | so imagine you have | 16:57 |
@wiking | various model parameters | 16:57 |
@wiking | and those should be set to some good default value when you create the object | 16:57 |
@wiking | but if the parameter actually depends on the input | 16:57 |
gf712 | ahhhh | 16:58 |
@wiking | then they are only available runtime | 16:58 |
gf712 | ok ok | 16:58 |
gf712 | yes I understand now | 16:58 |
@wiking | so we need to be able to somehow mark a paramater | 16:58 |
@wiking | that is should be autoset | 16:58 |
@wiking | we can start with using some custom edge-case values | 16:58 |
@wiking | see NaN | 16:58 |
@wiking | but that doesn't scale | 16:58 |
@wiking | meaning what if there are more edge cases than 'auto' | 16:58 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 16:59 | |
-!- vishal3410 [67f98750@gateway/web/freenode/ip.103.249.135.80] has joined #shogun | 17:09 | |
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has joined #shogun | 17:11 | |
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has quit [Changing host] | 17:11 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 17:11 | |
-!- mode/#shogun [+o wiking] by ChanServ | 17:11 | |
@wiking | gf712: sorru | 17:12 |
@wiking | i had to drop out | 17:12 |
@wiking | can u copy-paste anything you wrote after | 17:12 |
gf712 | no problem | 17:12 |
@wiking | "meaning what if there are more edge cases than 'auto' " | 17:12 |
gf712 | no worries I was just waiting for you to reappear | 17:12 |
gf712 | you disappeared instantly | 17:12 |
@wiking | kk | 17:12 |
gf712 | would it be possible to do some currying? | 17:13 |
@wiking | so there's one way to mark it with a new bit value in the AnyParamater | 17:13 |
gf712 | or is too much work? | 17:13 |
@wiking | currying? | 17:13 |
gf712 | so partially call a function | 17:13 |
gf712 | and then at runtime run it | 17:14 |
gf712 | and it returns the value | 17:14 |
@wiking | i mean say we have a float64_t param | 17:14 |
@wiking | :) | 17:14 |
@wiking | how would you curry this? | 17:15 |
@wiking | i mean currently we do SG_ADD ... | 17:15 |
gf712 | so what were you about to say with the AnyParameter? | 17:16 |
@wiking | i mean currenlty we have | 17:16 |
@wiking | enum class ParameterProperties | 17:16 |
@wiking | { | 17:16 |
@wiking | NONE = 0, | 17:16 |
@wiking | HYPER = 1u << 0, | 17:16 |
@wiking | GRADIENT = 1u << 1, | 17:16 |
@wiking | MODEL = 1u << 2 | 17:16 |
@wiking | }; | 17:16 |
@wiking | we could use this right? :) | 17:16 |
@wiking | i mean it's aweful | 17:16 |
@wiking | but say when you do put | 17:16 |
gf712 | to tell that the parameter will be assigned a value at runtime? | 17:16 |
@wiking | yes | 17:16 |
@wiking | and put for that paramater | 17:17 |
@wiking | would invalidate that flag | 17:17 |
@wiking | and then basically its up to the implementor | 17:17 |
@wiking | to see if the given flag is set or not | 17:17 |
@wiking | ParameterProperties::AUTO | 17:17 |
gf712 | you mean so that you don't mess it each time you run>? | 17:17 |
@wiking | or something | 17:17 |
@wiking | and you do a check for ParameterProperties::AUTO | 17:17 |
@wiking | if that's true then you set the variable runtime | 17:18 |
@wiking | if ParameterProperties::AUTO is not set then you take the value itself | 17:18 |
gf712 | I guess we could add a class member in a base class that does such a check? | 17:18 |
gf712 | and pass it a lambda and the return value of the lambda is return when it is called? | 17:19 |
gf712 | is it more or less what you were thinking? | 17:19 |
@wiking | mmm we dont need the lambda | 17:19 |
@wiking | just need to check whether that bit is set | 17:20 |
@wiking | the rest could be done on implementation side | 17:20 |
@wiking | however you want it | 17:20 |
@wiking | i mean if you are the model implementor | 17:20 |
gf712 | hmm but then you end up with this if else block right? | 17:20 |
gf712 | whereas you could just call such a function somewhere hidden in init | 17:21 |
gf712 | and it would know when to return the value given a function call | 17:21 |
gf712 | maybe that's just overcomplicating it unnece | 17:21 |
gf712 | Unnecessarily | 17:22 |
-!- vishal3410 [67f98750@gateway/web/freenode/ip.103.249.135.80] has quit [Quit: Page closed] | 17:22 | |
@wiking | mmmm | 17:22 |
gf712 | so basically what you are saying is have a if m_value.has_property(ParameterProperties::AUTO) do this else nothing? | 17:26 |
gf712 | and have this at the start of train | 17:26 |
@wiking | well | 17:29 |
@wiking | doesn't have to be train | 17:29 |
@wiking | it all depends what you implement | 17:29 |
@wiking | if it's a kernel | 17:29 |
@wiking | then init(cfeatures,cfeatures) | 17:29 |
@wiking | shoudl be sufficient | 17:29 |
gf712 | yup, I just think it would be cool if that could be hidden from the implementation | 17:32 |
gf712 | so in the implementation you just mark it as auto and what it should return when called for the first time | 17:33 |
gf712 | all in one line in init | 17:33 |
@wiking | ah | 17:33 |
@wiking | so that you can provide a lambda for calculating? ok but then how do you know what params you need to pass for the lambda | 17:34 |
@wiking | and who calls that lambda? | 17:34 |
gf712 | that is the part I don't know haha | 17:34 |
gf712 | the params you can pass by reference | 17:34 |
@wiking | you mean you past &this to the lambda? | 17:35 |
gf712 | for example | 17:35 |
@wiking | mmm | 17:35 |
@wiking | k | 17:35 |
@wiking | we could try | 17:35 |
gf712 | not sure if it works | 17:35 |
@wiking | gf712: we need this for eaxmple in case PolyKernel | 17:36 |
@wiking | and GaussianKernel | 17:36 |
@wiking | for setting the value of gamma | 17:36 |
gf712 | just thinking it would be easier for future devel | 17:36 |
@wiking | mmmm | 17:36 |
@wiking | now the funny question is | 17:36 |
@wiking | what if you have | 17:36 |
@wiking | HYPER | AUTO :) | 17:36 |
@wiking | ah hyou anyways will call a put | 17:36 |
@wiking | that will invalidate AUTO | 17:36 |
gf712 | yes | 17:37 |
@wiking | k | 17:37 |
@wiking | lemme try | 17:37 |
@wiking | but first i need to squash some bugs that i've managed to find with converting things to coreml | 17:37 |
@wiking | :D | 17:37 |
gf712 | haha | 17:37 |
gf712 | basic stuff? | 17:37 |
@wiking | yeah | 17:37 |
@wiking | like SVRLight with LinearKernel gives totally differnet values | 17:37 |
@wiking | when you do apply | 17:38 |
@wiking | in shogun | 17:38 |
@wiking | and when you export the model to coreml | 17:38 |
@wiking | :) | 17:38 |
@wiking | but all the params are the SAME | 17:38 |
@wiking | :D | 17:38 |
gf712 | oh... does it make a big difference in prediction quality? | 17:39 |
@wiking | yes | 17:39 |
@wiking | :) | 17:39 |
@wiking | i mean *TOTALLY* differnet | 17:39 |
@wiking | need to debug wtf is happening | 17:43 |
gf712 | hmm | 17:47 |
gf712 | so which ones have bugs? | 17:47 |
gf712 | I can have a look tomorrow | 17:47 |
gf712 | just post a list and I'll help out | 17:47 |
gf712 | preferably with a script to run and see the diffs :D | 17:48 |
@wiking | gf712: i'm still wondering how the hell to export the coreml converter part to | 18:15 |
@wiking | python intefrace | 18:15 |
@wiking | or any swig interface | 18:15 |
-!- gf712 [905208e3@gateway/web/freenode/ip.144.82.8.227] has quit [Ping timeout: 256 seconds] | 18:17 | |
@wiking | ok i think i fixed it | 18:18 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 18:35 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 19:00 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 19:00 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 19:00 | |
-!- mode/#shogun [+o wiking] by ChanServ | 19:00 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 20:23 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 20:31 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 20:31 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 20:31 | |
-!- mode/#shogun [+o wiking] by ChanServ | 20:31 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 22:06 | |
-!- shubham808 [~atom@14.139.240.247] has quit [Remote host closed the connection] | 22:11 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 22:17 | |
-!- mode/#shogun [+o wiking] by ChanServ | 22:17 | |
-!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Remote host closed the connection] | 22:37 | |
-!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun | 22:37 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 23:10 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 23:13 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 23:13 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 23:13 | |
-!- mode/#shogun [+o wiking] by ChanServ | 23:13 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 240 seconds] | 23:17 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 23:21 | |
-!- mode/#shogun [+o wiking] by ChanServ | 23:21 | |
-shogun-buildbot:#shogun- Build FC23 - libshogun #587 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/27/builds/587 | 23:22 | |
--- Log closed Thu Feb 07 00:00:00 2019 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!