| --- 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!