| --- Log opened Mon Aug 22 00:00:16 2016 | ||
| -!- OXPHOS [4441a916@gateway/web/freenode/ip.68.65.169.22] has joined #shogun | 07:29 | |
| @wiking | OXPHOS: y0 | 08:10 | 
|---|---|---|
| OXPHOS | wiking: hey | 08:29 | 
| -!- OXPHOS [4441a916@gateway/web/freenode/ip.68.65.169.22] has quit [Ping timeout: 264 seconds] | 08:58 | |
| Saurabh7 | wiking: there ? | 11:13 | 
| @wiking | yep | 11:20 | 
| Saurabh7 | wiking: was thinking if I should make a cpp for TreeMachine.h, to put the generate_matrix there | 11:29 | 
| Saurabh7 | since eigen is used | 11:29 | 
| @wiking | yeah | 11:31 | 
| @wiking | sounds reasonable | 11:31 | 
| Saurabh7 | ah crap its treemachine is templated | 11:54 | 
| @wiking | Saurabh7, why's that a problem? | 12:48 | 
| @wiking | i mean actually | 12:48 | 
| @wiking | would be great | 12:48 | 
| @wiking | to have a random rotation | 12:48 | 
| @wiking | of not only float64_t | 12:49 | 
| @wiking | i mean this could be a simple linalg module right/ | 12:49 | 
| @wiking | i mena a random rotation matrix itself | 12:49 | 
| @wiking | :) | 12:49 | 
| Saurabh7 | yes it can be anywhere | 12:49 | 
| @wiking | as it actually depends on linalg operators right? | 12:50 | 
| @wiking | and actually would be great to have a version | 12:50 | 
| @wiking | that could use later linalg with gpu backend | 12:51 | 
| @wiking | (as the paper suggests that with inputs of bigger feature sets than 1000 | 12:51 | 
| @wiking | it'd be better to use gpu) | 12:51 | 
| @wiking | see what i mean? | 12:51 | 
| Saurabh7 | yes Larger rotation matrices can be computed with GPU assistance | 12:51 | 
| @wiking | so | 12:51 | 
| @wiking | i suggest | 12:51 | 
| @wiking | let's create actually a patch for linalg backend :D | 12:51 | 
| @wiking | and ping OXPHOS there | 12:52 | 
| @wiking | and it's a linalg operator | 12:52 | 
| @wiking | to create a RR matrix | 12:52 | 
| Saurabh7 | so i move this PR there ? | 12:52 | 
| @wiking | ok | 12:52 | 
| @wiking | so close this PR | 12:52 | 
| @wiking | it's a good start but | 12:52 | 
| @wiking | we need to create a branch | 12:52 | 
| @wiking | based of her linalg feature branch | 12:53 | 
| @wiking | lemme see | 12:53 | 
| Saurabh7 | ok and that colwise() thing too, I couldn't find that one in linalg too | 12:53 | 
| @wiking | https://github.com/shogun-toolbox/shogun/tree/feature/linalg_refactor | 12:54 | 
| @wiking | ok so use this as a base one for your PRs | 12:54 | 
| @wiking | and lets do it from there | 12:54 | 
| @wiking | ok? | 12:54 | 
| Saurabh7 | yep | 12:54 | 
| @wiking | and then we check with OXPHOS | 12:54 | 
| @wiking | how she likes it | 12:54 | 
| @wiking | lemme look into the whole story of randoms | 12:54 | 
| @wiking | https://github.com/viennacl/viennacl-dev/issues/128 | 12:57 | 
| @wiking | shit :( | 12:57 | 
| @wiking | ok we should add actually a random generator for gpu matrix | 12:57 | 
| @wiking | http://cas.ee.ic.ac.uk/people/dt10/research/rngs-gpu-mwc64x.html | 12:57 | 
| @wiking | :) | 12:57 | 
| @wiking | anyhow that's not important now | 12:57 | 
| @wiking | just to ship this into linalg | 12:57 | 
| @wiking | so there we can leverage the gpu backend | 12:57 | 
| @wiking | i reckon there are a lot of operators not supported atm | 12:58 | 
| @wiking | (QR decomposition etc....) | 12:58 | 
| @wiking | but it'll get there | 12:58 | 
| Saurabh7 | uhm yes some more operators are needed | 13:01 | 
| Saurabh7 | cl | 13:20 | 
| @wiking | Saurabh7: that's ok... we can start from somewhere | 13:36 | 
| @wiking | :) | 13:36 | 
| Saurabh7 | ye sure:) | 13:37 | 
| Saurabh7 | wiking: that feature branch might need rebase | 13:38 | 
| @wiking | i can rebase it | 13:43 | 
| @wiking | that's no problem | 13:43 | 
| @wiking | Saurabh7, oh wait :) | 13:45 | 
| Saurabh7 | lol its showing heikos comments | 13:45 | 
| @wiking | couldn't you just take the | 13:45 | 
| @wiking | last 2 commits | 13:46 | 
| @wiking | that you did | 13:46 | 
| @wiking | like | 13:46 | 
| @wiking | git format-patch -2 | 13:46 | 
| @wiking | then checkout the feature branch | 13:46 | 
| @wiking | from that create a new branch | 13:46 | 
| @wiking | apply the 2 patches | 13:46 | 
| @wiking | and create the pr :) | 13:46 | 
| @wiking | i closed this one | 13:46 | 
| Saurabh7 | wiking: yes the branch missing quite some changes to randomforest tho | 13:47 | 
| Saurabh7 | and also to distance | 13:47 | 
| @wiking | mmm | 13:52 | 
| @wiking | lemme try to rebase | 13:53 | 
| @wiking | Saurabh7, we have a little problem | 14:07 | 
| @wiking | https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/distance/EuclideanDistance.cpp#L94 | 14:08 | 
| @wiking | this does not use linalg::dot | 14:08 | 
| @wiking | right? | 14:08 | 
| Saurabh7 | yes it doesnt | 14:08 | 
| @wiking | is it because it is a CDotFeautres? | 14:08 | 
| Saurabh7 | inside dotfeatures->dot i think cmath:dot is used | 14:09 | 
| @wiking | ok that'll need to change | 14:09 | 
| @wiking | but that's ok | 14:09 | 
| Saurabh7 | wiking: I will just send the PR with commits, not much is overlapping in this case | 14:10 | 
| Saurabh7 | * with 2 commits | 14:10 | 
| @wiking | ok i mean i've managed to rebase the branch | 14:10 | 
| @wiking | but i would need to double check with OXPHOS | 14:10 | 
| @wiking | before overwriting her stuff | 14:10 | 
| @wiking | :))) | 14:11 | 
| @wiking | needed some pretty straightforward merges to be done | 14:11 | 
| @wiking | but still wanna make sure that she is ok with them | 14:11 | 
| @wiking | could you do those 2 commits for RRforest | 14:11 | 
| @wiking | on top of her branch? | 14:11 | 
| Saurabh7 | yes will do , | 14:12 | 
| @wiking | thnx a lot | 14:16 | 
| Saurabh7 | done, except my branch is called "linala" :P | 14:24 | 
| @wiking | ok | 14:28 | 
| @wiking | Saurabh7, added some comments | 14:28 | 
| @wiking | as now you are tailoring the matrix operations for eigen | 14:28 | 
| @wiking | where that branch already should have the basic operations for matrix | 14:28 | 
| @wiking | there | 14:28 | 
| @wiking | so those should be used instead of direct eigen calls | 14:28 | 
| -!- sanuj [~sanuj@117.220.49.100] has joined #shogun | 14:35 | |
| Saurabh7 | ok will replace them | 14:36 | 
| sanuj | Saurabh7, do you get the mail if i mail to shogun-list? | 14:40 | 
| sanuj | no right? | 14:40 | 
| @wiking | mailing list if foobar? | 14:46 | 
| Saurabh7 | sanuj: I am subscribed why wont I ? :) | 14:47 | 
| -!- sanuj [~sanuj@117.220.49.100] has quit [Ping timeout: 276 seconds] | 14:50 | |
| CaBa | hi everyone | 14:50 | 
| Saurabh7 | CaBa: hey | 14:51 | 
| CaBa | http://pastebin.com/EGzpVx1b <- i'm slightly confused with rows and columns and SGMatrices... | 14:59 | 
| CaBa | this matrix should have 5 rows and 2 columns... | 14:59 | 
| CaBa | am i missing something here? CCSVfile has a bool transpose member, which should be false by default... also it doesn't say "transposes output" but something like "assumes input to be transposed" in the docs... | 15:00 | 
| CaBa | *confused* | 15:00 | 
| @wiking | CaBa: in shogun the data is columnar oriented | 15:01 | 
| @wiking | it has been like this for the last 15 years | 15:01 | 
| @wiking | while lately other libraries start to realise why is it better like this :P | 15:02 | 
| @wiking | SGMatrix<float64_t> test_matrix(5,2); | 15:02 | 
| CaBa | wiking: are you talking about how the matrix is represented in memory? | 15:02 | 
| @wiking | = 5 columns and 2 rows | 15:02 | 
| @wiking | mmm no | 15:03 | 
| @wiking | yeah that should be actually 2 columns and 5 rows | 15:03 | 
| @wiking | but the columns are actually rows | 15:03 | 
| @wiking | in memory | 15:03 | 
| @wiking | but you dont care about that | 15:03 | 
| CaBa | there is no such thing as columns and rows in memory... | 15:03 | 
| @wiking | so i dont get what's the problem | 15:03 | 
| @wiking | CaBa: yes there is | 15:03 | 
| @wiking | :) | 15:03 | 
| CaBa | ?? | 15:04 | 
| @wiking | but yeah nevermind1 | 15:04 | 
| @wiking | so what's the confusion? | 15:04 | 
| CaBa | but i do mind | 15:04 | 
| CaBa | well the confusion is that the constructor doc says (nrows, ncols) and the CSV representation is transposed | 15:04 | 
| @wiking | ? | 15:04 | 
| @wiking | i see from the comment | 15:05 | 
| @wiking | that your output is actually | 15:05 | 
| @wiking | 2x5 | 15:05 | 
| @wiking | ok | 15:05 | 
| @wiking | lemme check | 15:05 | 
| @wiking | where does the transposition happens | 15:05 | 
| CaBa | thanks | 15:15 | 
| @wiking | CaBa, ok so apparently we think in csv that the 'standard' is row oriented matrix | 15:15 | 
| CaBa | wiking: so the transposition is only an output matter? | 15:16 | 
| @wiking | hence yep | 15:16 | 
| @wiking | so it'll just transpose the output | 15:16 | 
| @wiking | not the matrix itself | 15:16 | 
| @wiking | so if you do | 15:16 | 
| @wiking | out_file.set_transpose(true); | 15:16 | 
| @wiking | then you should get the right output format | 15:17 | 
| @wiking | but it will not touch the matrix itself | 15:17 | 
| @wiking | you should get the right (5x2) csv | 15:17 | 
| @wiking | but could you please doublecheck it plz | 15:17 | 
| @wiking | but yeah actually i have a refactor already in place in a feature branch for IO | 15:18 | 
| @wiking | but i had other stuff to be fixed first | 15:19 | 
| @wiking | (see windows and javascript | 15:19 | 
| @wiking | but will try to clear up the chaos with IO | 15:19 | 
| CaBa | wiking: with set_transpose(true) wirred things happen | 15:19 | 
| @wiking | lolface | 15:20 | 
| @wiking | what happened? | 15:20 | 
| @wiking | CaBa, we apparently have a unittest for csvfile | 15:20 | 
| @wiking | lemme check how's that passing at all | 15:21 | 
| @wiking | :))) | 15:21 | 
| CaBa | hrhr | 15:21 | 
| CaBa | wiking: http://pastebin.com/KP9nXqtR | 15:21 | 
| @wiking | CaBa, btw | 15:21 | 
| CaBa | wiking: dimensionality is right, but now i have duplicate values ;-) | 15:21 | 
| @wiking | can you please try this | 15:22 | 
| @wiking | i mean its very stupid | 15:22 | 
| @wiking | but still | 15:22 | 
| CaBa | ^^ | 15:22 | 
| @wiking | out_file.set_matrix(test_matrix.matrix, test_matrix.num_cols, test_matrix.num_rows); | 15:23 | 
| @wiking | :) | 15:23 | 
| @wiking | (instead of test_matrix.save(&out_file); | 15:23 | 
| @wiking | this is just a shitty patch for your problem | 15:25 | 
| @wiking | but yeah IO backend obviously needs fixing | 15:25 | 
| CaBa | wiking: that yields a new version | 15:27 | 
| CaBa | 0,5,6.947329467503763e-310,6.054570769733804e-310,0 | 15:27 | 
| CaBa | 1,6,6.947329468445254e-310,0,0 | 15:27 | 
| CaBa | reading memory that it shouldn't be reading.. | 15:27 | 
| @wiking | muhaha | 15:27 | 
| @wiking | and if you flip the args? | 15:27 | 
| CaBa | ah wait | 15:27 | 
| CaBa | that was probably the second case with transposed on... | 15:28 | 
| @wiking | yeah dont turn that on | 15:29 | 
| @wiking | :) | 15:29 | 
| CaBa | anyways, without transpose... | 15:29 | 
| CaBa | 0,1 | 15:29 | 
| CaBa | 2,3 | 15:29 | 
| CaBa | 4,5 | 15:29 | 
| CaBa | 6,7 | 15:29 | 
| CaBa | 8,9 | 15:30 | 
| CaBa | i now get a different representation of my memory | 15:30 | 
| CaBa | no we are talking "by row" vs "by column" representation of matrices | 15:30 | 
| CaBa | *now | 15:30 | 
| @wiking | CaBa, btw | 15:32 | 
| @wiking | test_matrix[i] returns a row | 15:32 | 
| @wiking | right? :) | 15:32 | 
| CaBa | shouldn't | 15:32 | 
| @wiking | i mean what should it retunr? | 15:32 | 
| @wiking | i mean in this case column | 15:32 | 
| CaBa | T& | 15:32 | 
| @wiking | but stull | 15:32 | 
| @wiking | still | 15:32 | 
| @wiking | you are not setting the whole matrix | 15:32 | 
| -!- sanuj [~sanuj@117.220.49.100] has joined #shogun | 15:32 | |
| @wiking | with that for loop | 15:32 | 
| @wiking | ok yeah | 15:33 | 
| CaBa | wiking: yes i am... the subscript operator gives access to the linear in-memory representation | 15:33 | 
| @wiking | actually you should be able to | 15:33 | 
| @wiking | but now the output is good no? :) | 15:34 | 
| CaBa | no, i think save() gives the correct output | 15:35 | 
| @wiking | shouldn't you get a 5x2 output | 15:35 | 
| @wiking | ? | 15:35 | 
| @wiking | i mean with a SGMatrix<float64> x(5,2); | 15:36 | 
| CaBa | wiking: it delinearizes the wrong way | 15:40 | 
| CaBa | wiking: http://pastebin.com/qdcMt0es | 15:40 | 
| CaBa | whatever - i don't mind much about the output, i just wanted to make sure it's just an output related confusion | 15:42 | 
| @wiking | it is | 15:43 | 
| @wiking | but a good catch | 15:43 | 
| @wiking | :)))) | 15:43 | 
| @wiking | in memory it should be in a good way | 15:43 | 
| @wiking | but yeah seems the serialization is totally fucked up | 15:43 | 
| @wiking | :)))) | 15:43 | 
| @wiking | jesus this library :) | 15:43 | 
| @wiking | no wonder nobody uses it | 15:43 | 
| @wiking | we cannot even get CSV in/out normally | 15:43 | 
| @wiking | lisitsyn, ^ :D | 15:43 | 
| lisitsyn | meh | 15:44 | 
| lisitsyn | rewrite | 15:44 | 
| @wiking | yep | 15:44 | 
| @wiking | gsomix wrote that | 15:44 | 
| @wiking | where is he? :D | 15:44 | 
| @wiking | :)) | 15:44 | 
| lisitsyn | wiking: married | 15:47 | 
| lisitsyn | :D | 15:47 | 
| lisitsyn | = died | 15:47 | 
| @wiking | :>>>>> | 15:48 | 
| sanuj | lisitsyn, lambday is about to die soon then | 15:50 | 
| lisitsyn | walking dead | 15:50 | 
| sanuj | :D | 15:50 | 
| sanuj | lisitsyn, i have started reading deeplearningbook.org | 15:51 | 
| sanuj | it's good | 15:51 | 
| -!- sanuj [~sanuj@117.220.49.100] has quit [Ping timeout: 265 seconds] | 16:14 | |
| -!- sanuj [~sanuj@117.220.49.100] has joined #shogun | 17:09 | |
| -!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Ping timeout: 240 seconds] | 18:07 | |
| -!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun | 18:07 | |
| -!- sanuj [~sanuj@117.220.49.100] has quit [Ping timeout: 244 seconds] | 18:22 | |
| -!- sanuj [~sanuj@117.220.49.100] has joined #shogun | 18:24 | |
| sanuj | lisitsyn, there? | 18:58 | 
| -!- sanuj [~sanuj@117.220.49.100] has quit [Remote host closed the connection] | 19:53 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-zwjvdqctftciggcl] has quit [Ping timeout: 260 seconds] | 21:05 | |
| -!- Saurabh7 [Saurabh7@gateway/shell/panicbnc/x-tncuxhokicjeekbn] has joined #shogun | 21:09 | |
| --- Log closed Tue Aug 23 00:00:17 2016 | ||
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!