--- Log opened Fri Mar 01 00:00:31 2019 | ||
-!- Adarsh [7afcff68@gateway/web/freenode/ip.122.252.255.104] has joined #shogun | 09:27 | |
-!- gf712 [c13cdcfd@gateway/web/freenode/ip.193.60.220.253] has joined #shogun | 09:44 | |
-!- Adarsh [7afcff68@gateway/web/freenode/ip.122.252.255.104] has quit [Quit: Page closed] | 09:51 | |
-!- wiking_ [~wiking@2001:67c:10ec:5784:8000::3ff] has joined #shogun | 11:10 | |
wiking_ | gf712: hey | 11:10 |
---|---|---|
-!- wiking_ is now known as wiking | 11:11 | |
-!- wiking [~wiking@2001:67c:10ec:5784:8000::3ff] has quit [Changing host] | 11:11 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 11:11 | |
-!- mode/#shogun [+o wiking] by ChanServ | 11:11 | |
gf712 | wiking: hey! | 11:12 |
gf712 | I think that code is going to cause a linking error no? | 11:13 |
@wiking | mmmm no there's more problem | 11:13 |
@wiking | with constness | 11:13 |
@wiking | :DDD | 11:13 |
gf712 | yea I saw that... | 11:13 |
@wiking | although it's weird | 11:13 |
gf712 | btw windows is down | 11:14 |
@wiking | as i've compiled and tested this (almost this) on | 11:14 |
@wiking | donbot | 11:14 |
@wiking | what do you mean down? | 11:14 |
gf712 | the CI is complaning | 11:14 |
gf712 | complaining | 11:14 |
gf712 | no cblas.h | 11:14 |
@wiking | aaah | 11:14 |
@wiking | since when? | 11:14 |
gf712 | so I started a PR to force msvc to use mkl | 11:14 |
@wiking | in develop? | 11:14 |
gf712 | yes | 11:14 |
@wiking | gf712: yeah that is a shitty job :)))) | 11:15 |
gf712 | since the start of the week | 11:15 |
@wiking | aaah fuck | 11:15 |
@wiking | then it seems mkl has changed again | 11:15 |
@wiking | in condda | 11:15 |
@wiking | *conda | 11:15 |
@wiking | lemme see the logs | 11:15 |
@wiking | no it did not | 11:16 |
gf712 | https://dev.azure.com/shogunml/shogun/_build/results?buildId=676 | 11:16 |
gf712 | D:\a\1\s\src\shogun/mathematics/lapack.h(29): fatal error C1083: Cannot open include file: 'cblas.h': No such file or directory [D:\a\1\s\build\src\shogun\libshogun.vcxproj] | 11:16 |
@wiking | yeah | 11:17 |
gf712 | yea I was trying to see what could have happened with some Cmakecache printing | 11:17 |
@wiking | but the mkl version hasn't changed | 11:17 |
@wiking | so i really dont get it what has changed | 11:17 |
@wiking | :D | 11:17 |
gf712 | but I don't think it was using mkl before was it> | 11:18 |
gf712 | ? | 11:18 |
gf712 | or it might be an azure thing with pathing> | 11:18 |
gf712 | ? | 11:18 |
gf712 | so now the conda path of the shogun env is not detected? | 11:18 |
gf712 | that's why forcing the path works | 11:19 |
@wiking | once it was | 11:19 |
@wiking | like back in november | 11:19 |
@wiking | but since then things changed somewhere | 11:19 |
@wiking | and since then its not using mkl | 11:20 |
@wiking | imo we need to the trick | 11:21 |
@wiking | that you do on mac | 11:21 |
@wiking | or is that what you mean by the paths? | 11:21 |
gf712 | yes that's what I did | 11:22 |
gf712 | in the PR | 11:22 |
gf712 | https://github.com/shogun-toolbox/shogun/pull/4547 | 11:22 |
gf712 | but it means that something is not working with the Cmake file detecting blash | 11:23 |
gf712 | blas/lapack | 11:23 |
gf712 | if you see here https://dev.azure.com/shogunml/shogun/_build/results?buildId=683 | 11:23 |
@wiking | yes | 11:24 |
gf712 | in the setup it thinks it found mkl | 11:24 |
@wiking | that's for sure that there's somewthing weird with cmake | 11:24 |
@wiking | BUT | 11:24 |
gf712 | but before it didn't detect it | 11:24 |
@wiking | i have a windows machine | 11:24 |
@wiking | did almost everything the same | 11:24 |
@wiking | and there it is being detected | 11:24 |
@wiking | so this is somethign azure specific | 11:24 |
@wiking | :( | 11:24 |
gf712 | but that's because it's in the path of your machine right? | 11:24 |
@wiking | i've tried both | 11:24 |
gf712 | as in anaconda is in PATH | 11:24 |
@wiking | :))) | 11:24 |
gf712 | ah ok | 11:24 |
gf712 | then I don't know :( | 11:25 |
@wiking | you can check windows-cleanup or whatever branch | 11:25 |
@wiking | with all those dll fixes | 11:25 |
@wiking | there i wanted to fix the path | 11:25 |
@wiking | meaning that conda is in the path | 11:25 |
@wiking | so mkl gets fixed | 11:25 |
@wiking | it didn't help | 11:25 |
@wiking | and the detection of MKL is cmake based | 11:25 |
@wiking | ok so you solved now the detection? | 11:25 |
gf712 | yes it works fine now | 11:26 |
gf712 | and uses mkl\ | 11:26 |
@wiking | which one? | 11:26 |
@wiking | because https://dev.azure.com/shogunml/shogun/_build/results?buildId=683 | 11:26 |
gf712 | the anaconda one | 11:26 |
@wiking | detects mkl as openblas | 11:26 |
@wiking | :) | 11:26 |
@wiking | and that's not optimal | 11:26 |
gf712 | https://dev.azure.com/shogunml/shogun/_build/results?buildId=702 | 11:26 |
@wiking | oh cool | 11:26 |
@wiking | is this merged? | 11:27 |
@wiking | :) | 11:27 |
@wiking | if not, why not :D | 11:27 |
gf712 | ah was just waiting for you to approve | 11:27 |
gf712 | and if you wanted to look at the actual issue in Cmake :p | 11:27 |
@wiking | mmm | 11:27 |
@wiking | yeah i looked into it | 11:27 |
gf712 | right now we are just avoiding solving that issue | 11:27 |
@wiking | we cannot do too much coz the scripts are cmake's | 11:27 |
@wiking | mkl_core_dll.lib is required? | 11:27 |
@wiking | cant we use mkl_rt.dll? | 11:28 |
gf712 | we might | 11:28 |
gf712 | but then the library has to be in the path | 11:28 |
gf712 | because then we just add -lmkl_rt | 11:28 |
gf712 | rather than the path | 11:28 |
gf712 | right? | 11:28 |
@wiking | mmmm i mean that u know there's 2 ways to link against mkl | 11:29 |
@wiking | one is the oldschool | 11:29 |
@wiking | and the other is mkl_rt | 11:29 |
gf712 | yes | 11:29 |
gf712 | but the mkl_rt only works if $(conda)/Library/lib is in the linker path right? | 11:30 |
gf712 | search path* | 11:30 |
gf712 | which I am not sure it is... | 11:30 |
gf712 | in my machine I had to add it specifically to get it to work | 11:31 |
gf712 | but let me try and see what happens | 11:31 |
@wiking | i mean just showing you my end | 11:31 |
@wiking | lemme get the link | 11:32 |
@wiking | gf712: check this https://dev.azure.com/shogunml/shogun/_build/results?buildId=624 | 11:32 |
@wiking | see that there's a new task there | 11:32 |
@wiking | Add conda to path | 11:32 |
@wiking | that should add all the paths that usually conda adds automagically to the path | 11:32 |
@wiking | but then if you check Setup | 11:33 |
@wiking | it still fails to detect mkl | 11:33 |
@wiking | aas lapack backend | 11:33 |
gf712 | hmmm ok, I have no idea why it doesn't find then... | 11:34 |
gf712 | how does it find blas but not lapack? | 11:35 |
@wiking | dunno | 11:36 |
@wiking | but i couldn't reproduce it locally | 11:36 |
@wiking | on a windows :( | 11:36 |
gf712 | trying out mkl_rt.dll | 11:36 |
gf712 | let's see if it works, I think there will be a linking error | 11:37 |
@wiking | oookeee | 11:42 |
@wiking | gf712: q | 11:42 |
@wiking | so now because add_to_dense_vector cannot be const (see later) we cannot have get_mean and get_std const | 11:42 |
@wiking | the reason is add_to_dense is not const because we have a caching in the object | 11:44 |
@wiking | how do you feel about `mutable` qualifier/ :) | 11:45 |
gf712 | ah | 11:46 |
gf712 | haha | 11:46 |
gf712 | where are you putting it? | 11:46 |
gf712 | do you get a performance boost relative to not using const at all? | 11:47 |
gf712 | *not using anything at all? | 11:48 |
@wiking | should | 11:48 |
@wiking | "Don't use const for performance reasons. Use it for maintainability reasons." | 11:49 |
@wiking | :) | 11:49 |
@wiking | "That said, it is trivial for the compiler to look at the code it generates and determine if it actually writes to a given variable, and apply optimizations accordingly." | 11:50 |
gf712 | OK! | 11:51 |
gf712 | but where does the mutable go then? | 11:51 |
gf712 | add_to_dense? | 11:51 |
@wiking | nono | 11:52 |
@wiking | some of the member vars | 11:52 |
gf712 | ah right | 11:52 |
@wiking | of densefeatures | 11:52 |
gf712 | ok! | 11:52 |
gf712 | and then can add const and compiler knows that some stuff is not actually const? | 11:52 |
gf712 | I just used mutable in lambdas before.. | 11:52 |
@wiking | yeah so that way the compiler will know that for some member vars | 11:54 |
@wiking | it's ok to mutate even if the member function is marked const | 11:54 |
gf712 | ok! are there any side effects that can cause weird behaviour> | 11:55 |
gf712 | I guess it's more that you can mark things const even though it doesn't make much sense to do so | 11:55 |
gf712 | btw: | 11:56 |
gf712 | CMake Error at C:/Program Files/CMake/share/cmake-3.13/Modules/CheckLibraryExists.cmake:39 (message): Syntax error in cmake code at C:/Program Files/CMake/share/cmake-3.13/Modules/CheckLibraryExists.cmake:39 when parsing string Looking for cblas_dgemv in C:\Users\VssAdministrator\.conda\envs\shogun/Library/lib/mkl_rt.dll Invalid character escape '\U'. | 11:56 |
gf712 | what is this? :D | 11:56 |
@wiking | lol | 11:57 |
@wiking | dunno | 11:57 |
@wiking | :D | 11:57 |
gf712 | https://stackoverflow.com/questions/13737370/cmake-error-invalid-escape-sequence-u | 12:05 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 12:05 | |
gf712 | is there a way reverse "\" in env variables in azure? | 12:05 |
-!- wiking [~wiking@2001:67c:10ec:5784:8000::3ff] has joined #shogun | 12:06 | |
-!- wiking [~wiking@2001:67c:10ec:5784:8000::3ff] has quit [Changing host] | 12:06 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 12:06 | |
-!- mode/#shogun [+o wiking] by ChanServ | 12:06 | |
gf712 | wiking: is there a way reverse "\" in env variables in azure? | 12:14 |
gf712 | so instead of "C:\path\to\something" have "C:/path/to/something" | 12:15 |
-!- HeikoS53 [5534e6bc@gateway/web/cgi-irc/kiwiirc.com/ip.85.52.230.188] has joined #shogun | 13:11 | |
HeikoS53 | gf712 yo! | 13:14 |
HeikoS53 | lambday yp! | 13:14 |
gf712 | HeikoS hey! | 13:16 |
gf712 | HeikoS53 hey! | 13:16 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 13:16 | |
HeikoS53 | just going through the diff of the enum PR | 13:16 |
gf712 | ah yes, a bit large because I did some formatting | 13:16 |
gf712 | because I just used chunks around the parameter registration with gitkraken... | 13:17 |
HeikoS53 | no worries | 13:17 |
HeikoS53 | I think it is there right? | 13:17 |
gf712 | I think so.. It works in the interfaces | 13:17 |
gf712 | I hid the tag dispatching from SWIG btw | 13:17 |
gf712 | it was causing ambiguity according to the compiler | 13:18 |
HeikoS53 | ah yeah good | 13:18 |
HeikoS53 | this is quite cute now | 13:18 |
HeikoS53 | it is actually much more "typesafe" than before | 13:18 |
HeikoS53 | before one could just put in anything | 13:18 |
HeikoS53 | but now one can only put what is in the map | 13:19 |
gf712 | yup, I added some checks for both put with int and with string | 13:19 |
gf712 | so should be safe! | 13:19 |
gf712 | also seem to have found the bug with windows CI | 13:19 |
gf712 | was talking to viktor earlier but we couldn't figure out why it stopped working... | 13:20 |
gf712 | just trying something out and then should merge it to get the CI up and running again | 13:20 |
gf712 | I just want to make sure that the macro business works fine with msvc | 13:21 |
HeikoS53 | ok | 13:22 |
HeikoS53 | so shall I hold before merging the options? | 13:22 |
HeikoS53 | or you mean your other fix? | 13:22 |
gf712 | yes, should wait until msvc is working | 13:23 |
gf712 | and then I'll trigger CI with the working msvc build | 13:24 |
HeikoS53 | ok | 13:25 |
HeikoS53 | ok | 13:25 |
HeikoS53 | just going through everything once more | 13:26 |
HeikoS53 | lisitsyn are you there? | 13:26 |
gf712 | HeikoS53 the windows fix should be good to be merged | 13:31 |
gf712 | I reverted to a commit that was working | 13:31 |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 13:36 | |
-!- mode/#shogun [+o wiking] by ChanServ | 13:36 | |
@wiking | gf712: ok so i merge than that pr | 13:44 |
@wiking | ok | 13:44 |
@wiking | ? | 13:44 |
@wiking | https://github.com/shogun-toolbox/shogun/pull/4547 | 13:44 |
gf712 | yup | 13:49 |
gf712 | wiking: mkl_rt causes linker error | 13:49 |
@wiking | yep | 13:50 |
@wiking | seen it | 13:50 |
@wiking | i've squashed and merged | 13:50 |
gf712 | cool | 13:50 |
gf712 | I wonder why the error happened.. | 13:50 |
@wiking | thnx for the fix! | 13:50 |
gf712 | no worries | 13:50 |
gf712 | wiking: btw how was the drive in the "new" car? :p | 13:51 |
@wiking | great she acted nice | 13:51 |
@wiking | no hiccups nada | 13:51 |
@wiking | so i'm happy with her | 13:51 |
@wiking | :) | 13:51 |
gf712 | haha | 13:51 |
@wiking | yeah its a she and called Berta | 13:51 |
@wiking | ;)( | 13:51 |
@wiking | :> | 13:51 |
gf712 | lol, berta? | 13:52 |
@wiking | yes | 13:52 |
gf712 | is she ready to pick up your boat then? | 13:52 |
@wiking | seems like | 13:52 |
gf712 | btw are you going to Berlin in June for shogun meeting? | 13:52 |
@wiking | yes | 13:54 |
gf712 | and last question, how can I force azure pipelines to rerun a job? | 13:55 |
@wiking | mmmm i should add u to the group | 13:58 |
@wiking | :)))) | 13:58 |
@wiking | can you register yourself to azure pipelines | 13:58 |
gf712 | OK! | 13:58 |
gf712 | does it have to be the same as GitHub? | 13:59 |
gf712 | as in email | 13:59 |
@wiking | no | 13:59 |
@wiking | unfortunately it's not integrated with organization part of github | 13:59 |
gf712 | alright I registered | 14:00 |
gf712 | what do you need? email I guess? | 14:00 |
@wiking | what's your email | 14:00 |
@wiking | yes | 14:00 |
gf712 | gil_f.hoben@hotmail.com | 14:00 |
@wiking | dman | 14:01 |
@wiking | it cannot find u | 14:01 |
gf712 | dev.azure.com/gilfhoben does this help? | 14:02 |
@wiking | lemme see | 14:02 |
gf712 | I think something just happened | 14:03 |
@wiking | "no identities found" | 14:03 |
gf712 | the screen refreshed | 14:03 |
gf712 | and I can now see more stuff | 14:03 |
gf712 | might take a while to make it public.. | 14:03 |
@wiking | tell me in the meanwhile | 14:04 |
@wiking | what you need to rerun | 14:05 |
@wiking | and i guess we could add a bot here like used to be with sukey | 14:05 |
@wiking | that could do minimum commands | 14:05 |
@wiking | :D | 14:05 |
gf712 | wiking can you rerun this https://dev.azure.com/shogunml/shogun/_build/results?buildId=705 | 14:06 |
gf712 | pls | 14:06 |
@wiking | done | 14:06 |
gf712 | talking about bots, have you every used https://probot.github.io/docs/development/ ? | 14:06 |
gf712 | thanks! | 14:06 |
@wiking | https://dev.azure.com/shogunml/shogun/_build/results?buildId=710 | 14:06 |
@wiking | no | 14:06 |
@wiking | sukey was some other bot | 14:06 |
@wiking | but any of these things are great to have at hand | 14:07 |
gf712 | yea I was thinking about starting one | 14:07 |
gf712 | just to see how it works | 14:07 |
gf712 | I never used GitHub hooks so now idea how it works.. | 14:07 |
gf712 | no | 14:07 |
HeikoS53 | my water bottle is called Berta | 14:10 |
HeikoS53 | gf712 let me know when to merge the options PR | 14:10 |
gf712 | OK! | 14:10 |
gf712 | just waiting on https://dev.azure.com/shogunml/shogun/_build/results?buildId=710 | 14:11 |
gf712 | wiking: can you find https://dev.azure.com/gf712/ ? | 14:30 |
@wiking | lemme try | 14:30 |
@wiking | nothing :( | 14:30 |
gf712 | hmmm very weird | 14:33 |
gf712 | anyway I should be gf712 in azure at some point | 14:34 |
@wiking | ok | 14:36 |
gf712 | wiking: after forcing to rerun a job in azure shouldn't the windows CI work? I am still getting the cblas.h error | 14:36 |
gf712 | do I need to push something instead? | 14:36 |
@wiking | gf712: have u rebased? | 14:36 |
@wiking | ok i've cleared up some mess regarding DotFeatures in feature/correct-initials | 14:37 |
gf712 | ah true true | 14:37 |
@wiking | if that passes i'll merge the branch into develop | 14:37 |
gf712 | nvm me | 14:37 |
gf712 | OK! | 14:37 |
@wiking | and yeah constexpr was failing | 14:37 |
@wiking | :) | 14:37 |
gf712 | did you add the mutable then? | 14:37 |
@wiking | my bad sorry | 14:37 |
@wiking | no actually i did not have to | 14:37 |
@wiking | since we store most of the member vars as pointers ;) | 14:37 |
gf712 | yea, I wish it worked as expected | 14:37 |
gf712 | what does that change? | 14:38 |
@wiking | well | 14:38 |
@wiking | we dont change the pointer value | 14:38 |
@wiking | just the object where it points to | 14:38 |
@wiking | ;) | 14:38 |
@wiking | and that doesn't get effected | 14:38 |
@wiking | by constness of a member func | 14:38 |
@wiking | since the compiler is just checking | 14:38 |
@wiking | whether you actually change the member vars value | 14:39 |
@wiking | in a const function | 14:39 |
@wiking | or call a function that is not const | 14:39 |
gf712 | hmmmm ok | 14:40 |
gf712 | let me see! | 14:40 |
gf712 | oh damn that is a lot of constness you added :p | 14:41 |
@wiking | yes | 14:41 |
@wiking | i mean it's more like because a lot of classes derive from DotFeatures | 14:42 |
HeikoS53 | gf712 wiking I am looking at flights for london | 14:43 |
HeikoS53 | for the cambrdige WS | 14:43 |
HeikoS53 | I want to spend another day in london | 14:43 |
@wiking | HeikoS53: ah shit i think i havent told you only to gf712 | 14:43 |
HeikoS53 | to meet with gf712 | 14:43 |
@wiking | i wont be able to make it | 14:43 |
HeikoS53 | shall we sync? | 14:43 |
HeikoS53 | ah ok | 14:43 |
HeikoS53 | gf712 and you only are there one day or so right? | 14:43 |
HeikoS53 | what day is good to meet at the ATIss | 14:44 |
gf712 | yes, I won't be around on the Friday | 14:44 |
gf712 | can meet on Wednesday? | 14:44 |
HeikoS53 | what date is that? | 14:44 |
gf712 | good question... | 14:44 |
HeikoS53 | 20th | 14:45 |
gf712 | 20th | 14:45 |
gf712 | yes | 14:45 |
HeikoS53 | I think that should work | 14:45 |
HeikoS53 | Ill check for flights then | 14:45 |
HeikoS53 | are you around all day then? | 14:45 |
HeikoS53 | i.e. shall I arrive on 19th and come in the morning | 14:45 |
gf712 | but I am still not sure if I can to the thing because the application had already finished | 14:45 |
gf712 | yup ill be here all the time | 14:45 |
HeikoS53 | or arrive on 20th early and come in on afternoon | 14:45 |
gf712 | except 22nd | 14:45 |
HeikoS53 | ok | 14:45 |
HeikoS53 | so I will try to arrive at ATI morning of the 20th | 14:46 |
@wiking | HeikoS53: here? | 14:46 |
gf712 | yup, that works | 14:46 |
HeikoS53 | y | 14:46 |
@wiking | i mean do you have to discuss something | 14:46 |
HeikoS53 | ok let me check flights | 14:46 |
@wiking | for like 5-10 mins? | 14:46 |
HeikoS53 | wiking sure whats up | 14:46 |
@wiking | and i guess it would be faster | 14:46 |
@wiking | via voice | 14:46 |
@wiking | if that's ok with u | 14:46 |
@wiking | there's a design problem | 14:46 |
@wiking | with shogun's SVM classifiers | 14:46 |
@wiking | and coreml | 14:46 |
HeikoS53 | ok sure | 14:46 |
@wiking | whatsapp? | 14:47 |
HeikoS53 | call me on hangout | 14:47 |
HeikoS53 | that also works | 14:47 |
@wiking | k | 14:47 |
@wiking | now is good? | 14:47 |
HeikoS53 | yes | 14:47 |
@wiking | k | 14:47 |
HeikoS53 | hangout is better thoug | 14:47 |
@wiking | just a sec | 14:47 |
@wiking | i'll try hangout | 14:47 |
HeikoS53 | or actually | 14:47 |
HeikoS53 | whats app is ok | 14:47 |
HeikoS53 | Ill go for a walk :) | 14:47 |
HeikoS53 | give me one min | 14:47 |
@wiking | just call me then | 14:47 |
@wiking | when its good for u | 14:47 |
@wiking | :D | 14:47 |
HeikoS53 | ok | 14:47 |
-!- HeikoS53 [5534e6bc@gateway/web/cgi-irc/kiwiirc.com/ip.85.52.230.188] has quit [Ping timeout: 250 seconds] | 14:52 | |
-!- HeikoS53 [5534e6fd@gateway/web/cgi-irc/kiwiirc.com/ip.85.52.230.253] has joined #shogun | 15:17 | |
-!- HeikoS53 is now known as HeikoS | 15:17 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 15:17 | |
@HeikoS | gf712 hey btw | 15:23 |
@HeikoS | I had this other thing that would be good for the API | 15:23 |
@HeikoS | namely CKernel::init(CFeatures*, CFeatures*) | 15:23 |
@HeikoS | this is the way for kernels to be initialized | 15:23 |
@HeikoS | and in fact | 15:24 |
@HeikoS | kernel.put("lhs") should not be accepted | 15:24 |
@HeikoS | i.e. a read-only feature | 15:24 |
@HeikoS | can we have a property for that? | 15:24 |
@HeikoS | and then a generic check inside "put"? | 15:24 |
gf712 | sure thing | 15:24 |
gf712 | I am just thinking if this is starting to add a lot of runtime cost? | 15:25 |
gf712 | but then I guess it's just when using getter | 15:25 |
gf712 | which is not part of the actual ML algo | 15:25 |
@HeikoS | just when using put | 15:26 |
@HeikoS | but yes it does | 15:26 |
@HeikoS | well first thing is I wanted to ask you for thoughts | 15:26 |
@HeikoS | we have this problem | 15:26 |
@HeikoS | also CFeatures::feature_matrix | 15:26 |
@HeikoS | should not be puttable | 15:26 |
@HeikoS | I wonder whether this is something that we should address within registration | 15:27 |
@HeikoS | Just thinking loud here | 15:27 |
@HeikoS | but if we registered something as const | 15:27 |
@HeikoS | SG_ADD(const CKernel* my_kernel, ....) | 15:27 |
@HeikoS | then the put would give an error | 15:28 |
@HeikoS | "No parameter of type CKernel::lhs of type CFeatures* for provided const CFeatures*" | 15:28 |
@HeikoS | or? | 15:28 |
@HeikoS | lisitsyn ^ | 15:28 |
gf712 | I mean it is easy to implement that | 15:29 |
gf712 | I am just thinking if we can hide it from put somehow | 15:29 |
gf712 | rather than do runtime checks of a map with const features | 15:30 |
gf712 | parameters* | 15:30 |
gf712 | and these things have to be registered right? | 15:30 |
@HeikoS | put is explicitly defined for certain c-types | 15:30 |
@HeikoS | so there just wouldnt be a put for the const parameters | 15:31 |
gf712 | as in, we can't just not do SG_ADD(CKernel* mykernel,...) | 15:31 |
@HeikoS | and trying to use a non-const one we would get an error | 15:31 |
@HeikoS | yes have to be registered | 15:31 |
@HeikoS | as we want "get" | 15:31 |
gf712 | true | 15:31 |
@HeikoS | actually, let me try this const registration locally | 15:31 |
gf712 | OK! | 15:32 |
gf712 | are you adding a check inside CSGObject::update_parameter? | 15:32 |
@HeikoS | no | 15:33 |
@HeikoS | I would just register as const pointer | 15:33 |
@HeikoS | and see what happens | 15:33 |
gf712 | ah ok! | 15:33 |
@HeikoS | the put/get require *exact* type matching | 15:33 |
gf712 | put that only works for classes right? | 15:34 |
@HeikoS | what do you mean? | 15:34 |
gf712 | ah nvm | 15:34 |
gf712 | I was thinking you wouldn't have a const int | 15:34 |
gf712 | but that would still not decay to int | 15:34 |
gf712 | nvm me | 15:35 |
@HeikoS | ah lots of discards qualifiers errors | 15:35 |
@HeikoS | yeah sure makes sense | 15:36 |
@HeikoS | ok so back to runtime | 15:37 |
@HeikoS | so first thing is | 15:37 |
@HeikoS | put is expensive already | 15:37 |
@HeikoS | as it has to check the type inmformation | 15:37 |
@HeikoS | mmmh | 15:38 |
gf712 | what do you mean it "has to check the type information"? | 15:38 |
@HeikoS | any_cast type of stuff | 15:38 |
gf712 | ah is that expensive? | 15:38 |
gf712 | never really looked under the hood of that | 15:38 |
@HeikoS | actually good question | 15:38 |
@HeikoS | I think it uses typeid | 15:39 |
@HeikoS | so maybe not that bad | 15:39 |
lisitsyn | oops | 15:39 |
lisitsyn | HeikoS: | 15:39 |
@HeikoS | lisitsyn yo | 15:39 |
@HeikoS | hello | 15:39 |
lisitsyn | I'd avoid using const pointer | 15:39 |
lisitsyn | this might be a problem since we want to use shared pointers | 15:39 |
lisitsyn | they won't be const friendly I think | 15:39 |
lisitsyn | HeikoS: ^ | 15:39 |
@HeikoS | ok | 15:39 |
@HeikoS | lisitsyn so read-only parameters? | 15:39 |
lisitsyn | yeah it might be better | 15:39 |
@HeikoS | via an additional runtime check? | 15:39 |
@HeikoS | ok | 15:39 |
lisitsyn | yes | 15:39 |
@HeikoS | other question | 15:39 |
@HeikoS | can you have a quick look on this: https://github.com/shogun-toolbox/shogun/pull/4537 | 15:40 |
lisitsyn | HeikoS: yuge! | 15:40 |
@HeikoS | gf712 so can we have that property and a check in the libshogun put (the lowest one that all others call) | 15:40 |
@HeikoS | lisitsyn just check the relevant bits | 15:41 |
gf712 | OK! | 15:41 |
@HeikoS | lisitsyn SG_ADD_OPTIONS | 15:41 |
gf712 | so the same as CSGObject::update_parameter in the auto stuff | 15:41 |
@HeikoS | gf712 not exactly sure what you mean | 15:41 |
@HeikoS | you have a link? | 15:41 |
lisitsyn | oh that's really cool guys | 15:41 |
@HeikoS | lisitsyn the fame goes to gf712 | 15:42 |
@HeikoS | blame is for me :D | 15:42 |
lisitsyn | ship it! | 15:42 |
@HeikoS | ok | 15:42 |
@HeikoS | microservice? | 15:42 |
lisitsyn | HeikoS: microservice? | 15:43 |
lisitsyn | :) | 15:43 |
@HeikoS | hehe ;) | 15:43 |
@HeikoS | just waiting for the CI | 15:43 |
@HeikoS | and then it will go in | 15:43 |
lisitsyn | microservice what? | 15:43 |
@HeikoS | and then I will kill liblinear | 15:43 |
lisitsyn | some changes are irrelevant formatting stuff | 15:43 |
@HeikoS | in swig | 15:43 |
lisitsyn | but I guess this came from clang format? | 15:43 |
@HeikoS | yes and then some mixing up in the git commit | 15:43 |
lisitsyn | gf712: HeikoS: the only minor thing is how you declare | 15:43 |
lisitsyn | I mean it has a lot of params and at some point it starts to be the list | 15:44 |
@HeikoS | you think there will be more than a handful of options for parameters? | 15:44 |
gf712 | lisitsyn you mean the collection of macros? | 15:44 |
@HeikoS | we had one-by-one before, but I didntl like it because you had to write the parameter string name every time | 15:44 |
lisitsyn | https://github.com/shogun-toolbox/shogun/pull/4537/files#r261628295 | 15:45 |
gf712 | the issue is that I can't convert enum to string without macros | 15:45 |
lisitsyn | gf712: maybe SG_OPTIONS could be just no-op macros just for readability? | 15:45 |
lisitsyn | I mean to specify where is the list | 15:45 |
lisitsyn | see what I mean? | 15:46 |
gf712 | hmm, but then how do associate the enum to the parameter? | 15:46 |
lisitsyn | gf712: I mean can we just wrap the actual values somehow? | 15:47 |
gf712 | you would need SG_OPTIONS(param_name, enum1, enum2, ...) | 15:47 |
lisitsyn | why? | 15:47 |
@HeikoS | lisitsyn not sure you realised, it is lr.put("liblinear_regression_type", 'L2R_L2LOSS_SVR_DUAL') | 15:47 |
lisitsyn | I do | 15:47 |
@HeikoS | okok | 15:47 |
@HeikoS | lisitsyn options are assiciated to parameters | 15:47 |
@HeikoS | not to classes | 15:47 |
gf712 | because you need to put the enums in the map that keeps track of them no? | 15:48 |
gf712 | and the map uses the parameter name as key | 15:48 |
lisitsyn | gf712: HeikoS: ah sorry | 15:48 |
lisitsyn | my comment is broken :) | 15:48 |
gf712 | I am not sure how you can get that information by just adding enum values | 15:48 |
lisitsyn | gf712: HeikoS: https://github.com/shogun-toolbox/shogun/pull/4537/files#r261628295 | 15:49 |
lisitsyn | please check again | 15:49 |
lisitsyn | I wasn't clear enough sorry :) | 15:49 |
gf712 | ahhh | 15:49 |
@HeikoS | gotcha! | 15:49 |
gf712 | ok, I understand :D | 15:49 |
@HeikoS | yeah that'd be neat | 15:49 |
lisitsyn | anyway that thing is awesome | 15:50 |
gf712 | I can give it a go and see if msvc likes it... | 15:50 |
lisitsyn | gf712: I think no-op _VA_ARGS_ -> _VA_ARGS_ thing could work | 15:50 |
gf712 | ok, let me give it a go | 15:51 |
gf712 | :) | 15:51 |
@wiking | if there are no objections i'm merging feature/correct-initials | 15:53 |
@HeikoS | can we have a diff of it for one more iteration/reading? | 15:54 |
@HeikoS | i.e. a PR? | 15:54 |
gf712 | wiking: cool! unless you want to start PR and can change more default params? | 15:55 |
@wiking | HeikoS: it's a feature branch | 15:55 |
@wiking | if i do a pr now | 15:55 |
@wiking | it's gonna run again the CI | 15:55 |
@HeikoS | wiking sure but it is hard to see what is the sum of changes | 15:55 |
@wiking | i think you can check the PR by trying to create one | 15:55 |
@wiking | but then actually not creating one | 15:55 |
@HeikoS | but then I cannot comment or? | 15:55 |
@wiking | you should have there the diff | 15:55 |
@wiking | noup | 15:56 |
@wiking | i mean if u want u can create the pr | 15:56 |
@wiking | and i just kill the build job | 15:56 |
@HeikoS | ok let me do that | 15:56 |
@HeikoS | thanks | 15:56 |
@HeikoS | ok opened | 15:57 |
@wiking | cancelled | 15:57 |
@HeikoS | merci | 15:58 |
@wiking | but most of this has been actually reviewed :) | 15:59 |
@wiking | just realised | 15:59 |
@wiking | i've just added some tidbits | 15:59 |
@wiking | like for example gf712's stuff has been discussed in a pr | 15:59 |
@HeikoS | sure, I just always review different for feature branch PR | 16:06 |
@HeikoS | anyways, I think it is good | 16:06 |
@HeikoS | there is this thing with the column wise std-dev | 16:06 |
@wiking | yes | 16:06 |
@wiking | check my comments | 16:06 |
@wiking | you'll get it | 16:06 |
@HeikoS | ah ok | 16:06 |
@HeikoS | ok cool | 16:07 |
@HeikoS | nice to have that feature | 16:07 |
@wiking | ok i merge the feature branch | 16:07 |
@HeikoS | go for it ill close the pr | 16:07 |
@wiking | and close the pr | 16:07 |
@wiking | kk | 16:07 |
@wiking | close it | 16:07 |
@wiking | i merge | 16:07 |
@HeikoS | gf712 would be cool to have some API for swig to set those auto init things | 16:07 |
@HeikoS | but the read-only thing is more important I think | 16:08 |
@wiking | pushed | 16:08 |
@wiking | bbl | 16:08 |
@HeikoS | cu | 16:08 |
@HeikoS | gf712 conflicts in the string enum PR now | 16:09 |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 16:09 | |
gf712 | HeikoS I can look into adding auto stuff to swig | 16:09 |
gf712 | yes I'll have a look into that | 16:10 |
@HeikoS | gf712 cool! | 16:10 |
gf712 | also msvc is complaining randomly | 16:10 |
@HeikoS | the read-only is also important for the auto init stuff | 16:10 |
gf712 | I don't msvc macros | 16:10 |
gf712 | get* | 16:10 |
@HeikoS | since here we have to make the lhs/rhs of kernel read-only so that auto-init makes sense and users cannot change features afterwards | 16:10 |
gf712 | OK, I can add a runtime check of readinly | 16:11 |
@HeikoS | haha | 16:11 |
gf712 | only | 16:11 |
gf712 | let me finish refactoring the stuff with lisitsyn suggestions | 16:11 |
gf712 | and then I'll look into the readonly stuff | 16:12 |
@HeikoS | sweet | 16:12 |
@HeikoS | gf712 good stuff! | 16:12 |
@HeikoS | really nice work all this :) | 16:12 |
gf712 | HeikoS thanks! very cool going through a bit of everything in shogun | 16:13 |
@HeikoS | haha yes indeed | 16:13 |
gf712 | btw I posted my first thing in the website | 16:13 |
@HeikoS | cool, you have a link? | 16:13 |
@HeikoS | I will tweet it | 16:13 |
gf712 | but it isn't in the right order | 16:13 |
gf712 | https://gf712.github.io/shogun/enable_meta_learning/extend_python_getters.html | 16:14 |
gf712 | I already have more ideas of things to write about | 16:14 |
gf712 | and there are links but no text :D | 16:14 |
gf712 | HeikoS btw when are releasing? | 16:15 |
gf712 | we* | 16:15 |
@HeikoS | gf712 I want to as soon as possible | 16:15 |
@HeikoS | but the API refactoring is a lot of work | 16:15 |
@HeikoS | optimal world would be: swig is clean of specialized classes | 16:16 |
@HeikoS | but I think that might be unrealistic | 16:16 |
@HeikoS | and we have to do some sort of API-preview release | 16:16 |
@HeikoS | and then keep updating that every now and then until complete | 16:16 |
@HeikoS | not sure what is still coming with that | 16:16 |
gf712 | OK! Sounds good. Maybe can push for that stuff to be done as entrance tasks? | 16:17 |
gf712 | btw for Berlin is the weekend fixed then? Want to book flights soon so that they don't get too expensive | 16:17 |
@HeikoS | gf712 just booked flights, Ill be at the ATI on the 20th | 16:22 |
@HeikoS | and then travel to Cambridge that evening | 16:22 |
@HeikoS | or next morning, will see | 16:22 |
@HeikoS | gf712 yes entrance task is the best | 16:24 |
@HeikoS | can you check whether this is well described in the top 10 entrance tasks that are linked on the gsoc page in the wiki? | 16:25 |
@HeikoS | since I wrote that, it is not always clear to me whether it is clear | 16:25 |
gf712 | OK, let me have a look | 16:25 |
@HeikoS | feel free to bump/edit things to make sure we get a lot of students doing that task :) | 16:25 |
gf712 | HeikoS can maybe rename the issue to 2019 instead of 2017? | 16:26 |
gf712 | it's a but confusing | 16:26 |
@HeikoS | :D | 16:26 |
@HeikoS | do it | 16:26 |
gf712 | bit | 16:26 |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 16:27 | |
-!- mode/#shogun [+o wiking] by ChanServ | 16:27 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 258 seconds] | 16:34 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 16:36 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 16:36 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 16:36 | |
-!- mode/#shogun [+o wiking] by ChanServ | 16:36 | |
gf712 | wiking: how does this error make any sense: error C2947: expecting '>' to terminate template-argument-list, found '>' | 16:45 |
gf712 | '>' equals '>' no?? | 16:46 |
@HeikoS | :D | 16:48 |
gf712 | HeikoS the doc you just shared, is that the one that needed a one liner? | 16:53 |
@HeikoS | nope | 16:53 |
@HeikoS | I already sent that | 16:53 |
@HeikoS | this one needs more | 16:53 |
@HeikoS | I will fill it out | 16:53 |
@HeikoS | but you should have a read | 16:53 |
gf712 | ok, I will keep an out on it | 16:54 |
gf712 | eye* | 16:54 |
gf712 | HeikoS: lisitsyn: just added SG_OPTIONS for readability | 16:54 |
gf712 | I also hid the static_asserts from msvc | 16:55 |
@HeikoS | gf712Gil, while working on connecting Shogun to @open_ml, wrote a nice blog post about Shogun's new language agnostic parameter interface. https://gf712.github.io/shogun/enable_meta_learning/extend_python_getters.html | 16:55 |
@HeikoS | good tweet? | 16:55 |
@HeikoS | or I change it to: | 16:57 |
@HeikoS | Gil, while working on connecting Shogun to @open_ml, wrote a nice blog post about the details of building a language agnostic parameter interface. | 16:57 |
@HeikoS | gf712 good? | 16:57 |
@HeikoS | I gotta go now | 16:57 |
@HeikoS | will post it | 16:57 |
@HeikoS | if you dont like send me an email and I will update it | 16:58 |
gf712 | No worries sounds good! | 16:59 |
-!- zxtx [~zxtx@sunnythinking.org] has quit [Quit: ZNC - http://znc.in] | 17:04 | |
-!- zxtx [~zxtx@sunnythinking.org] has joined #shogun | 17:13 | |
-!- HeikoS [5534e6fd@gateway/web/cgi-irc/kiwiirc.com/ip.85.52.230.253] has quit [Ping timeout: 264 seconds] | 17:18 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection] | 17:38 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun | 17:42 | |
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host] | 17:42 | |
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun | 17:42 | |
-!- mode/#shogun [+o wiking] by ChanServ | 17:42 | |
-!- wiking [~wiking@huwico/staff/wiking] has quit [Client Quit] | 17:47 | |
-!- zxtx [~zxtx@sunnythinking.org] has quit [Quit: ZNC - http://znc.in] | 17:51 | |
-!- gf712 [c13cdcfd@gateway/web/freenode/ip.193.60.220.253] has quit [Ping timeout: 256 seconds] | 18:03 | |
-!- Reinhard [6757a406@gateway/web/freenode/ip.103.87.164.6] has joined #shogun | 19:23 | |
-!- Reinhard [6757a406@gateway/web/freenode/ip.103.87.164.6] has quit [Client Quit] | 19:23 | |
-!- taichi303j [672c33dc@gateway/web/freenode/ip.103.44.51.220] has joined #shogun | 19:56 | |
-!- taichi303j [672c33dc@gateway/web/freenode/ip.103.44.51.220] has quit [Ping timeout: 256 seconds] | 20:01 | |
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]] | 20:41 | |
-!- besser82 [~besser82@fedora/besser82] has joined #shogun | 20:41 | |
-!- mode/#shogun [+o besser82] by ChanServ | 20:41 | |
-!- besser82 [~besser82@fedora/besser82] has quit [Quit: Freedom, Friends, Features, First [fedoraproject.org]] | 20:55 | |
-!- besser82 [~besser82@fedora/besser82] has joined #shogun | 20:55 | |
-!- mode/#shogun [+o besser82] by ChanServ | 20:55 | |
-!- zxtx [~zxtx@sunnythinking.org] has joined #shogun | 20:58 | |
-!- zxtx [~zxtx@sunnythinking.org] has quit [Quit: ZNC - http://znc.in] | 22:36 | |
-!- zxtx [~zxtx@sunnythinking.org] has joined #shogun | 22:38 | |
-!- zxtx [~zxtx@sunnythinking.org] has quit [Quit: ZNC - http://znc.in] | 22:49 | |
-!- zxtx [~zxtx@sunnythinking.org] has joined #shogun | 22:50 | |
--- Log closed Sat Mar 02 00:00:33 2019 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!