| --- Log opened Wed May 15 00:00:16 2019 | ||
| -!- anvan [~androirc@103.252.200.48] has quit [Ping timeout: 268 seconds] | 01:46 | |
| -!- anvan [~androirc@103.252.200.48] has joined #shogun | 02:49 | |
| -!- durovo1 [~durovo@5d.65.2ea9.ip4.static.sl-reverse.com] has joined #shogun | 03:57 | |
| -!- durovo [~durovo@5d.65.2ea9.ip4.static.sl-reverse.com] has quit [Ping timeout: 245 seconds] | 04:01 | |
| -!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Remote host closed the connection] | 04:11 | |
| -!- anvan [~androirc@103.252.200.48] has quit [Ping timeout: 258 seconds] | 04:33 | |
| -!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 07:50 | |
| -!- wiking_ [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Client Quit] | 07:53 | |
| -!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 07:53 | |
| -!- mode/#shogun [+o wiking_] by ChanServ | 07:53 | |
| -!- wiking_ is now known as wiking | 07:53 | |
| -!- essam [cfbd194e@gateway/web/freenode/ip.207.189.25.78] has joined #shogun | 08:43 | |
| essam | wiking: ping | 08:45 | 
|---|---|---|
| @wiking | pong | 08:45 | 
| essam | i have a question, is there a dynamic array implementation in shogun? | 08:45 | 
| essam | something like std::vector | 08:45 | 
| essam | for primitives | 08:46 | 
| essam | or maybe something like std::pair | 08:46 | 
| @wiking | you need that to expose to SWIG? | 08:47 | 
| @wiking | i mean DynArray can hold anything | 08:48 | 
| @wiking | but i wouldn't use it | 08:48 | 
| @wiking | if u dont need to expose the structure to SWIG | 08:48 | 
| @wiking | then just go ahead using STL stuff | 08:48 | 
| @wiking | in case of std::vector i would use it... as that's mapped to most swig langs | 08:49 | 
| essam | does the parameter framework handle std::vectors without problems? | 08:49 | 
| essam | I want to remove the combined_weight member variable from DotFeatures | 08:52 | 
| essam | and also from the Kernel interface | 08:52 | 
| essam | and let CombinedDotFeatures have a vector of weights | 08:52 | 
| essam | and similarily for CombinedKernel | 08:52 | 
| @wiking | mmm current param framework does not support it | 08:53 | 
| @wiking | but it's fine | 08:53 | 
| @wiking | just dont add it for the time being to params | 08:53 | 
| @wiking | it'll be supported with tags | 08:53 | 
| essam | ok thanks | 08:54 | 
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 09:45 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 09:45 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 09:45 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 258 seconds] | 09:50 | |
| -!- gf712 [9052087c@gateway/web/freenode/ip.144.82.8.124] has joined #shogun | 09:50 | |
| -!- geektoni [c1cdd253@gateway/web/freenode/ip.193.205.210.83] has joined #shogun | 09:51 | |
| -!- anvan [~androirc@103.252.200.48] has joined #shogun | 09:51 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 09:55 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 09:55 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 248 seconds] | 09:59 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 10:07 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 10:07 | |
| geektoni | ping wiking | 10:11 | 
| @wiking | pongi | 10:11 | 
| geektoni | wiking: is there any way to get the description of a registered parameter? :/ | 10:12 | 
| @wiking | yes | 10:12 | 
| geektoni | because I can see methods only for modelselection's ones. | 10:12 | 
| @wiking | its currenlty a bit not straightforward | 10:12 | 
| @wiking | but yeah | 10:12 | 
| @wiking | you get the AnyParameter from SGObject | 10:12 | 
| @wiking | currently only have this | 10:13 | 
| @wiking | std::map<std::string, std::shared_ptr<const AnyParameter>> get_params() const; | 10:13 | 
| @wiking | that is only in c++ api | 10:13 | 
| geektoni | wiking: I see I see. I needed a way to do it from the interfaces | 10:13 | 
| @wiking | and then basically AnyParameter.get_description() | 10:13 | 
| @wiking | ah | 10:13 | 
| @wiking | mmm dunno if we wanna expose AnyParameter to SWIG directly | 10:14 | 
| @wiking | so either that | 10:14 | 
| @wiking | or you add an indirect way to query param | 10:14 | 
| @wiking | :) | 10:14 | 
| geektoni | mmmh I guess AnyParameter should be hidden :) | 10:14 | 
| @wiking | then unfortunately | 10:15 | 
| @wiking | extend sgo interface :D | 10:15 | 
| @wiking | dunno if | 10:15 | 
| @wiking | actually there's a way to have opaque ptrs in swig | 10:15 | 
| @wiking | then you could add helper methods around AnyParameter | 10:15 | 
| @wiking | something like opaque stuff from glib | 10:15 | 
| @wiking | opaqueAnyParamter* get_param("name"); | 10:16 | 
| @wiking | and then extract_name(opaqueAnyParameter*) | 10:16 | 
| @wiking | see what i mean? | 10:16 | 
| @wiking | dunno if this is better than actually exposing AnyParameter | 10:16 | 
| geektoni | ye ye I see what you mean | 10:19 | 
| geektoni | I'm thinking about the final usage though. | 10:20 | 
| geektoni | I mean | 10:20 | 
| geektoni | I would prefer to have something like obj.get_description("param_name") | 10:20 | 
| geektoni | so I can do everything with just one line | 10:20 | 
| gf712 | geektoni: I already added such a method because I needed it for openml | 10:22 | 
| gf712 | https://github.com/shogun-toolbox/shogun/blob/1dd09c5ddee30dfb6b738b1f2a7c1ec9eef65122/src/interfaces/swig/SGBase.i#L404 | 10:23 | 
| geektoni | gf712: ah cool! | 10:23 | 
| gf712 | feel free to change the name | 10:23 | 
| gf712 | I don't need it anymore... | 10:23 | 
| gf712 | you can even make it a bit more efficient by dereferencing the result from find instead | 10:24 | 
| geektoni | gf712: I guess the name is okay for the moment :) | 10:25 | 
| geektoni | I see I see, thank you :) | 10:25 | 
| @wiking | gf712: i decided | 10:25 | 
| @wiking | clang-rename | 10:25 | 
| @wiking | and fuckit | 10:25 | 
| @wiking | tired of C | 10:26 | 
| @wiking | and that kind of blocks my mind | 10:26 | 
| gf712 | wiking: clang-rename? | 10:26 | 
| @wiking | with finalizing the shared_ptr part | 10:26 | 
| @wiking | gf712: yeah utility to rename anything in your code | 10:26 | 
| @wiking | :) | 10:26 | 
| gf712 | ah ok! but how is it useful for you? | 10:27 | 
| @wiking | : clang-rename-6.0 -extra-arg-before="-I/home/wiking/shogun/src" -extra-arg-before="-I/home/wiking/shogun/build/src" -qualified-name=shogun::CKernelMachine -new-name=KernelMachine ./src/shogun/classifier/svm/SVM.cpp | 10:27 | 
| @wiking | boom | 10:27 | 
| @wiking | :) | 10:27 | 
| gf712 | ahhh | 10:27 | 
| @wiking | its rudementary | 10:27 | 
| @wiking | but fuckit | 10:27 | 
| gf712 | that C | 10:27 | 
| gf712 | lol, I thought you meant you were tired of writing in C :D | 10:27 | 
| @wiking | i cannot be bothered to take care of the CSGObject inheritance etc | 10:27 | 
| @wiking | anyways we have the whole story | 10:28 | 
| gf712 | yea, I agree, it feels a bit awkward | 10:28 | 
| @wiking | dunno which story | 10:28 | 
| @wiking | man i need sleep | 10:28 | 
| @wiking | :D | 10:28 | 
| gf712 | haha | 10:28 | 
| @wiking | (woke up at 6am again) | 10:28 | 
| @wiking | anyhow | 10:28 | 
| @wiking | say goodbye to C prefix | 10:28 | 
| @wiking | geektoni: right? :) | 10:28 | 
| @wiking | lisitsyn: agree right? | 10:29 | 
| gf712 | how are the shared_ptr going? | 10:29 | 
| gf712 | what did you about R and Lua btw? | 10:29 | 
| @wiking | well its this | 10:29 | 
| @wiking | and hash | 10:29 | 
| lisitsyn | hello | 10:29 | 
| @wiking | hash i agreed with lisitsyn | 10:29 | 
| @wiking | so that should be fine | 10:29 | 
| @wiking | in any | 10:29 | 
| @wiking | lisitsyn: C is goine | 10:29 | 
| @wiking | *gone | 10:29 | 
| @wiking | i mean object name prefix | 10:29 | 
| gf712 | wiking: so are you adding a visitor pattern in any for hash? | 10:30 | 
| @wiking | gf712: mmm no first just a simple hash when you set the value | 10:30 | 
| @wiking | dunno yet honestly | 10:31 | 
| @wiking | but something along these lines | 10:31 | 
| @wiking | and then see how the gp is behaving | 10:31 | 
| @wiking | as currenlty i have zero idea about gp + shared_ptr | 10:31 | 
| @wiking | as nothing is being tested | 10:31 | 
| @wiking | due to missing hash | 10:31 | 
| @wiking | lisitsyn: SAY YES MOTHERFUCKER! | 10:33 | 
| @wiking | SAY YES | 10:33 | 
| @wiking | :> | 10:33 | 
| @wiking | lambday: oh. man you r here? | 10:33 | 
| @wiking | by any chance? | 10:33 | 
| @wiking | idle: 27:17:43 | 10:34 | 
| @wiking | :D | 10:34 | 
| @wiking | gf712: btw that interview is good | 10:34 | 
| @wiking | geektoni: if u r interested https://www.youtube.com/watch?v=yCd3CzGSte8 | 10:34 | 
| @wiking | lisitsyn: ^ | 10:34 | 
| gf712 | wiking: yes, I watched the whole thing | 10:34 | 
| gf712 | well listened | 10:34 | 
| @wiking | yeye | 10:35 | 
| gf712 | good to know how llvm evolved | 10:35 | 
| gf712 | I didn't really realise people did ai+compiler stuff now | 10:35 | 
| gf712 | pretty cool | 10:35 | 
| @wiking | hahaha so many | 10:35 | 
| @wiking | i was involved here locally in a project | 10:35 | 
| @wiking | but then my marriage exploded | 10:35 | 
| @wiking | so dunno whatsup with that | 10:35 | 
| @wiking | ;d | 10:35 | 
| gf712 | oh right :/ | 10:35 | 
| @wiking | they were doing compiler optimization using ml models | 10:36 | 
| geektoni | wiking: uhh I'll surely take a look | 10:36 | 
| gf712 | what compiler btw? | 10:36 | 
| @wiking | llvm | 10:36 | 
| @wiking | :) | 10:36 | 
| @wiking | cool stuff | 10:36 | 
| @wiking | for nvidia mostly | 10:36 | 
| @wiking | how to set the flags | 10:36 | 
| @wiking | for various operations | 10:36 | 
| @wiking | they generated a huge dataset | 10:36 | 
| @wiking | with various flag combinations | 10:36 | 
| @wiking | and then put an ml model on it | 10:36 | 
| @wiking | :) | 10:36 | 
| gf712 | yea I also didn't realise that the Nvidia compiler was built with llvm | 10:36 | 
| @wiking | btw this is why u want onnx | 10:37 | 
| gf712 | ah that's cool | 10:37 | 
| @wiking | i mean actually | 10:37 | 
| @wiking | this is why | 10:37 | 
| @wiking | tensor comprehension | 10:37 | 
| @wiking | is cool | 10:37 | 
| @wiking | https://github.com/facebookresearch/TensorComprehensions | 10:37 | 
| @wiking | but the whole team got snatched by g | 10:37 | 
| @wiking | so dunno what's with this project | 10:37 | 
| @wiking | so basically u can take any kernel | 10:38 | 
| @wiking | and then optimize the shit out for it | 10:38 | 
| @wiking | :) | 10:38 | 
| @wiking | and then of course you take onnx | 10:38 | 
| @wiking | and then lalala | 10:38 | 
| @wiking | u have a super nice neat | 10:38 | 
| gf712 | yea that's cool | 10:39 | 
| @wiking | binary | 10:39 | 
| gf712 | isn't it kinda what xla does though? | 10:39 | 
| @wiking | mmmm yes and no | 10:39 | 
| gf712 | or is that just runtime? | 10:39 | 
| gf712 | xla | 10:39 | 
| @wiking | becuase that just does jit | 10:39 | 
| @wiking | right? | 10:39 | 
| gf712 | yea | 10:39 | 
| gf712 | I think | 10:40 | 
| @wiking | still the compiler could do better | 10:40 | 
| @wiking | because currently the flags are tricky | 10:40 | 
| @wiking | :) | 10:40 | 
| @wiking | and there are zilion of flag combinations | 10:40 | 
| @wiking | -march=native is cool | 10:40 | 
| @wiking | but that's just a wrapper for some heuristics | 10:40 | 
| gf712 | by flags you mean stuff for packing the GPUs? | 10:40 | 
| gf712 | I.e. grid dimension | 10:40 | 
| @wiking | flags = compiler flags | 10:41 | 
| @wiking | and that depends on the arch at hand | 10:41 | 
| @wiking | in case of gpu | 10:41 | 
| @wiking | it's very gpu type dependend | 10:41 | 
| @wiking | *dependent | 10:41 | 
| @wiking | what's the loop-vectorization size or whatever | 10:41 | 
| @wiking | etc | 10:41 | 
| @wiking | seen some crazy diffs | 10:41 | 
| @wiking | based on the flag values | 10:41 | 
| @wiking | and apparently | 10:42 | 
| gf712 | yea I didn't realise there was so much to gain on top of march=native | 10:42 | 
| @wiking | all these flags and how to set them | 10:42 | 
| @wiking | are all just heuristics | 10:42 | 
| @wiking | done by somebody | 10:42 | 
| @wiking | :D | 10:42 | 
| @wiking | literlly some guys just figured out | 10:42 | 
| gf712 | haha | 10:42 | 
| @wiking | that ok this should be good for this | 10:42 | 
| @wiking | and that's it | 10:42 | 
| gf712 | great... | 10:42 | 
| @wiking | so its really not that kind of a magic | 10:42 | 
| @wiking | there's a lot of switches in llvm | 10:42 | 
| @wiking | between these heuristics | 10:43 | 
| @wiking | apparently 10k+ lines of code | 10:43 | 
| @wiking | is just covering these heuristics | 10:43 | 
| @wiking | for various arch | 10:43 | 
| @wiking | so there's room for improvement there | 10:43 | 
| @wiking | :) | 10:43 | 
| gf712 | fair enough! | 10:44 | 
| @wiking | but yeah i mean i was just observing and looking at the output | 10:44 | 
| @wiking | :) | 10:44 | 
| gf712 | do they update -O3 with these new parameters they find? | 10:44 | 
| @wiking | well | 10:44 | 
| @wiking | this is all experimental | 10:44 | 
| @wiking | D: | 10:44 | 
| @wiking | :> | 10:44 | 
| @wiking | so it's not part of mainline | 10:44 | 
| @wiking | but i guess one day | 10:44 | 
| @wiking | but i. mean this is what Chris et al is doing with llvm | 10:44 | 
| @wiking | at g | 10:45 | 
| @wiking | :) | 10:45 | 
| gf712 | it would be vcool they have a model that runs in your machine | 10:45 | 
| gf712 | determines the flags | 10:45 | 
| @wiking | guess why if you look at the mailinglist of llvm | 10:45 | 
| gf712 | and that is your -O3 | 10:45 | 
| @wiking | most of the maintainers are at deepmind/gbrain | 10:45 | 
| gf712 | yea, has all the knowhow now... | 10:45 | 
| @wiking | btw what's the deal with that dude | 10:46 | 
| @wiking | who tried to compile shogun with swig 4.0? :) | 10:46 | 
| gf712 | ah I didn't see it | 10:46 | 
| gf712 | but I think I have tried it when it was in beta | 10:46 | 
| gf712 | and failed | 10:46 | 
| @wiking | https://github.com/shogun-toolbox/shogun/issues/4629 | 10:46 | 
| @wiking | apprently segfault | 10:46 | 
| gf712 | did it work with you? | 10:46 | 
| @wiking | haven't tried it | 10:46 | 
| gf712 | let me try now | 10:47 | 
| lisitsyn | wiking: sorry distracted | 10:50 | 
| lisitsyn | yes | 10:50 | 
| lisitsyn | ;) | 10:50 | 
| @wiking | lisitsyn: good | 10:50 | 
| @lambday | wiking: yo | 11:00 | 
| -!- geektoni [c1cdd253@gateway/web/freenode/ip.193.205.210.83] has quit [Ping timeout: 256 seconds] | 11:18 | |
| -!- geektoni [c1cdd253@gateway/web/freenode/ip.193.205.210.83] has joined #shogun | 11:27 | |
| @wiking | lambday: stiull here? | 11:53 | 
| @wiking | sorry was away | 11:54 | 
| -!- geektoni [c1cdd253@gateway/web/freenode/ip.193.205.210.83] has quit [Quit: Page closed] | 11:56 | |
| @lambday | wiking: yeah, kind of :D | 12:00 | 
| @lambday | wiking: still awake? which timezone are you in right now? | 12:00 | 
| @wiking | cest | 12:01 | 
| @wiking | lambday: ok so i have one q | 12:01 | 
| @wiking | about mmd | 12:01 | 
| @lambday | wiking: yeah | 12:01 | 
| @wiking | https://github.com/shogun-toolbox/shogun/blob/develop/tests/unit/statistical_testing/internals/InitPerFeature_unittest.cc#L60 | 12:02 | 
| @wiking | this is https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/statistical_testing/internals/InitPerFeature.cpp#L53 | 12:03 | 
| @wiking | right? | 12:03 | 
| @lambday | wiking: yeah, looks that way... sorry I don't remember the particulars of it... | 12:04 | 
| @lambday | so this is the cast operator | 12:04 | 
| @lambday | yeah | 12:04 | 
| -!- essam [cfbd194e@gateway/web/freenode/ip.207.189.25.78] has quit [Quit: Page closed] | 12:06 | |
| @lambday | pointer equality check forces the InitPerFeature thingi to be casted to CFeatures* ... this just checks that the values are the same... IIRC | 12:06 | 
| @wiking | yeo | 12:10 | 
| @wiking | so i changed this to | 12:10 | 
| @wiking | const shared_ptr<CFeatures> | 12:10 | 
| @wiking | and since then i get compiler error | 12:10 | 
| @wiking | :D | 12:10 | 
| @wiking | lambday: ideas? :) | 12:14 | 
| @lambday | wiking: :D you changed the cast operator to shared_ptr, right? | 12:16 | 
| @wiking | yes | 12:16 | 
| @lambday | then in the test you can just assign it to a shared_ptr<CFeatures> variable... and then compare the orig ptr with the shared ptr variable.get() for ptr equality | 12:17 | 
| @lambday | I guess | 12:17 | 
| @lambday | the cast operator get's checked when you do the assignment | 12:17 | 
| @wiking | i mean everything else works | 12:18 | 
| @wiking | but this gives a compiler error | 12:18 | 
| @wiking | because 2 diff type are being compared | 12:18 | 
| @wiking | note | 12:18 | 
| @wiking | the right hand side of that comparison | 12:19 | 
| @wiking | is a shared_ptr<CDenseFeatures<...> | 12:19 | 
| @lambday | wiking: yeah... that won't work I think... you have to do it in 2 steps... other the compiler will fuck it up | 12:19 | 
| @wiking | would it help | 12:19 | 
| @wiking | if the rhs is shared_ptr<CFeatures> | 12:19 | 
| @wiking | or? | 12:19 | 
| @lambday | wiking: no.. the rhs would have to be a raw ptr.... so you assign it to a shared_ptr<CDenseFeatures<...>> variable... and then you call the .get() method on that variable to get the const raw ptr and put that on the rhs | 12:20 | 
| @wiking | eh | 12:21 | 
| @wiking | i mean | 12:21 | 
| @wiking | shared_ptr<> == shared_ptr should work | 12:21 | 
| @wiking | no?:) | 12:21 | 
| @wiking | Note that the comparison operators for shared_ptr simply compare pointer values; the actual objects pointed to are not compared. Having operator< defined for shared_ptr allows shared_ptrs to be used as keys in associative containers, like std::map and std::set. | 12:21 | 
| @wiking | mmm | 12:21 | 
| @wiking | brb | 12:21 | 
| @lambday | umm let me check if they have == operator override for raw ptr equality | 12:22 | 
| @lambday | wiking: sure.. yeah checked the doc... if both lhs and rhs are shared_ptr for ==, it would work just as well.. :) | 12:23 | 
| @lambday | but in order for that to work, you have to either (a) add an/replace the assignment operator for shared_ptr for this class here (https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/statistical_testing/internals/InitPerFeature.h#L55) or (b) create a shared ptr obj in the test with the original data and then do the check | 12:29 | 
| @wiking | lambday: yeye everything becomse shared_ptr | 12:47 | 
| @wiking | see https://github.com/shogun-toolbox/shogun/pull/4619 | 12:47 | 
| gf712 | wiking: have you seen this lib https://github.com/jmmartinez/easy-just-in-time ? | 12:53 | 
| @wiking | yep yep | 12:53 | 
| @wiking | tried it | 12:53 | 
| @wiking | :) | 12:53 | 
| gf712 | good? | 12:53 | 
| @wiking | its nice | 12:53 | 
| gf712 | watching the talk now | 12:53 | 
| gf712 | seems pretty cool | 12:53 | 
| gf712 | wiking: btw I found an issue with swig 4 and shogun | 12:54 | 
| gf712 | created a pr but I am not sure how it wasn't an issue before | 12:54 | 
| @lambday | wiking: files changed 1245!! | 13:08 | 
| @wiking | lambday: heheh yeah | 13:09 | 
| @wiking | the aim is that i take all lines in the codebase | 13:09 | 
| @wiking | :D | 13:09 | 
| @wiking | lambday: but yeah libtooling FTW | 13:09 | 
| @wiking | :P | 13:09 | 
| @wiking | no fucking way i could have done this by hand | 13:09 | 
| @lambday | wiking: you're gonna break github.. | 13:09 | 
| @wiking | already did | 13:09 | 
| @wiking | try to use | 13:09 | 
| @wiking | jump to file | 13:09 | 
| @wiking | ;) | 13:09 | 
| @lambday | wiking: MSFT fucked up another decent product then | 13:10 | 
| @lambday | or it was never tested at this scale | 13:10 | 
| @lambday | :D | 13:10 | 
| @lambday | wiking: haha jump to file shows "The table of contents is too big for display." xD | 13:10 | 
| @wiking | yep | 13:11 | 
| @wiking | :) | 13:11 | 
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 13:11 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 13:18 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 13:18 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 14:07 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 14:15 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 14:15 | |
| -!- geektoni [c1cdd24a@gateway/web/freenode/ip.193.205.210.74] has joined #shogun | 14:23 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 14:34 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 14:44 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 14:44 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 252 seconds] | 14:48 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 15:05 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 15:05 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 15:22 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 15:25 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 15:25 | |
| -!- wiking_ [~wiking@huwico/staff/wiking] has joined #shogun | 15:27 | |
| -!- mode/#shogun [+o wiking_] by ChanServ | 15:27 | |
| -!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 244 seconds] | 15:29 | |
| -!- HeikoS [~heiko@73.red-83-46-178.dynamicip.rima-tde.net] has joined #shogun | 15:30 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 15:30 | |
| -!- rcurtin [~ryan@knife.lugatgt.org] has quit [Quit: Lost terminal] | 15:31 | |
| -!- HeikoS [~heiko@73.red-83-46-178.dynamicip.rima-tde.net] has quit [Ping timeout: 255 seconds] | 15:35 | |
| -!- HeikoS [~heiko@148.pool85-48-188.static.orange.es] has joined #shogun | 15:59 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 15:59 | |
| gf712 | HeikoS: ping | 16:07 | 
| -!- HeikoS [~heiko@148.pool85-48-188.static.orange.es] has quit [Remote host closed the connection] | 16:23 | |
| -!- wiking_ [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 16:26 | |
| -!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 16:46 | |
| -!- mode/#shogun [+o wiking] by ChanServ | 16:47 | |
| -!- HeikoS [~heiko@1.pool85-48-188.static.orange.es] has joined #shogun | 16:48 | |
| -!- mode/#shogun [+o HeikoS] by ChanServ | 16:48 | |
| @HeikoS | gf712: pong | 16:48 | 
| -!- gf712_ [9052087c@gateway/web/freenode/ip.144.82.8.124] has joined #shogun | 16:51 | |
| gf712_ | HeikoS: I think the arff stuff is fine now | 16:51 | 
| gf712_ | and would be good to test out openml stuff | 16:51 | 
| @HeikoS | gf712_ hi! yes just looking at it | 16:52 | 
| gf712_ | ok! | 16:52 | 
| gf712_ | openml stuff is getting there | 16:52 | 
| -!- gf712 [9052087c@gateway/web/freenode/ip.144.82.8.124] has quit [Ping timeout: 256 seconds] | 16:52 | |
| @HeikoS | I am not sure I have too much to say about the general design of this thing, only minor comments mostly | 16:52 | 
| -!- gf712_ is now known as gf712 | 16:53 | |
| gf712 | ok! the thing is that it might be around for too long as is considering Viktor wants to refactor the whole serialisation stuff | 16:53 | 
| @HeikoS | sorry what do you mean | 16:54 | 
| @HeikoS | around for too long? | 16:54 | 
| @HeikoS | and can you explain the connection with serialization stuff | 16:54 | 
| gf712 | well, if Viktor changes the serialisation it will have to be rewritten | 16:54 | 
| @HeikoS | ah | 16:54 | 
| @HeikoS | ok, why is that? | 16:54 | 
| @HeikoS | and I have a q about the time stuff | 16:54 | 
| gf712 | so that it has same API | 16:54 | 
| gf712 | I think no> | 16:54 | 
| gf712 | ? | 16:54 | 
| gf712 | and then the serialiser will have to use the visitor pattern | 16:55 | 
| @HeikoS | ah I see | 16:55 | 
| @HeikoS | okok | 16:55 | 
| @HeikoS | sure thing | 16:55 | 
| @HeikoS | I will comment on the PR but leave merging it to Vik then | 16:55 | 
| @HeikoS | but the serialization ... we wanted to change that for years :) ... so it might take a while | 16:56 | 
| @HeikoS | on the other hand we have the ws soon :) | 16:56 | 
| @HeikoS | so the time stuff | 16:56 | 
| @HeikoS | I think converting things to the time since bla ... I don't know is that a good idea | 16:56 | 
| @HeikoS | and then it turns into DenseFeatures right? | 16:56 | 
| gf712 | yes, I didn't know what else to do with it... | 16:56 | 
| gf712 | to me it's a "universal" way of representing time | 16:57 | 
| @HeikoS | it is | 16:57 | 
| @HeikoS | ok the problem is that shogun doesnt support metadata | 16:57 | 
| gf712 | and then then use can do processing | 16:57 | 
| @HeikoS | yeah ok | 16:57 | 
| @HeikoS | that is probably fine for now | 16:57 | 
| @HeikoS | we can add datetime metadata later with the environmental folks | 16:57 | 
| @HeikoS | ok another q I have | 16:58 | 
| gf712 | yea, they will probably need! | 16:58 | 
| @HeikoS | you use CombinedFeatures | 16:58 | 
| gf712 | yup, because I need strings | 16:58 | 
| gf712 | as in stringfeatures | 16:58 | 
| @HeikoS | can you explain? | 16:58 | 
| @HeikoS | ah | 16:58 | 
| @HeikoS | well no ... please go ahead :) | 16:59 | 
| @HeikoS | why not a list of CFeatures* ? | 16:59 | 
| gf712 | well I needed to have dense and string features in the same container | 16:59 | 
| @HeikoS | because that is what combinedfeatures does right? | 16:59 | 
| gf712 | but wouldnt that be the same? | 16:59 | 
| gf712 | I can change it | 16:59 | 
| @HeikoS | yes, but slimmer | 16:59 | 
| @HeikoS | id say rather than abusing the combined features thing as a list, use a list directly | 17:00 | 
| @HeikoS | or a std::vector | 17:00 | 
| @HeikoS | of CList | 17:00 | 
| @HeikoS | (which then later can be refactored to use std:: stuff) | 17:00 | 
| gf712 | ok, I am thinking CList then no? because of swigh | 17:00 | 
| gf712 | swig | 17:00 | 
| @HeikoS | yes true | 17:01 | 
| @HeikoS | problem here is | 17:01 | 
| @HeikoS | that CList returns CSGObject | 17:01 | 
| @HeikoS | and I am sure that the CombinedFeatures::get(index) returns CFeatures | 17:01 | 
| @HeikoS | so maybe ... | 17:01 | 
| @HeikoS | CombinedFeatures is good | 17:02 | 
| @HeikoS | I am not sure | 17:02 | 
| @HeikoS | it feels weird ;) | 17:02 | 
| gf712 | I mean if we replace CDynamicObjectArray with std::vector | 17:02 | 
| gf712 | in CombinedFeatures | 17:02 | 
| gf712 | it shouldn't be too bad no? | 17:02 | 
| @HeikoS | well | 17:03 | 
| @HeikoS | CombinedFeatures are meant for MKL learning | 17:03 | 
| gf712 | ahh | 17:03 | 
| @HeikoS | combinedKernel + combinedFeatures | 17:03 | 
| @HeikoS | so that you can have an svm | 17:03 | 
| @HeikoS | that operates on say one string kernel and one gaussian kernel | 17:03 | 
| gf712 | ok ok I get it the issue now :D | 17:03 | 
| @HeikoS | and those need different feature types | 17:03 | 
| @HeikoS | so combined features is there to group different feature types...so kind of what you want here ... | 17:04 | 
| gf712 | HeikoS: the sparse format can be added somewhat easily | 17:05 | 
| gf712 | ill just have to read the arff spec again | 17:05 | 
| @HeikoS | ok cool no need to have tha tnow | 17:06 | 
| @HeikoS | gf712: pretty nice work btw | 17:08 | 
| gf712 | thanks! was good to practice some parsing in c++ :D | 17:08 | 
| -!- essam [c0c8120e@gateway/web/freenode/ip.192.200.18.14] has joined #shogun | 17:09 | |
| @HeikoS | hehe yeah :) | 17:12 | 
| @HeikoS | gf712: I bet it is fast! | 17:14 | 
| gf712 | HeikoS: what do you mean? | 17:16 | 
| @HeikoS | the parsing | 17:16 | 
| @HeikoS | faster than a python parser | 17:16 | 
| gf712 | ah yes, unless I messed it up | 17:17 | 
| gf712 | I think Scipy has a arff parser, but I don't know in what language it is written | 17:17 | 
| @HeikoS | probably | 17:17 | 
| @HeikoS | c99 inside cython | 17:17 | 
| geektoni | ping HeikoS | 17:18 | 
| @HeikoS | geektoni: hi ! | 17:18 | 
| geektoni | HeikoS: I'm skimming the list of algorithms in the proposal which need to be made observable | 17:19 | 
| geektoni | I wonder | 17:19 | 
| @HeikoS | ah cool | 17:19 | 
| geektoni | if there are like "priorities" | 17:19 | 
| @HeikoS | I was about to check the LDA one | 17:19 | 
| @HeikoS | can you send me a link | 17:19 | 
| @HeikoS | so we can quickly discuss | 17:19 | 
| geektoni | HeikoS: https://docs.google.com/document/d/17LioVPBuyn4G2uDy0PbmpZAjJxt_wg105SblKcPyLtY/edit | 17:20 | 
| geektoni | because atm I'm looking at SVM and MKL | 17:20 | 
| @HeikoS | I would say | 17:21 | 
| @HeikoS | kmeans | 17:21 | 
| @HeikoS | knn | 17:21 | 
| @HeikoS | rf | 17:21 | 
| @HeikoS | neural nets | 17:21 | 
| @HeikoS | gmm | 17:21 | 
| @HeikoS | actually first gmm and nns the other way | 17:22 | 
| @HeikoS | so kmeans you can emit the current centroids | 17:22 | 
| geektoni | I see I see | 17:22 | 
| @HeikoS | knn I wonder what to emit | 17:22 | 
| @HeikoS | rf you can emit something about the forest | 17:22 | 
| @HeikoS | gmm you can emit the likelihood and the gaussians | 17:22 | 
| @HeikoS | GP for the variational you can emit the ELBO value | 17:23 | 
| @HeikoS | skip Laplace and EP for now | 17:23 | 
| @HeikoS | for the NNs you can emit something like the error function value | 17:23 | 
| @HeikoS | for MKL you can emit the current kernel weights | 17:24 | 
| @HeikoS | is that enough for now? :D | 17:24 | 
| geektoni | ahah more that enough | 17:24 | 
| geektoni | MKL is huuuge | 17:24 | 
| @HeikoS | yes | 17:24 | 
| @HeikoS | dont spend too much time on it | 17:24 | 
| @HeikoS | I would go from simple to complex | 17:24 | 
| @HeikoS | as in "everyday"-use algorithms first | 17:24 | 
| @HeikoS | then more complex ones | 17:24 | 
| geektoni | sure sure | 17:24 | 
| geektoni | HeikoS: ah btw, as a side task, I'm trying to port everything to put/get when I can | 17:26 | 
| @HeikoS | geektoni: just commented on that | 17:26 | 
| @HeikoS | I dont think this is the best idea | 17:26 | 
| @HeikoS | it moves the type safety to runtime | 17:27 | 
| @HeikoS | and there could be typos in the strings | 17:27 | 
| @HeikoS | I would keep the put for the users | 17:27 | 
| @HeikoS | ah | 17:28 | 
| geektoni | ahh you are right. my mistake, no idea why I didn't use the templated put | 17:28 | 
| geektoni | HeikoS: I removed those checks because it is using dispatching | 17:29 | 
| @HeikoS | ah ok | 17:29 | 
| geektoni | and with that I'm sure that I will get those type of features | 17:29 | 
| @HeikoS | all good then :) | 17:29 | 
| @HeikoS | made some comments on the PR geektoni | 17:32 | 
| geektoni | HeikoS: thanks! I'll have a look | 17:33 | 
| gf712 | HeikoS: i am not sure how to do write a getter with type dependency | 17:36 | 
| @HeikoS | gf712: it would have to be in the ctor somehow? | 17:36 | 
| gf712 | just looking at File.h | 17:36 | 
| gf712 | ah you mean you ask for it before parsing? | 17:36 | 
| gf712 | I thought you meant the getter would request a type | 17:37 | 
| gf712 | and then can cast to that type in the getter | 17:37 | 
| gf712 | but yea I can also just have templated class | 17:37 | 
| gf712 | or with an enum | 17:38 | 
| -!- HeikoS [~heiko@1.pool85-48-188.static.orange.es] has quit [Quit: Leaving.] | 17:38 | |
| gf712 | wiking: plans to manipulate ast from C++ for reflection.. its going to get messy :D https://www.youtube.com/watch?v=CRDNPwXDVp0&list=PLHTh1InhhwT6V9RVdFRoCG_Pm5udDxG1c&index=11 | 18:03 | 
| -!- gf712 [9052087c@gateway/web/freenode/ip.144.82.8.124] has quit [Ping timeout: 256 seconds] | 18:19 | |
| -!- geektoni [c1cdd24a@gateway/web/freenode/ip.193.205.210.74] has quit [Quit: Page closed] | 18:25 | |
| -!- essam [c0c8120e@gateway/web/freenode/ip.192.200.18.14] has quit [Quit: Page closed] | 19:40 | |
| -!- priyanka [8b050b63@gateway/web/freenode/ip.139.5.11.99] has joined #shogun | 20:30 | |
| priyanka | Hello All!! I am interested in participating in GSOD and I have some doubts | 20:31 | 
| -!- ussdd95[m] [ussdd95mat@gateway/shell/matrix.org/x-ladezbdjcasuwxcn] has quit [Quit: Idle kick: User has been idle for 30 days.] | 20:33 | |
| -!- priyanka [8b050b63@gateway/web/freenode/ip.139.5.11.99] has quit [Ping timeout: 256 seconds] | 20:56 | |
| -!- priyanka [9d25d395@gateway/web/freenode/ip.157.37.211.149] has joined #shogun | 21:06 | |
| -!- priyanka [9d25d395@gateway/web/freenode/ip.157.37.211.149] has quit [Client Quit] | 21:07 | |
| -!- rcurtin [~ryan@knife.lugatgt.org] has joined #shogun | 21:58 | |
| --- Log closed Thu May 16 00:00:17 2019 | ||
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!