--- Log opened Wed Nov 23 00:00:27 2016 | ||
-!- HeikoS [~heiko@host-92-0-178-129.as43234.net] has quit [Quit: Leaving.] | 00:00 | |
-!- HeikoS1 [~heiko@host-92-0-178-129.as43234.net] has joined #shogun | 00:00 | |
-!- HeikoS1 [~heiko@host-92-0-178-129.as43234.net] has quit [Ping timeout: 244 seconds] | 00:15 | |
@sukey | Pull Request #3534 "LinalgRefactor - Cholesky" synchronized by OXPHOS - https://github.com/shogun-toolbox/shogun/pull/3534 | 04:42 |
---|---|---|
@sukey | Pull Request #3534 "LinalgRefactor - Cholesky - CPU only" - https://github.com/shogun-toolbox/shogun/pull/3534 | 05:42 |
@sukey | Pull Request #3562 "LinalgRefactor - Matrix elementwise product" opened by OXPHOS - https://github.com/shogun-toolbox/shogun/pull/3562 | 06:24 |
-!- praisethemoon [~praisethe@41.226.248.123] has joined #shogun | 08:46 | |
CaBa | hey people | 15:57 |
praisethemoon | CaBa, o/ | 16:19 |
-!- HeikoS [~heiko@217.138.5.14] has joined #shogun | 16:57 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:57 | |
-!- praisethemoon [~praisethe@41.226.248.123] has quit [Quit: Leaving] | 17:26 | |
-!- HeikoS [~heiko@217.138.5.14] has quit [Ping timeout: 268 seconds] | 17:32 | |
-!- HeikoS [~heiko@217.138.5.14] has joined #shogun | 17:59 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:59 | |
-!- HeikoS [~heiko@217.138.5.14] has quit [Ping timeout: 244 seconds] | 18:36 | |
CaBa | wiking: happen to be around? | 21:24 |
@wiking | yes | 21:30 |
CaBa | wiking: given a CParamterCombination object, can i iterate through the tree and access the parameters? | 21:37 |
CaBa | wiking: or doesn't it offer a public interface for that? | 21:38 |
@wiking | mmm | 21:38 |
@wiking | good questuin | 21:38 |
@wiking | *question | 21:38 |
@wiking | if not then we should expose it | 21:38 |
@wiking | what does doxygen say? | 21:39 |
@wiking | http://shogun.ml/api/latest/classshogun_1_1CParameterCombination.html | 21:40 |
CaBa | wiking: well there is a get_parameter(const char *name, CSGObject *parent) function - i'm not sure if it is for that... | 21:40 |
@wiking | doesn't look like you gonna get | 21:43 |
@wiking | i mean that you can iterate through with that api | 21:43 |
CaBa | wiking: with that get_parameter() function? | 21:44 |
@wiking | yes | 21:44 |
@wiking | it'll give you a param | 21:44 |
@wiking | with a given name and parent | 21:44 |
@wiking | but this way | 21:44 |
@wiking | you would need to know | 21:45 |
@wiking | the name and parent | 21:45 |
@wiking | i guess if you have the reference | 21:45 |
CaBa | what's the parent? | 21:45 |
@wiking | parent of the given param | 21:45 |
@wiking | so manually | 21:45 |
@wiking | if you have the reference on the ROOT item in the tree | 21:45 |
CaBa | so how do i get one step down from the root using this function? | 21:45 |
@wiking | then you could say | 21:45 |
@wiking | get_parameter("name of param", ROOT); | 21:45 |
@wiking | and then like this | 21:45 |
@wiking | one by one | 21:45 |
@wiking | you can iterate through the whole tree | 21:46 |
CaBa | so i do | 21:46 |
@wiking | i'm wondering whether this is the only way | 21:46 |
CaBa | root->get_paramter("name", root) | 21:46 |
CaBa | ? | 21:46 |
@wiking | i would hope that there's | 21:46 |
CaBa | i pass root to itself? | 21:46 |
@wiking | a better function for this | 21:46 |
@wiking | but i never really looked into this part of shogun unfortunately | 21:46 |
@wiking | didn't dare to ;) | 21:46 |
@wiking | yeah | 21:46 |
@wiking | http://shogun.ml/api/latest/ParameterCombination_8cpp_source.html#l00250 | 21:46 |
@wiking | as you can see | 21:47 |
@wiking | this is the implementation | 21:47 |
CaBa | wiking: #255 will never evaluate true for the root node | 21:47 |
CaBa | wiking: hm, maybe it doesn't have to... | 21:48 |
@wiking | 255? | 21:48 |
CaBa | line | 21:48 |
CaBa | from your lin | 21:48 |
CaBa | link | 21:48 |
@wiking | if (m_param) | 21:48 |
@wiking | ? | 21:48 |
CaBa | yes | 21:48 |
CaBa | m_param is a Parameter* member, which should be a nulptr for root i think | 21:49 |
@wiking | btw just for the record | 21:49 |
@wiking | http://shogun.ml/api/latest/ParameterCombination_8cpp_source.html#l00307 | 21:49 |
@wiking | this will print you the tree | 21:49 |
@wiking | if yo udont wanna print | 21:49 |
@wiking | there's the logic | 21:49 |
CaBa | wiking: yes, that's what i want to do from the outside | 21:49 |
@wiking | how to actually traverse the tree | 21:49 |
@wiking | ok so there's the code | 21:49 |
@wiking | right? | 21:49 |
CaBa | wiking: no, whats in that function does not work through public interfaces | 21:50 |
@wiking | ok | 21:50 |
@wiking | so create a PR | 21:50 |
@wiking | that uses that logic | 21:50 |
@wiking | and does | 21:50 |
@wiking | iterator() | 21:50 |
CaBa | >.< | 21:50 |
@wiking | and basically you implement an iterator for that whole thing | 21:50 |
@wiking | pretty simple | 21:50 |
@wiking | you have there the code yourself how to iterate through the tree | 21:50 |
@wiking | but instead of printint | 21:50 |
@wiking | printing | 21:50 |
@wiking | you return always the next element | 21:51 |
@wiking | it's almost a copy paste shit | 21:51 |
@wiking | and you are done | 21:51 |
CaBa | no, extremely frustrating if that whole logic of that data structure is a mystery to you... | 21:51 |
@wiking | yeah but | 21:51 |
@wiking | it's not | 21:51 |
@wiking | there's the src | 21:51 |
@wiking | this is why it's opensource | 21:51 |
@wiking | you can see what's happening under the hood | 21:51 |
@wiking | and add new functionality | 21:51 |
@wiking | that might be interesting for other people as well | 21:51 |
@wiking | and in this case | 21:52 |
@wiking | that request that you have | 21:52 |
@wiking | is super valid | 21:52 |
@wiking | as well as that the solution for it is super easy | 21:52 |
@wiking | as you just copy paste shit | 21:52 |
CaBa | i know it's probably unfair to complain, but the level of documentation is really not such that one can easily understand the code by reading it | 21:52 |
@wiking | are you serious? | 21:53 |
@wiking | i have not | 21:53 |
@wiking | ever looked into this src | 21:53 |
@wiking | just now | 21:53 |
@wiking | and in 2 minutes i gave you an answer | 21:53 |
@wiking | how you could do it | 21:53 |
@wiking | so please | 21:53 |
@wiking | but | 21:53 |
@wiking | if you think that it's not adequate enough | 21:53 |
@wiking | please go ahead | 21:53 |
@wiking | and send in PRs | 21:53 |
@wiking | for having better documentation | 21:53 |
@wiking | we are an open source project | 21:53 |
@wiking | with 0 income | 21:53 |
@wiking | all of us does this out of passion | 21:54 |
@wiking | this is as much we could do free | 21:54 |
@wiking | if you think that there's some more need to be fixed | 21:54 |
@wiking | please go ahead | 21:54 |
@wiking | we know that we are not perfect | 21:54 |
@wiking | and never will be | 21:54 |
@wiking | but we are trying to make things better as much as we can | 21:54 |
CaBa | i know, that's why i raised the fairness disclaimer. i totally sympathise with your situation, really do... | 21:54 |
@wiking | so ok | 21:54 |
@wiking | then if you want | 21:54 |
@wiking | patch it | 21:54 |
@wiking | and send it | 21:55 |
@wiking | :) | 21:55 |
@wiking | other than that | 21:55 |
@wiking | unfortunately personally | 21:55 |
@wiking | i have other priorities | 21:55 |
@wiking | in this project | 21:55 |
@wiking | so i wont be able to help you with it | 21:55 |
@wiking | but again | 21:56 |
@wiking | the solution | 21:56 |
@wiking | is pretty simple | 21:57 |
CaBa | wiking: i know. i also didn't expect you to. i just wanted to know if i was overlooking an interfae that's there. totally aware that if there wasn't any, nobody was going to make me one.. | 21:57 |
@wiking | mmm based on the | 21:57 |
@wiking | interface of that class | 21:57 |
@wiking | it seems there's no iterator for it | 21:57 |
@wiking | but | 21:57 |
@wiking | i could imagine that there's somewhere else | 21:58 |
@wiking | but there's just a small chance for it | 21:58 |
@wiking | :) | 21:58 |
CaBa | wiking: wirred bug costed me half my day today... i patched something in shogun to take an std::function and used it from my program code... shogun i build with gcc-6 (for openmp) and my own code i build with clang... | 23:17 |
CaBa | wiking: that didn't go well at all... for whatever reason the std::function object didn't make it to the shogun world. only after i started building also my own code with gcc-6 it worked fine. | 23:18 |
CaBa | wiking: c++11 foo still seems to be weak at some points between compilers / libc implementations... | 23:18 |
CaBa | even with the latest and greatest xcode and gcc-6... | 23:19 |
CaBa | maybe just the former... | 23:19 |
--- Log closed Thu Nov 24 00:00:29 2016 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!