--- 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!