Open in new window / Try shogun cloud
--- Log opened Mon Aug 22 00:00:16 2016
-!- OXPHOS [4441a916@gateway/web/freenode/ip.] has joined #shogun07:29
@wikingOXPHOS: y008:10
OXPHOSwiking: hey08:29
-!- OXPHOS [4441a916@gateway/web/freenode/ip.] has quit [Ping timeout: 264 seconds]08:58
Saurabh7wiking: there ?11:13
Saurabh7wiking: was thinking if I should make a cpp for TreeMachine.h, to put the generate_matrix there11:29
Saurabh7since eigen is used11:29
@wikingsounds reasonable11:31
Saurabh7ah crap its treemachine is templated11:54
@wikingSaurabh7, why's that a problem?12:48
@wikingi mean actually12:48
@wikingwould be great12:48
@wikingto have a random rotation12:48
@wikingof not only float64_t12:49
@wikingi mean this could be a simple linalg module right/12:49
@wikingi mena a random rotation matrix itself12:49
Saurabh7yes it can be anywhere12:49
@wikingas it actually depends on linalg operators right?12:50
@wikingand actually would be great to have a version12:50
@wikingthat could use later linalg with gpu backend12:51
@wiking(as the paper suggests that with inputs of bigger feature sets than 100012:51
@wikingit'd be better to use gpu)12:51
@wikingsee what i mean?12:51
Saurabh7yes Larger rotation matrices can be computed with GPU assistance12:51
@wikingi suggest12:51
@wikinglet's create actually a patch for linalg backend :D12:51
@wikingand ping OXPHOS there12:52
@wikingand it's a linalg operator12:52
@wikingto create a RR matrix12:52
Saurabh7so i move this PR there ?12:52
@wikingso close this PR12:52
@wikingit's a good start but12:52
@wikingwe need to create a branch12:52
@wikingbased of her linalg feature branch12:53
@wikinglemme see12:53
Saurabh7ok and that colwise() thing too, I couldn't find that one in linalg too12:53
@wikingok so use this as a base one for your PRs12:54
@wikingand lets do it from there12:54
@wikingand then we check with OXPHOS12:54
@wikinghow she likes it12:54
@wikinglemme look into the whole story of randoms12:54
@wikingshit :(12:57
@wikingok we should add actually a random generator for gpu matrix12:57
@wikinganyhow that's not important now12:57
@wikingjust to ship this into linalg12:57
@wikingso there we can leverage the gpu backend12:57
@wikingi reckon there are a lot of operators not supported atm12:58
@wiking(QR decomposition etc....)12:58
@wikingbut it'll get there12:58
Saurabh7uhm yes some more operators are needed13:01
@wikingSaurabh7: that's ok... we can start from somewhere13:36
Saurabh7ye sure:)13:37
Saurabh7wiking: that feature branch might need rebase13:38
@wikingi can rebase it13:43
@wikingthat's no problem13:43
@wikingSaurabh7, oh wait :)13:45
Saurabh7lol its showing heikos comments13:45
@wikingcouldn't you just take the13:45
@wikinglast 2 commits13:46
@wikingthat you did13:46
@wikinggit format-patch -213:46
@wikingthen checkout the feature branch13:46
@wikingfrom that create a new branch13:46
@wikingapply the 2 patches13:46
@wikingand create the pr :)13:46
@wikingi closed this one13:46
Saurabh7wiking: yes the branch missing quite some changes to randomforest tho13:47
Saurabh7and also to distance13:47
@wikinglemme try to rebase13:53
@wikingSaurabh7, we have a little problem14:07
@wikingthis does not use linalg::dot14:08
Saurabh7yes it doesnt14:08
@wikingis it because it is a CDotFeautres?14:08
Saurabh7inside dotfeatures->dot i think cmath:dot is used14:09
@wikingok that'll need to change14:09
@wikingbut that's ok14:09
Saurabh7wiking: I will just send the PR with commits, not much is overlapping in this case14:10
Saurabh7* with 2 commits14:10
@wikingok i mean i've managed to rebase the branch14:10
@wikingbut i would need to double check with OXPHOS14:10
@wikingbefore overwriting her stuff14:10
@wikingneeded some pretty straightforward merges to be done14:11
@wikingbut still wanna make sure that she is ok with them14:11
@wikingcould you do those 2 commits for RRforest14:11
@wikingon top of her branch?14:11
Saurabh7yes will do ,14:12
@wikingthnx a lot14:16
Saurabh7done, except my branch is called "linala" :P14:24
@wikingSaurabh7, added some comments14:28
@wikingas now you are tailoring the matrix operations for eigen14:28
@wikingwhere that branch already should have the basic operations for matrix14:28
@wikingso those should be used instead of direct eigen calls14:28
-!- sanuj [~sanuj@] has joined #shogun14:35
Saurabh7ok will replace them14:36
sanujSaurabh7, do you get the mail if i mail to shogun-list?14:40
sanujno right?14:40
@wikingmailing list if foobar?14:46
Saurabh7sanuj: I am subscribed why wont I ? :)14:47
-!- sanuj [~sanuj@] has quit [Ping timeout: 276 seconds]14:50
CaBahi everyone14:50
Saurabh7CaBa: hey14:51
CaBa <- i'm slightly confused with rows and columns and SGMatrices...14:59
CaBathis matrix should have 5 rows and 2 columns...14:59
CaBaam 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
@wikingCaBa: in shogun the data is columnar oriented15:01
@wikingit has been like this for the last 15 years15:01
@wikingwhile lately other libraries start to realise why is it better like this :P15:02
@wiking    SGMatrix<float64_t> test_matrix(5,2);15:02
CaBawiking: are you talking about how the matrix is represented in memory?15:02
@wiking = 5 columns and 2 rows15:02
@wikingmmm no15:03
@wikingyeah that should be actually 2 columns and 5 rows15:03
@wikingbut the columns are actually rows15:03
@wikingin memory15:03
@wikingbut you dont care about that15:03
CaBathere is no such thing as columns and rows in memory...15:03
@wikingso i dont get what's the problem15:03
@wikingCaBa: yes there is15:03
@wiking :)15:03
@wikingbut yeah nevermind115:04
@wikingso what's the confusion?15:04
CaBabut i do mind15:04
CaBawell the confusion is that the constructor doc says (nrows, ncols) and the CSV representation is transposed15:04
@wikingi see from the comment15:05
@wikingthat your output is actually15:05
@wikinglemme check15:05
@wikingwhere does the transposition happens15:05
@wikingCaBa, ok so apparently we think in csv that the 'standard' is row oriented matrix15:15
CaBawiking: so the transposition is only an output matter?15:16
@wikinghence yep15:16
@wikingso it'll just transpose the output15:16
@wikingnot the matrix itself15:16
@wikingso if you do15:16
@wikingthen you should get the right output format15:17
@wikingbut it will not touch the matrix itself15:17
@wikingyou should get the right (5x2) csv15:17
@wikingbut could you please doublecheck it plz15:17
@wikingbut yeah actually i have a refactor already in place in a feature branch for IO15:18
@wikingbut i had other stuff to be fixed first15:19
@wiking(see windows and javascript15:19
@wikingbut will try to clear up the chaos with IO15:19
CaBawiking: with set_transpose(true) wirred things happen15:19
@wikingwhat happened?15:20
@wikingCaBa, we apparently have a unittest for csvfile15:20
@wikinglemme check how's that passing at all15:21
@wikingCaBa, btw15:21
CaBawiking: dimensionality is right, but now i have duplicate values ;-)15:21
@wikingcan you please try this15:22
@wikingi mean its very stupid15:22
@wikingbut still15:22
@wikingout_file.set_matrix(test_matrix.matrix, test_matrix.num_cols, test_matrix.num_rows);15:23
@wiking(instead of;15:23
@wikingthis is just a shitty patch for your problem15:25
@wikingbut yeah IO backend obviously needs fixing15:25
CaBawiking: that yields a new version15:27
CaBareading memory that it shouldn't be reading..15:27
@wikingand if you flip the args?15:27
CaBaah wait15:27
CaBathat was probably the second case with transposed on...15:28
@wikingyeah dont turn that on15:29
CaBaanyways, without transpose...15:29
CaBai now get a different representation of my memory15:30
CaBano we are talking "by row" vs "by column" representation of matrices15:30
@wikingCaBa, btw15:32
@wikingtest_matrix[i] returns a row15:32
@wikingright? :)15:32
@wikingi mean what should it retunr?15:32
@wikingi mean in this case column15:32
@wikingbut stull15:32
@wikingyou are not setting the whole matrix15:32
-!- sanuj [~sanuj@] has joined #shogun15:32
@wikingwith that for loop15:32
@wikingok yeah15:33
CaBawiking: yes i am... the subscript operator gives access to the linear in-memory representation15:33
@wikingactually you should be able to15:33
@wikingbut now the output is good no? :)15:34
CaBano, i think save() gives the correct output15:35
@wikingshouldn't you get a 5x2 output15:35
@wikingi mean with a SGMatrix<float64> x(5,2);15:36
CaBawiking: it delinearizes the wrong way15:40
CaBawhatever - i don't mind much about the output, i just wanted to make sure it's just an output related confusion15:42
@wikingit is15:43
@wikingbut a good catch15:43
@wikingin memory it should be in a good way15:43
@wikingbut yeah seems the serialization is totally fucked up15:43
@wikingjesus this library :)15:43
@wikingno wonder nobody uses it15:43
@wikingwe cannot even get CSV in/out normally15:43
@wikinglisitsyn, ^ :D15:43
@wikinggsomix wrote that15:44
@wikingwhere is he? :D15:44
lisitsynwiking: married15:47
lisitsyn= died15:47
sanujlisitsyn, lambday is about to die soon then15:50
lisitsynwalking dead15:50
sanujlisitsyn, i have started reading deeplearningbook.org15:51
sanujit's good15:51
-!- sanuj [~sanuj@] has quit [Ping timeout: 265 seconds]16:14
-!- sanuj [~sanuj@] has joined #shogun17:09
-!- shogun-buildbot [] has quit [Ping timeout: 240 seconds]18:07
-!- shogun-buildbot [] has joined #shogun18:07
-!- sanuj [~sanuj@] has quit [Ping timeout: 244 seconds]18:22
-!- sanuj [~sanuj@] has joined #shogun18:24
sanujlisitsyn, there?18:58
-!- sanuj [~sanuj@] 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 #shogun21:09
--- Log closed Tue Aug 23 00:00:17 2016