--- Log opened Tue Jul 24 00:00:22 2018 | ||
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 240 seconds] | 00:06 | |
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has joined #shogun | 00:09 | |
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 256 seconds] | 00:20 | |
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has quit [Ping timeout: 256 seconds] | 00:39 | |
-!- sonney2k [~shogun@7nn.de] has joined #shogun | 07:05 | |
-!- sonney2k_ [~shogun@7nn.de] has quit [Ping timeout: 244 seconds] | 07:05 | |
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has joined #shogun | 11:27 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 11:27 | |
@wiking | boom http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.5 | 11:34 |
---|---|---|
@wiking | Fix GeneralizedEigenSolver when requesting for eigenvalues only (0d15855abb30) | 11:34 |
@wiking | Fix MKL backend for symmetric eigenvalues on row-major matrices (4726d6a24f69) | 11:34 |
@wiking | Fix incorrect ldvt in LAPACKE call from JacobiSVD (88c4604601b9) | 11:34 |
@wiking | cool stuff | 11:34 |
@wiking | we should upgrade :) | 11:34 |
-!- sonney2k [~shogun@7nn.de] has quit [Ping timeout: 256 seconds] | 11:46 | |
-!- sonney2k [~shogun@7nn.de] has joined #shogun | 11:46 | |
@HeikoS | wiking: jojo | 11:52 |
@HeikoS | I have a few qs | 11:52 |
@wiking | shoot | 11:52 |
@HeikoS | about DotFeatures and DenseFeatures | 11:52 |
@HeikoS | I was working a bit on refactoring linear regression | 11:53 |
@HeikoS | see the PR | 11:53 |
@wiking | yeah | 11:53 |
@HeikoS | and I think it makes sense to add some minimal API to features | 11:53 |
@HeikoS | cov | 11:53 |
@HeikoS | gram | 11:53 |
@wiking | saw those movements | 11:53 |
@HeikoS | mean | 11:53 |
@wiking | yeye | 11:53 |
@HeikoS | things like this | 11:53 |
@wiking | yeah that's the thing | 11:53 |
@HeikoS | and then the idea would be | 11:53 |
@wiking | that we are pushing this back and forth for w ahile | 11:53 |
@wiking | *while :) | 11:53 |
@HeikoS | in dense features without subsets, this is implemented in batch mode, i.e. SIMD matrix operations | 11:53 |
@HeikoS | and if there are subsets, it does a loop procedure iterating over the vectors | 11:54 |
@HeikoS | now I think it would be nice to move this logic up into DotFeatures | 11:54 |
@wiking | yeye seen that | 11:54 |
@HeikoS | actually, it is already there partially | 11:54 |
@HeikoS | but there are some questions | 11:54 |
@wiking | well some stuff was there | 11:54 |
@wiking | yeah | 11:54 |
@HeikoS | DenseFeatures are templated | 11:54 |
@HeikoS | so I made the methods templated as well | 11:54 |
@HeikoS | SGMatrix<T> cov() | 11:54 |
@wiking | yep seen it | 11:54 |
@HeikoS | so that it respects the feature type | 11:54 |
@HeikoS | i.e. linear regression on 32bit IS actually doing 32 bit, also the matrix that is inverted | 11:55 |
@HeikoS | but DotFeatures is not templated | 11:55 |
@HeikoS | so all the dot products return 64bit | 11:55 |
@wiking | yeah | 11:55 |
@HeikoS | I also cannot make the cov method templated, since then it cannot be virtual | 11:55 |
@HeikoS | could make it a mixin? | 11:55 |
@HeikoS | but I dont know | 11:55 |
@wiking | imo dotfeatures are deliberately not templated | 11:55 |
@HeikoS | was fishing for comments | 11:55 |
@HeikoS | yeah exactly | 11:56 |
@wiking | i.e. that they hide the type | 11:56 |
@wiking | etc | 11:56 |
@HeikoS | but that means that all dot products are 64bit in result | 11:56 |
@HeikoS | i.e. covariance matrix is 64bit even for 16bit features | 11:56 |
@wiking | yeah | 11:56 |
@HeikoS | I can of course also make it SGMatrix<float64_t> CDenseFeatures::cov() | 11:56 |
@HeikoS | but does that make sense? | 11:56 |
@wiking | mmm not really | 11:56 |
@wiking | buuut | 11:57 |
@wiking | yeah lemme think a bit | 11:57 |
@wiking | and look at the .h | 11:57 |
@HeikoS | sure | 11:57 |
@HeikoS | the thing is that with the current thing, the interface only works with densefeatures | 11:57 |
@wiking | btw man | 11:57 |
@wiking | how's your drive gonna be from .uk? | 11:58 |
@wiking | you go via france to spain | 11:58 |
@wiking | ? | 11:58 |
@HeikoS | ah | 11:58 |
@HeikoS | germany, france, spain probably | 11:58 |
@HeikoS | ah no | 11:58 |
@HeikoS | actually | 11:58 |
@wiking | mmm | 11:58 |
@HeikoS | germany will be on the way and the next stop is italy | 11:58 |
@HeikoS | and then from there to spain | 11:58 |
@wiking | you cannot take things on the top of that thingy right? :) | 11:58 |
@wiking | your camper van | 11:58 |
@wiking | :> | 11:58 |
@HeikoS | haha | 11:58 |
@HeikoS | solar panels | 11:58 |
@HeikoS | no space | 11:58 |
@wiking | doh | 11:58 |
@wiking | do you have a hook? | 11:59 |
@HeikoS | why? nee to transport a boat? :D | 11:59 |
@wiking | yeah bingo | 11:59 |
@wiking | :D | 11:59 |
@HeikoS | nope, went for a van without one | 11:59 |
@HeikoS | hahahaha | 11:59 |
@HeikoS | mmmh, that might be tricky | 11:59 |
@wiking | uk has good selection of used/reasonably priced boats | 11:59 |
@wiking | :D | 11:59 |
@HeikoS | wiking: hahaha | 11:59 |
@HeikoS | wiking: btw there is another Q I had | 11:59 |
@HeikoS | so ther eis a method | 12:00 |
@HeikoS | template <typename ST> | 12:00 |
@HeikoS | SGVector<ST> CDenseFeatures<ST>::mean() const | 12:00 |
@HeikoS | and obviously, this needs to scale the sum by 1/N | 12:00 |
@HeikoS | now scale is not defined for bool say | 12:00 |
@HeikoS | so the linalg call fails | 12:00 |
@HeikoS | I was hoping to make this a compile time thing | 12:00 |
@HeikoS | like enable_if only if ST=floatingpoint | 12:00 |
@HeikoS | but that doesnt work | 12:00 |
@HeikoS | so now I am with a runtime check for non-float types raising an error | 12:00 |
@HeikoS | that sucks | 12:01 |
@wiking | mmmm | 12:01 |
@wiking | why does the compile time fails? | 12:01 |
@HeikoS | I would prefer to only define those methods if ST is floating point | 12:01 |
@wiking | i mean doesn't work? | 12:01 |
@HeikoS | the method is not templated | 12:01 |
@wiking | which? | 12:01 |
@HeikoS | mean | 12:01 |
@wiking | isn't it? | 12:01 |
@HeikoS | no the class is | 12:01 |
@wiking | oh i see | 12:01 |
@wiking | yeyey i see what you mean now | 12:02 |
@HeikoS | if we dont inherit the methods | 12:02 |
@wiking | mmmm | 12:02 |
@HeikoS | then I can make them templated | 12:02 |
@HeikoS | but | 12:02 |
@HeikoS | .... | 12:02 |
@wiking | static_assert? | 12:02 |
@HeikoS | does that work? | 12:02 |
@HeikoS | if enable_if doenst? | 12:02 |
@wiking | that should be compile time | 12:02 |
@HeikoS | I was thinking that yesterday | 12:02 |
@HeikoS | cool | 12:02 |
@HeikoS | let me try | 12:02 |
@wiking | i mean you do a static assert for a type in the function itself | 12:02 |
@wiking | lemme see if that actually works :D | 12:02 |
@wiking | HeikoS, https://stackoverflow.com/questions/4021981/use-static-assert-to-check-types-passed-to-macro | 12:03 |
@wiking | bingo? | 12:03 |
@wiking | :P | 12:03 |
@wiking | ok i'm off to lunch but will be back | 12:03 |
@HeikoS | ok enjoy! | 12:03 |
@wiking | in the meanwhile | 12:04 |
@wiking | https://www.youtube.com/watch?v=CZ_Z0Zfvsj0 | 12:04 |
@wiking | :) | 12:04 |
@HeikoS | let me know any thoughts you have about the 64bit dot features | 12:04 |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham808 | 12:04 |
@HeikoS | haha ok | 12:04 |
@HeikoS | will listen | 12:04 |
@wiking | it's just oldschool bristol music for ya | 12:04 |
@wiking | :) | 12:04 |
@wiking | since you talked about bristol | 12:04 |
@wiking | :P | 12:04 |
@wiking | btw in september there's a new waldeck album | 12:05 |
@wiking | and this shall be really nice | 12:05 |
@wiking | https://www.khm.at/en/visit/exhibitions/wesandersonandjumanmalouf2018/ | 12:05 |
@wiking | basically https://www.youtube.com/watch?time_continue=2&v=_vTQI6Vw5nY | 12:06 |
@wiking | anyhow lunch | 12:06 |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun | 12:20 | |
travis-ci | it's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/407537177 | 12:20 |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun [] | 12:20 | |
@HeikoS | static_assert no | 12:22 |
@HeikoS | CDenseFeatures<bool> is instantiated at the end of the file | 12:22 |
@HeikoS | always | 12:22 |
@HeikoS | so the assert fails always | 12:22 |
@HeikoS | I move to runtime for now :( | 12:22 |
@wiking | HeikoS, ah yeah that's the problem | 12:54 |
@wiking | :)))) | 12:54 |
@wiking | HeikoS, that we use templates in rather none standard way | 12:54 |
@wiking | :P | 12:54 |
@wiking | i.e. it's being compiled generated even when it's never been used | 12:55 |
@wiking | DenseFeatures<bool> | 12:55 |
@wiking | it's there | 12:55 |
@wiking | although probably not used anywhere | 12:55 |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham808 | 12:57 |
@HeikoS | yep | 12:58 |
@HeikoS | wiking: I am trying this now | 12:59 |
@HeikoS | I define | 12:59 |
@HeikoS | virtual float64_t CDotFeatures::dot(index_t lhs, index_t rhs) const | 12:59 |
@wiking | i mean you could define the function in the .h ?:) | 12:59 |
@wiking | although that would not help u | 12:59 |
@HeikoS | and then I overload it in CDenseFeatures | 12:59 |
@wiking | yeah we should maybe move all the dense stuff to .h? | 12:59 |
@HeikoS | and then I do | 12:59 |
@HeikoS | .... | 12:59 |
@HeikoS | result = SGMatrix<ST>(N, N); | 12:59 |
@HeikoS | ... | 12:59 |
@HeikoS | result(i, j) = dot(i, j); | 12:59 |
@wiking | mmm | 13:00 |
@HeikoS | the last one is implicit cast from float64_t to ST | 13:00 |
@wiking | so in densef there's no ranged dot? | 13:00 |
@wiking | i mean there is but this is prefered? | 13:00 |
@HeikoS | I cannot use any of those methods | 13:00 |
@HeikoS | because they are NOT CONST | 13:00 |
@wiking | hihi | 13:00 |
@wiking | coolio | 13:01 |
@HeikoS | nice eh? | 13:01 |
@HeikoS | because of this feature vector on the fly computation | 13:01 |
@wiking | they cannot be made const? | 13:01 |
@wiking | oh yeah i see | 13:01 |
@wiking | :) | 13:01 |
@HeikoS | needs refactoring of everything | 13:01 |
@wiking | yeah but even if refactor | 13:01 |
@wiking | how would you do it? | 13:01 |
@HeikoS | yeah well | 13:01 |
@HeikoS | features const | 13:01 |
@wiking | for the on the fly things | 13:01 |
@HeikoS | so this copies | 13:01 |
@wiking | : | 13:01 |
@wiking | :> | 13:01 |
@HeikoS | yeah well | 13:01 |
@wiking | yeah then memory blown | 13:01 |
@HeikoS | need to do it before | 13:02 |
@wiking | i mean thats the price of immutable | 13:02 |
@wiking | :) | 13:02 |
@HeikoS | I think we can have 2 apis | 13:02 |
@HeikoS | one const and one non const old stuff | 13:02 |
@HeikoS | what do you think of this implicit cast stuff? | 13:02 |
@HeikoS | so I can have the method in dotFeatures | 13:02 |
@HeikoS | but still I an have my efficient block methods in densefeatures | 13:03 |
@HeikoS | ah but it sucls | 13:03 |
@HeikoS | because then cov is not defined for dot features | 13:03 |
@HeikoS | i mean we have to decide | 13:03 |
@HeikoS | either all cov matrices are 64bit or not | 13:03 |
@HeikoS | if they are, we can use nice design and dot features | 13:03 |
@HeikoS | if we want their wordsize to make sense, i.e. match the features, the code needs to be in the templated feature class | 13:04 |
@HeikoS | maybe it is not that bad, having model types fixed | 13:05 |
@HeikoS | ... | 13:05 |
@HeikoS | ah but linalg | 13:05 |
@HeikoS | even if I say, ok linear reg is not float64 model | 13:05 |
@HeikoS | now | 13:05 |
@HeikoS | then the fuck is that if I use linalg to compute dot product of feature matrices | 13:06 |
@HeikoS | where feautre matrix is float32 | 13:06 |
@HeikoS | I basically need to copy the matrix, to convert it to 64 | 13:06 |
@HeikoS | so using float32 features | 13:07 |
@HeikoS | there is not method | 13:07 |
@HeikoS | float64 linalg::dot(float32,float32) | 13:07 |
@HeikoS | which means that our templated features | 13:07 |
@HeikoS | are baiscally meaningless | 13:08 |
@HeikoS | wiking: | 13:08 |
@wiking | yep yeop | 13:08 |
@HeikoS | i.e. it never really makes sense to go 32 bit | 13:08 |
@wiking | the point is | 13:08 |
@wiking | that it should be | 13:08 |
@wiking | :D | 13:08 |
@HeikoS | because we have to copy it anyways | 13:08 |
@wiking | i mean i see all your troubles here | 13:08 |
@HeikoS | but then the models need to be templated | 13:08 |
@wiking | but that's due to our bad design atm | 13:08 |
@wiking | because think about | 13:08 |
@HeikoS | I mean I can play around with stuff | 13:08 |
@HeikoS | make LRR a template | 13:08 |
@wiking | i mean people here (ds) | 13:08 |
@HeikoS | linearMachine a template | 13:09 |
@wiking | use csv and other formats | 13:09 |
@wiking | to store a dataset right? | 13:09 |
@HeikoS | lol yeah | 13:09 |
@wiking | "here" in the field of ds | 13:09 |
@wiking | so i mean think about that that we then read that into float64 | 13:09 |
@wiking | why? | 13:09 |
@wiking | float32 should be mooooore than enough | 13:09 |
@HeikoS | yep | 13:09 |
@wiking | and that's 50% less memory | 13:09 |
@wiking | okok i know you can have nowadays 1TB RAM | 13:09 |
@wiking | but still | 13:09 |
@wiking | you can have nowadays big datasets as well | 13:10 |
@HeikoS | it is the old story for me, machine not templated but features yes | 13:10 |
@wiking | so having that 0.5 multiplier is good | 13:10 |
@HeikoS | yes totally | 13:10 |
@HeikoS | especially for cov matrices | 13:10 |
@HeikoS | it is 4 | 13:10 |
@wiking | yep | 13:10 |
@wiking | so i mean i understand the pain | 13:10 |
@wiking | but maybe then just step one back | 13:10 |
@HeikoS | I dont see a way out that is the issue | 13:10 |
@wiking | and see the course that we could support on the end | 13:10 |
@HeikoS | I could try to prototype a rewrite of this | 13:10 |
@HeikoS | templated machine | 13:11 |
@HeikoS | and template type has to match feature template type | 13:11 |
@HeikoS | and then features only have | 13:11 |
@HeikoS | T dot(idx, idx) | 13:11 |
@HeikoS | we can still have things like DotFeatures vis this CRTP thingi | 13:11 |
@HeikoS | but the current codebase, i dont see a way out of this | 13:12 |
@wiking | yeah of course | 13:12 |
@HeikoS | the thing that everything is 64bit | 13:12 |
@wiking | the current needs haxingory | 13:12 |
@wiking | and we cast everything to 64 | 13:12 |
@wiking | ususaly | 13:12 |
@wiking | :DDD | 13:12 |
@wiking | but there's really no point | 13:12 |
@wiking | of using 64 bit | 13:12 |
@wiking | moooost of the time | 13:12 |
@wiking | as our input precision is way less | 13:12 |
@wiking | :DD | 13:12 |
@wiking | as we know | 13:13 |
@HeikoS | with shubham, so far we did this for perceptron | 13:13 |
@HeikoS | there is is ok | 13:13 |
@wiking | and i mean i dont know of any dataset (havne't seen one) | 13:13 |
@wiking | where that difference | 13:13 |
@HeikoS | as it is all implicitly casted | 13:13 |
@wiking | 64 vs 32 precision | 13:13 |
@HeikoS | but that was basically luck | 13:13 |
@wiking | made suge a HUGE difference | 13:13 |
@wiking | in the model | 13:13 |
@HeikoS | yeah defo | 13:13 |
@HeikoS | ok | 13:14 |
@HeikoS | break :) | 13:14 |
@wiking | kk | 13:14 |
-!- HeikoS [~heiko@2a00:23c5:e10a:5c00:51cf:933e:719e:8140] has quit [Read error: No route to host] | 13:15 | |
-!- HeikoS [~heiko@host86-146-49-234.range86-146.btcentralplus.com] has joined #shogun | 13:16 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 13:16 | |
-!- iglesiasg [6cab80bd@gateway/web/freenode/ip.108.171.128.189] has joined #shogun | 13:34 | |
iglesiasg | HeikoS: hey mate | 13:35 |
iglesiasg | HeikoS: http://shogun.ml/api/latest/classshogun_1_1CLinearRidgeRegression.html | 13:36 |
iglesiasg | HeikoS: y_i is vector as well, no? | 13:36 |
iglesiasg | all right | 13:38 |
iglesiasg | I am guessing no | 13:38 |
iglesiasg | https://en.wikipedia.org/wiki/Linear_regression | 13:38 |
iglesiasg | regression vs multiple regression | 13:38 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun | 13:58 | |
travis-ci | it's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/407555279 | 13:58 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun [] | 13:58 | |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham808 | 14:32 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun | 14:53 | |
travis-ci | it's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/407587362 | 14:53 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun [] | 14:53 | |
@HeikoS | iglesiasg: hola | 15:07 |
iglesiasg | hola hola | 15:08 |
@HeikoS | iglesiasg: what was the Q? :) | 15:16 |
@wiking | lol | 15:24 |
@wiking | i almost sent out a forthnightly reminder :D | 15:24 |
wuwei[m] | wiking: hi | 15:29 |
@wiking | wuwei[m], hello hello! | 15:29 |
wuwei[m] | wiking: could you review my prs :) | 15:30 |
@wiking | ! | 15:30 |
@wiking | indeed | 15:30 |
@wiking | wuwei[m], can u rebase plz https://github.com/shogun-toolbox/shogun/pull/4352 | 15:31 |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4352 synchronized by vinx13 | 15:33 |
-!- HeikoS [~heiko@host86-146-49-234.range86-146.btcentralplus.com] has quit [Ping timeout: 240 seconds] | 15:53 | |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4373 synchronized by shubham808 | 15:55 |
@wiking | wuwei[m], ok cool but i ahve a question | 15:55 |
@wiking | this is a bit annoying | 15:56 |
@wiking | https://github.com/shogun-toolbox/shogun/pull/4352/files#diff-8faba8d51b4c212ec2cf40d103697caaR1207 | 15:56 |
@wiking | so i mean first you do a dynamic cast of CLables to CDenseLabels | 15:56 |
@wiking | and then even though you call a view on the already specialized label | 15:57 |
@wiking | you again have to case it | 15:57 |
@wiking | :) | 15:57 |
@wiking | dense_labels->view(subset)->as<CDenseLabels>() | 15:57 |
wuwei[m] | ah yes | 15:57 |
wuwei[m] | the first cast is actally not needed | 15:58 |
@wiking | mmmm | 15:59 |
@wiking | this is clunky https://github.com/shogun-toolbox/shogun/pull/4352/files#diff-04136c04655708ea0382f14befa31343R323 | 16:00 |
@wiking | ;) | 16:00 |
wuwei[m] | mmm | 16:01 |
@wiking | meaning if you request a view of a CDenseFeatures<T> then you should get back a CDenseFeatures<T> not a CFeatures | 16:01 |
@wiking | i mean of course i understand the problem | 16:01 |
wuwei[m] | do u have any suggestions on this? | 16:01 |
@wiking | i'm just stating the problem :) | 16:01 |
@wiking | just thinking | 16:02 |
@wiking | i mean this adds more noise to the code | 16:02 |
@wiking | that is kind of unnecessary | 16:02 |
@wiking | i mean one way of course is to do the viewing in a different way | 16:02 |
@wiking | namely | 16:02 |
@wiking | FeatureView<T> (T features, index) | 16:02 |
@wiking | i mean that there's a templated method | 16:03 |
@wiking | where T is the feature type | 16:03 |
@wiking | that way you can always return T | 16:03 |
@wiking | the same type | 16:03 |
@wiking | :P | 16:03 |
wuwei[m] | yeah | 16:03 |
@wiking | wuwei[m], see what i mean? | 16:03 |
wuwei[m] | i see | 16:04 |
@wiking | i mean looking at how the .view is used atm | 16:04 |
@wiking | it feels that it adds quite a lot of noise | 16:04 |
@wiking | with all these .as<>() business | 16:04 |
wuwei[m] | yeah i knew the problem but just didnt have a better way :) | 16:05 |
@wiking | what do you think above the other idea? | 16:05 |
@wiking | so that a templated function would take care of this | 16:06 |
@wiking | i mean it doesn't even need to be part of any clase | 16:06 |
@wiking | *class | 16:06 |
@wiking | this could be just a utility function right? :) | 16:06 |
@wiking | something like | 16:06 |
wuwei[m] | yes | 16:06 |
@wiking | template<class T> view(const T in, const SGVector<index_t>& subset) ... | 16:07 |
@wiking | and this view method | 16:07 |
@wiking | woudl be the same for both features and labels | 16:07 |
@wiking | right? | 16:07 |
@wiking | i mean it's always in->duplicate() | 16:07 |
@wiking | subset | 16:07 |
@wiking | return | 16:07 |
@wiking | or? | 16:07 |
wuwei[m] | yeah cool | 16:07 |
@wiking | so this way we even lower the redundancy in the code | 16:07 |
@wiking | :P | 16:08 |
wuwei[m] | sure that's much better | 16:08 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has joined #shogun | 16:17 | |
travis-ci | it's Shubham Shukla's turn to pay the next round of drinks for the massacre he caused in shubham808/shogun: https://travis-ci.org/shubham808/shogun/builds/407621224 | 16:17 |
-!- travis-ci [~travis-ci@ec2-54-205-27-163.compute-1.amazonaws.com] has left #shogun [] | 16:17 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun | 16:36 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 16:36 | |
iglesiasg | HeikoS: the question atm is about bias not in w | 17:00 |
iglesiasg | HeikoS: I left more details in github | 17:00 |
-!- iglesiasg [6cab80bd@gateway/web/freenode/ip.108.171.128.189] has quit [Quit: Page closed] | 17:05 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds] | 17:06 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun | 17:33 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:33 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 260 seconds] | 17:39 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun | 17:40 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:40 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Client Quit] | 17:43 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun | 17:46 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 17:46 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds] | 17:51 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has joined #shogun | 18:03 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 18:03 | |
-!- HeikoS [~heiko@cpc76738-dals23-2-0-cust530.20-2.cable.virginm.net] has quit [Ping timeout: 256 seconds] | 19:10 | |
@sukey | [https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/4372 merged by vigsterkr | 19:24 |
@sukey | [https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/f5eacbbc4e6b1071ad2199f274e9b9222e56ea61 by vigsterkr | 19:24 |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun | 20:14 | |
travis-ci | it's Wuwei Lin's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/407713686 | 20:15 |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun [] | 20:15 | |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has joined #shogun | 20:25 | |
travis-ci | it's Wuwei Lin's turn to pay the next round of drinks for the massacre he caused in shogun-toolbox/shogun: https://travis-ci.org/shogun-toolbox/shogun/builds/407713686 | 20:25 |
-!- travis-ci [~travis-ci@ec2-54-205-139-196.compute-1.amazonaws.com] has left #shogun [] | 20:25 | |
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has joined #shogun | 20:52 | |
-!- iglesiasg [~iglesias@f119189.upc-f.chello.nl] has quit [Ping timeout: 260 seconds] | 22:41 | |
--- Log closed Wed Jul 25 00:00:24 2018 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!