--- Log opened Wed Jul 04 00:00:53 2018 | ||
-!- witness_ [uid10044@gateway/web/irccloud.com/x-vtekpedditqhwgei] has joined #shogun | 01:11 | |
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:e59f:8ac6:d583:5195] has joined #shogun | 11:13 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 11:13 | |
@HeikoS | lisitsyn: lets meeerge lazy | 12:12 |
---|---|---|
lisitsyn | HeikoS: ok let me check the test | 12:12 |
@HeikoS | lisitsyn: I had a thought btw | 12:13 |
@HeikoS | lisitsyn: if we moved to static polymorphism in shoguns c++ interface everywhere | 12:13 |
@HeikoS | then moving to Some will be much easier | 12:13 |
lisitsyn | \infty compile time | 12:13 |
lisitsyn | I am afraid of that | 12:13 |
@HeikoS | as not more problems like Some<Features> vs Some<DenseFeatures> | 12:13 |
lisitsyn | it could get really bad | 12:13 |
@HeikoS | yep | 12:13 |
lisitsyn | can you explain a bit | 12:13 |
@HeikoS | i guess that is true as well | 12:13 |
lisitsyn | why does that solve | 12:14 |
lisitsyn | Some<Features> vs Some<DenseFeatures> | 12:14 |
@HeikoS | because Some<Features> is not used | 12:14 |
@HeikoS | just the actual type | 12:14 |
lisitsyn | yeah but how does that help | 12:14 |
@HeikoS | we never have the problem of casting | 12:15 |
@HeikoS | as we would now | 12:15 |
@HeikoS | say the view PR | 12:15 |
@HeikoS | CDenseFeatures<T>* CDenseFeatures::view(...) | 12:15 |
@HeikoS | Some<CDenseFeatures<T>> CDenseFeatures::view(...) | 12:16 |
@HeikoS | you call that | 12:16 |
@HeikoS | and then you pass the thing on | 12:16 |
@HeikoS | to a machine | 12:16 |
@HeikoS | that accepts Some<CFeatures> | 12:16 |
@HeikoS | as we do with the raw pointers | 12:16 |
@HeikoS | anyways | 12:17 |
@HeikoS | lisitsyn: had another Q | 12:17 |
@HeikoS | in the CRTP | 12:17 |
@HeikoS | https://docs.google.com/document/d/1qNsj2sTvM5R8GUTaj306olimPQyERnXRX1TkVOX6KSg/edit | 12:17 |
@HeikoS | we need some multiple inheritance there | 12:17 |
lisitsyn | yes | 12:17 |
@HeikoS | since LARS is a linear machine | 12:17 |
@HeikoS | so added that | 12:17 |
lisitsyn | uhmm | 12:18 |
lisitsyn | yeah probably but I am a bit unsure if this works now | 12:18 |
@HeikoS | any other way? | 12:18 |
lisitsyn | HeikoS: does templated inheritance work? | 12:19 |
lisitsyn | :D | 12:19 |
lisitsyn | like that | 12:19 |
lisitsyn | I think no | 12:19 |
@HeikoS | the way you changed> | 12:19 |
@HeikoS | ? | 12:19 |
@HeikoS | why not | 12:20 |
lisitsyn | I think it is invalid | 12:20 |
@HeikoS | the thing currently in the doc? | 12:20 |
lisitsyn | yes | 12:20 |
lisitsyn | but if that worked | 12:20 |
lisitsyn | you don't need MI | 12:20 |
@HeikoS | ok | 12:20 |
lisitsyn | I think it should not work | 12:20 |
@HeikoS | otherwise we just move the CLinearMachine as a base class as was before? | 12:20 |
@HeikoS | I dont see why it would not work like this? | 12:21 |
lisitsyn | hmm | 12:22 |
lisitsyn | it works in toy example | 12:22 |
lisitsyn | HeikoS: https://ideone.com/NqIFz5 | 12:23 |
lisitsyn | crazy | 12:23 |
@HeikoS | lisitsyn: to me seems like mix in | 12:23 |
lisitsyn | HeikoS: ok then we can avoid MI | 12:23 |
lisitsyn | HeikoS: do you like that solution? | 12:24 |
@HeikoS | https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/machine/IterativeMachine.h | 12:24 |
lisitsyn | ah alright you used that already | 12:24 |
lisitsyn | cool | 12:24 |
@HeikoS | https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/classifier/Perceptron.h#L28 | 12:24 |
lisitsyn | let's use that for dispatching then | 12:24 |
@HeikoS | CRTP mixin for dispatching | 12:25 |
lisitsyn | hardbass school of C++ | 12:26 |
lisitsyn | hah | 12:26 |
@HeikoS | hehe | 12:28 |
@HeikoS | we also have plicy | 12:28 |
@HeikoS | any | 12:28 |
@HeikoS | lots of stuff | 12:28 |
@HeikoS | type traits | 12:28 |
@HeikoS | :D | 12:28 |
lisitsyn | HeikoS: we've got to introduce some boost::hana | 12:30 |
lisitsyn | to do some computations compile-time | 12:30 |
lisitsyn | precomputed linear models | 12:30 |
@HeikoS | whats that exactly? :D | 12:50 |
@HeikoS | lisitsyn: ^ | 12:50 |
lisitsyn | HeikoS: that's a joke :P | 12:50 |
lisitsyn | hana is some crazy metaprogramming library | 12:50 |
@HeikoS | compile time model selection | 12:50 |
lisitsyn | yes! | 12:50 |
lisitsyn | first library to introduce that | 12:50 |
lisitsyn | we can be | 12:50 |
@HeikoS | lisitsyn: another Q | 13:03 |
@HeikoS | linear model | 13:03 |
@HeikoS | has a member for weights | 13:04 |
@HeikoS | and the type is float64 | 13:04 |
@HeikoS | but features are templated type | 13:04 |
@HeikoS | wouldnt we want to make linear model a template as well, and then make weights of type T | 13:04 |
@HeikoS | i.e. if feature data type is template, why not make it in the machine | 13:04 |
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:e59f:8ac6:d583:5195] has quit [Ping timeout: 256 seconds] | 13:29 | |
-!- witness_ [uid10044@gateway/web/irccloud.com/x-vtekpedditqhwgei] has quit [Quit: Connection closed for inactivity] | 13:42 | |
-!- HeikoS [~heiko@eduroam-int-pat-8-112.ucl.ac.uk] has joined #shogun | 16:24 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:24 | |
-!- HeikoS [~heiko@eduroam-int-pat-8-112.ucl.ac.uk] has quit [Ping timeout: 260 seconds] | 16:30 | |
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun | 16:45 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:45 | |
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 265 seconds] | 19:37 | |
--- Log closed Thu Jul 05 00:00:55 2018 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!