IRC logs of #shogun for Thursday, 2016-06-02

--- Log opened Thu Jun 02 00:00:22 2016
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun00:15
-!- mode/#shogun [+o HeikoS] by ChanServ00:15
-!- sonne|osx [~sonne@x4db41800.dyn.telefonica.de] has quit [Quit: sonne|osx]00:22
@HeikoSSaurabh7: hi00:34
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Ping timeout: 240 seconds]01:25
-!- besser82 [~besser82@fedora/besser82] has joined #shogun01:40
-!- mode/#shogun [+o besser82] by ChanServ01:40
-!- travis-ci [~travis-ci@ec2-54-147-33-40.compute-1.amazonaws.com] has joined #shogun01:46
travis-ciit's Heiko Strathmann'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/13460722501:46
-!- travis-ci [~travis-ci@ec2-54-147-33-40.compute-1.amazonaws.com] has left #shogun []01:46
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 276 seconds]01:59
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has quit [Ping timeout: 250 seconds]02:53
-!- slardar [~slardar@192.241.200.146] has quit [Ping timeout: 276 seconds]03:30
-!- travis-ci [~travis-ci@ec2-107-22-126-62.compute-1.amazonaws.com] has joined #shogun05:17
travis-ciit's lambday'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/13463381205:17
-!- travis-ci [~travis-ci@ec2-107-22-126-62.compute-1.amazonaws.com] has left #shogun []05:17
-!- OXPHOS_ [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has quit [Quit: Page closed]07:04
-!- sanuj [~sanuj@117.203.10.146] has joined #shogun08:04
-!- ptizoom [~christian@host-92-21-238-186.as13285.net] has quit [Quit: Ex-Chat]08:08
sanujwiking, there?08:54
sanujlisitsyn, there?09:20
sanujlisitsyn, ping10:15
lisitsynsanuj: hey10:15
sanujlisitsyn, not able to debug this10:15
sanujhttps://travis-ci.org/shogun-toolbox/shogun/builds/13466809110:16
sanujlisitsyn, here is the new code https://github.com/shogun-toolbox/shogun/pull/3221/commits/a8f95617961fa0cf9465d5531aac3cd99fa2d8f610:17
lisitsyndebug what?10:18
sanujlisitsyn, https://travis-ci.org/shogun-toolbox/shogun/jobs/134668092#L167810:19
lisitsynsanuj: well why did you use ShogunException()?10:21
lisitsynit should be ShogunException10:22
sanujokay let me try that10:22
sanujlisitsyn, that worked10:49
sanujlisitsyn, heiko was asking whether a user can set any parameters with tags without any restriction?11:05
sanujlisitsyn, his comment is here in an outdated diff https://github.com/shogun-toolbox/shogun/pull/322111:05
sanuji think the user can set/get anything11:05
-!- sanuj [~sanuj@117.203.10.146] has quit [Ping timeout: 252 seconds]11:38
-!- HeikoS [~heiko@nat-190-53.internal.eduroam.ucl.ac.uk] has joined #shogun11:40
-!- mode/#shogun [+o HeikoS] by ChanServ11:40
-!- sanuj [~sanuj@117.203.10.146] has joined #shogun12:24
Saurabh7HeikoS: yo12:24
@HeikoSSaurabh7: hihi12:25
@HeikoSwiking: jo12:25
@HeikoSarianepaola: hi! we are still missing 1.5 notebooks from last week12:25
Saurabh7HeikoS: I updated the PR, most should be good apart from an issue12:25
@HeikoSSaurabh7: let me check12:25
Saurabh7other than that I was having a look at LARS12:25
@HeikoSSaurabh7: cool!12:25
Saurabh7HeikoS: so I was wondering if we want to test the private methods like cholesky insert12:26
@HeikoSSaurabh7: yes definitely12:26
@HeikoSSaurabh7: btw these guys can be done using eigen12:27
Saurabh7HeikoS: so i move to an impl class and make them public12:27
@HeikoSi.e. the low-rank updates of cholesky factors12:27
@HeikoSso you can also think about putting them in linalg later (once that is done)12:27
@HeikoSSaurabh7: no need to make the mpublic12:27
@HeikoSSaurabh7: an impl class is a good idea nevertheless12:27
Saurabh7HeikoS: then how would i test them ?12:28
@HeikoSSaurabh7: ah sorry, of course make them public in there12:28
Saurabh7ok12:28
@HeikoSSaurabh7: you can create mock classes12:28
@HeikoSthat is: in the test file, you create a mock class that inherits from the class with private methods12:29
@HeikoSthen you implement a public method that calls the private one12:29
@HeikoSSaurabh7: but not really needed12:29
Saurabh7HeikoS: i see12:29
@HeikoSlets put it in an impl class, use pimpl pattern in the interface class12:29
@HeikoSand the interface class just does input checking and interfaces for SWIG12:29
Saurabh7HeikoS: ok cool12:30
Saurabh7HeikoS: some things i dont undersstand how to replace with eigen12:30
@HeikoSok12:30
@HeikoSask me :)12:30
@HeikoSSaurabh7: btw about your question in the PR12:30
@HeikoSyou mean you have to specify the number of threads12:31
@HeikoSand otherwise it is only using a single one?12:31
Saurabh7HeikoS: yes12:31
@HeikoSI see12:31
@HeikoSlambday can fix this once he comes12:31
Saurabh7->get_num_cpus always is 112:31
@HeikoSbut your PR is merge ready still?12:31
Saurabh7so unit test might not be testing multi thread12:32
@HeikoSI see12:32
@HeikoSthat is weird12:32
@HeikoSso the unit test actually didnt run with more than a few threads?12:33
Saurabh7locally it runs with 1 always12:33
@HeikoSactually, then you can just set the number of threads to 3 manually12:33
Saurabh7so i set_num_thread(3) manually12:33
@HeikoSin the unit test that is fine (if num_threads > num_cpu)12:33
@HeikoSyeah do that in the unit test12:33
@HeikoSand can you add unit tests for the other cases you considered as well?12:33
Saurabh7I added one more for KNN12:34
@HeikoSah yeah I see it12:34
Saurabh7HeikoS: its just testing the mean of accuracy12:34
Saurabh7is that good ?12:34
@HeikoSnope ;)12:34
@HeikoSneed to make sure it is *exactly* the same output12:35
Saurabh7ok what else could i add12:35
@HeikoSah wait12:35
Saurabh7hm12:35
@HeikoSnono sorry12:35
@HeikoSit is fine12:35
@HeikoSKNN is deterministic right?12:35
@HeikoSset_num_threads(cross->parallel->get_num_cpus());12:35
@HeikoSthis should set it to 312:35
@HeikoSok, the manual setting of number of threads is the last thing that needs change12:36
@HeikoSthen we can merge it12:36
@HeikoSyou should put an item to NEWS12:36
@HeikoSthis is nice12:36
@HeikoSyou should also update the CrossValidation @brief12:36
sanujHeikoS, hi!12:37
Saurabh7ok doing12:37
@HeikoSand say that this runs in parallel with the number of threads being equal to set_num_threads Parallel::get_num_cpus()12:37
@HeikoSmmh or actually, wrong, Parallel::get_num_threads()12:37
@HeikoSSaurabh7: and also explicitly say that we are cloning *everything* at the moment so this might be memory intense12:38
@HeikoSsanuj: hi there12:38
@HeikoSSaurabh7: so if you update @brief, change the test, then we can merge12:38
@HeikoS(and NEWS)12:38
@HeikoS(and squash into single commit :))12:38
@HeikoSnice work, this was asked for a lot12:38
@HeikoSSaurabh7: can you also keep the scripts you used to benchmark? for the report at end of project12:39
Saurabh7HeikoS: yep , mayb add it to framework in some way12:40
sanujHeikoS, i tried Math.init_random(0) in gmm cookbook  =>  TypeError: Failed to tokenize input12:40
@HeikoSsanuj: yeah that is a bug12:40
@HeikoSsanuj: is that all you changed?12:40
@HeikoSin the existing file?12:41
sanujHeikoS, yes12:41
sanujHeikoS, do i need to add something else?12:41
@HeikoSsanuj: I dont get this error12:41
@HeikoSah wait12:41
@HeikoSI get a different one ;)12:42
sanujHeikoS, i get this while building cookbook12:42
@HeikoSbut the tokenise fail12:42
@HeikoSI dont get it12:42
@HeikoSso make meta_examples works12:42
@HeikoSbut make build_cpp_meta_examples doesnt12:42
sanujHeikoS, i get the same error for make meta_examples also12:43
sanujshall i do it in a fresh build12:43
@HeikoSactually12:43
@HeikoSit works12:43
@HeikoScompilling the meta examples also works12:43
@HeikoSand the cpp listing looks good as well12:43
sanujokay, let me see12:44
@HeikoSis this latest develop?12:44
sanujyes12:44
@HeikoStry removing the build dir and re-creating12:44
sanujyeah12:44
@HeikoSif that helps, then we can update cmake to do these clean ups12:44
@HeikoSsanuj: cpp works here12:45
@HeikoSsanuj: Python doesnt (this is a bug I found last night)12:45
@HeikoS(I mean, executing the generated listing/binary)12:45
@HeikoSsanuj: btw the tags look great12:45
sanujHeikoS, most of python_modular fails on my machine12:45
sanujHeikoS, thanks:), i added error handling and today12:45
sanujHeikoS, will move to writing swig interfaces for them12:46
@HeikoSgreat12:46
sanuji saw your comment about allowing parameters with any name12:46
@HeikoSsanuj: what are your plans for integrating with main shogun?12:46
@HeikoSsanuj: btw12:47
@HeikoSMath:init_random(0)12:47
@HeikoSwith a COLON12:47
@HeikoSit is a static call12:47
sanujHeikoS, this should be merged with main shogun by the end of this week or starting of next week12:47
sanujokay12:47
@HeikoSsanuj: great, and then the hard transition begins I guess ;)12:47
sanujHeikoS, yes and plugins12:47
@HeikoSsanuj: yep12:47
@HeikoSand interface design12:48
@HeikoSI have some thoughts on this together with lambday12:48
@HeikoSin terms of design patterns needed etc12:48
sanujHeikoS, okay, yeah i need to make that diagram also12:48
@HeikoSsanuj: once tags are merged, we can remove all getters/setters and all SG_ADD, right?12:48
@HeikoSand then OXPHOS can do her cereal thing much easier12:48
sanujHeikoS, yes, but this might get tricky12:49
@HeikoSsanuj: explain12:49
@HeikoSsanuj: btw your libsvr cookbook is ready, just need integration test12:49
sanujHeikoS, everything should be changed along with examples and cookbooks for changing one class for using tags parameters12:50
sanujHeikoS, and there might be unforeseen problems12:50
@HeikoSsanuj: yeah12:50
sanujHeikoS, i have updated the integration tests12:50
sanujfor svr12:50
@HeikoSsanuj: cookbooks are easy, they just use the SWIG interface12:51
@HeikoS(apart from cpp)12:51
@HeikoSso need to touch all of them, but minor changes12:51
@HeikoSI guess we should start with one12:51
@HeikoSsanuj: I think we should not touch the other examples (apart from ipython notebooks)12:51
@HeikoSsanuj: because we want to replace everything with cookbooks anyways12:51
@HeikoSso can do the change then12:52
@HeikoSin that sense12:52
sanujHeikoS, yeah that's correct12:52
sanujbut the build will fail12:52
@HeikoSthe meta examples should be first step12:52
@HeikoShehe12:52
sanujtravis i mean12:52
sanujhaha12:52
@HeikoSneed to find a nice incremental way12:52
@HeikoScant break the develop build during gsoc12:52
@HeikoSthat is baaaad12:52
sanujHeikoS, write cookbooks while making classes use tags12:52
@HeikoSyep12:53
@HeikoSokok, but go on with your stuff for now12:53
@HeikoSthanks for the update12:53
sanujHeikoS, cool12:53
sanujHeikoS, svr cookbook dataset is already there13:00
sanujHeikoS, https://github.com/shogun-toolbox/shogun-data/pull/9213:00
@HeikoSsanuj: yeah but you need to put the data version in (or is it alreadY)13:01
@HeikoShttps://travis-ci.org/shogun-toolbox/shogun/jobs/134431490#L397813:01
@HeikoSah sorry13:01
@HeikoSI oversaw that13:01
@HeikoSmerging :)13:01
sanujcool :)13:01
@HeikoSthanks for that!13:02
@HeikoSNotebooks are growing nicely :)13:02
@HeikoSand we fixed quite a few bugs already13:02
@HeikoSlet me know how you gmm goes13:02
sanujokay13:03
sanujHeikoS, i have added this Math:init_random(0)13:12
sanujin gmm.sg13:12
sanujstill getting the same error13:12
shogun-buildbotbuild #31 of xenial - libshogun is complete: Failure [failed compile]  Build details are at http://buildbot.shogun-toolbox.org/builders/xenial%20-%20libshogun/builds/31  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>13:12
shogun-buildbotbuild #2893 of bsd1 - libshogun is complete: Failure [failed configure]  Build details are at http://buildbot.shogun-toolbox.org/builders/bsd1%20-%20libshogun/builds/2893  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>13:13
-!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has joined #shogun13:20
-!- mode/#shogun [+o lambday] by ChanServ13:20
arianepaolahello everyone13:21
@lambdayarianepaola: hello13:23
arianepaolahi lambday13:24
@lambdayarianepaola: I have a question.. yesterday I removed all my pip installed python packages.. and install some from dnf (fedora).. shogun's cmake couldn't find python-ply that I installed13:25
@lambdayso do you know how to make it work? I need to turn off the meta examples13:26
@lambdayto make it work13:26
@lambdayI installed numpy in a similar fashion and cmake was able to detect that13:26
arianepaolalambday: on Fedora, I installed git gcc gcc-c++ cmake ccache ninja-build doxygen swig python-devel numpy python-jinja2 blas-devel atlas-devel glpk-devel eigen3 ColPack-devel NLopt-devel lpsolve-devel ctags python-ply libxml-devel hdf5-devel libcurl-devel bzip2-devel lzma-sdk-devel snappy-devel lzo-devel protobuf protobuf-lite protobuf-compiler13:27
@lambdayarianepaola: so python-ply worked for you?13:28
@lambdayhuh13:28
@lambday:/13:28
@lambdaylet me check what I am doing wrong13:28
arianepaolaIf you check https://github.com/arianepaola/shogun/blob/64d24e0b11bca092b0c385938b0490ce34f57380/cmake/FindPLY.cmake13:29
arianepaolathe path could be different as in: https://github.com/shogun-toolbox/shogun/pull/3232/files13:29
@HeikoSwiking: jo13:34
@lambdayarianepaola: maybe there is an issue with my installation13:34
@HeikoSsanuj: can you post a gist?13:34
Saurabh7HeikoS: that extra REF on machine->clone is leading to leak :)13:35
Saurabh7might have to remove taht one afterall13:36
arianepaolalambday: if you installed the python packages using pip, they were probably installed in /usr/local13:36
@HeikoSSaurabh7: no13:36
@HeikoSnot remove it13:36
@HeikoSneed to find which object is not deleted at the end13:36
@HeikoSand then SG_UNREF that13:36
arianepaolathe cmake config does not look there and if you used pip install --user it won't either13:36
@lambdayarianepaola: when I installed it using pip it worked.. now I installed it using fedora's dnf install - it doesn't :D13:36
Saurabh7HeikoS: only machine->clone shows leaking13:37
Saurabh7not features->clone13:37
@HeikoSSaurabh7: if you do a simple test13:37
@HeikoSinstantieate a machine13:37
@HeikoSclone it13:37
@HeikoSSG_UNREF it13:37
@HeikoSdoes that leak?13:37
Saurabh7ok lemme try13:37
@lambdayarianepaola: I am quite sure that this is due to a problem in my installation13:37
@lambdayarianepaola: anyway sorry to bother.. don't worry I'll check it13:37
@HeikoSSaurabh7: check the API doc for clone13:38
@HeikoSNote that the returned object is SG_REF'ed13:38
@HeikoSSaurabh7: it *is* already refed13:38
@HeikoSso remove the SG_REF then13:38
@HeikoSsince it increases the counter to 2 otherwise13:38
@HeikoSsorry, I forgot about that13:38
@HeikoS(even though I wrote it ;) )13:38
Saurabh7HeikoS: :)13:38
arianepaolaok, lambday though it might be a cmake problem, had a similar issue with sphinx. if you know where ply was installed, then it might be just the additional search path in the cmake config to make it work13:39
@HeikoSarianepaola: lambday the way cmake checks for ply leaves it to the python interpreter itself13:40
@HeikoSit just does python -c 'import ply'13:40
@HeikoSit doesnt explicitly look for the lib13:40
@HeikoSso this means ply is not available to python, which means the installation is fauly13:40
@HeikoSnot a cmake problem13:40
@HeikoSsanuj: it is weird that you get this error13:41
arianepaolaHeikoS: right, just had another look13:41
arianepaolait might be also a Python v2 vs. v3 pip install problem, depending which interpreter is default for the build13:42
@HeikoSyep13:42
@HeikoScheck FindPLY13:42
@HeikoSit just uses the PythonInterp13:42
sanujHeikoS, here is the error13:42
sanujhttp://pastebin.com/yGH4ZpcN13:42
@HeikoSsanuj: whats line 17 of your parse.py13:43
@HeikoSin generators/13:43
@HeikoSexamples/meta/generators13:43
@HeikoSsorry line 17213:44
sanujHeikoS,         "staticCall : type COLON identifier LPAREN argumentList RPAREN"13:44
@HeikoSmmh13:44
@HeikoSweird13:45
@HeikoSand if you change the argument from 0 to 113:45
@HeikoSMath:init_random(1)13:45
@HeikoSsanuj: can you update the PR and also see whether travis has the same error?13:45
sanujstill error13:46
sanujHeikoS, i'll have to start a new PR13:46
sanujso i just need to add this one line right?13:46
@HeikoSsanuj: yeah13:46
@HeikoSpython will fail13:46
sanujokay13:46
@HeikoSbut cpp should work13:46
sanuji'll start a new PR13:46
@HeikoSthere is not integraton  test data yet right?13:46
@HeikoSsanuj: yeah lets see that13:46
@HeikoSsanuj: it is very good that we figure out all these problems btw13:47
@HeikoSiumpossible to predict when writing the meta example systenm13:47
sanujcool13:47
shogun-buildbotbuild #22 of FC23 - libshogun - aarch64 is complete: Failure [failed test]  Build details are at http://buildbot.shogun-toolbox.org/builders/FC23%20-%20libshogun%20-%20aarch64/builds/22  blamelist: Heiko Strathmann <heiko.strathmann@gmail.com>, Sanuj <sanuj.sharma.in@gmail.com>13:50
-!- deepak_ [0e8bb448@gateway/web/freenode/ip.14.139.180.72] has joined #shogun13:50
deepak_lamday : My installation worked at last, the hdf5 files were inside the anaconda directories for some reason, now it's working fine, thanks for your time :)13:51
deepak_lambday : ^13:52
@lambdaydeepak_: cheers! :)13:52
Saurabh7HeikoS: lambday how would i do these with eigen https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/regression/LeastAngleRegression.cpp#L35814:23
@lambdaySaurabh7: hah what does it do?14:25
Saurabh7lambday: from what i understood solves a linear eq14:25
@lambdaySaurabh7: yeah but there are many kinds :|14:26
Saurabh7others I came accross are jsut matrix vec multiplications , this i didnt get how to change14:26
@lambdaySaurabh7: maybe check the documentation a bit?14:26
@lambdaynote that not all methods that cblas offers have a eigen3 counterpart14:27
@lambdaymost of them have14:27
@lambdayat least from what I've seen14:27
Saurabh7lambday: http://www.netlib.org/lapack/explore-html/d1/d54/group__double__blas__level3.html#ga6a0a7704f4a747562c1bd9487e89795c14:27
Saurabh7lambday: hm i see, then how would i proceed14:28
-!- c4goldsw [5da420e6@gateway/web/freenode/ip.93.164.32.230] has joined #shogun14:29
@lambdaySaurabh7: this is a matrix eq..14:30
Saurabh7lambday: yes14:31
@lambdaySaurabh7: I couldn't find an eigen3 equivalent14:34
@lambdaymaybe lisitsyn would know14:34
@lambdaylisitsyn: eigen3 equivalent for cblas DTRSM ?14:34
@HeikoSSaurabh7: gotta find out what this thing actually does15:21
@HeikoSSaurabh7: http://www.netlib.org/lapack/explore-html/d1/d54/group__double__blas__level3.html#ga6a0a7704f4a747562c1bd9487e89795c15:22
deepak_In the second example in the developer documentation where they try to create a gaussian kernel, I get this error when I try to compile15:23
deepak_\PING15:23
deepak_Sorry15:23
@HeikoSSaurabh7:  I think this is a triangular solve15:23
sanujHeikoS, travis didn't complain for cpp https://travis-ci.org/shogun-toolbox/shogun/builds/13472104715:23
@HeikoSwhich means you can use eigen's LLT15:23
@HeikoSSaurabh7: and it makes sense as they update cholesky factors in lars15:24
deepak_"/usr/local/include/shogun/lib/SGVector.h:69:26: error: expected unqualified-id before ‘using’    template <typename ST> using container_type = SGVector<ST>;"15:24
Saurabh7HeikoS: ok15:24
@HeikoSSaurabh7: best to try to reproduce the behaviour with eigen315:24
@HeikoSin a small example15:24
@HeikoScreate a small triangular matrix and reproduce blas behaviour with llt behaviour15:24
Saurabh7HeikoS: I think I can get some values to compare from the matlab implementation this was imported from too15:25
@HeikoSdeepak_: you should post the actual code you are trying to compile as a gist15:25
Saurabh7HeikoS: isee ok i will try tahta15:25
@HeikoSthen we can help15:25
@HeikoSSaurabh7: yeah ok15:25
deepak_HeikoS : https://github.com/shogun-toolbox/shogun/wiki/README_developer the second example in this one15:25
deepak_with the gaussian kernel15:26
@HeikoSdeepak_: can you post the exact gist and the exact command?15:27
@HeikoSsanuj: saw it15:28
@HeikoSthe cpp works15:28
@HeikoSwhich means meta example parsing work15:28
@HeikoSweird that it doesnt on your machine15:28
@HeikoSmight be a bug15:28
@HeikoSwhats your ply version?15:28
sanujHeikoS, 3.815:32
@HeikoSsanuj: and the one on travis?15:33
deepak_HeikoS :Here you go : https://gist.github.com/deepakkandasamy/536ad36a02fa7cb9960a38d411ee642415:36
sanujHeikoS, how to find that?15:37
@HeikoSdeepak_: which version of shogun is this?15:37
@HeikoSdeepak_: try adding a -std=c++11 to the argument, does that help?15:37
@HeikoSit should15:37
@HeikoSthat is it15:37
deepak_HeikoS yes , it does, thanks ;)15:38
@HeikoSthe code that causes the error, line 69 of SGVector.h is guarded for c++1115:38
@HeikoSdeepak_: feel free to send a patch with an updated readme15:38
deepak_HeikoS  : Sure, in some time :)15:40
sanujHeikoS, i'm writing the neural net cookbook15:51
sanujthese can be used for binary/multiclass classification and regression15:51
sanujHeikoS, in the cookbook i'm using data with binary labels15:51
sanujshall i also mention in the end that same Neuralnet class can be used for other purpose like regression15:52
sanujor do we have separate cookbook pages like15:52
sanujnn for classification, nn for regression etc15:53
deepak_HeikoS  : I am not able to update the readme as the page is on the wiki16:03
@HeikoSsanuj: yeah definitely16:13
@HeikoSdeepak_: Ah yes, you can just send it to me via email16:14
arianepaolaI am finishing the Python package16:32
arianepaolaI have added a pull request, but it needs some work when egg packaging to include the files and also specify platform build information16:33
@wikingarianepaola: great!16:33
@wikingarianepaola: pr link plz (too many emails lately)16:33
arianepaolahttps://github.com/shogun-toolbox/shogun/pull/324016:33
-!- sanuj [~sanuj@117.203.10.146] has quit [Ping timeout: 264 seconds]16:34
@lambdaylisitsyn: ping16:40
@lambdaylisitsyn: I have a question16:40
@lambdaylisitsyn: any idea why I might get this error from pythonmodular16:40
@lambdayTypeError: in method 'MMD_set_kernel_selection_strategy', argument 2 of type 'CKernelSelectionStrategy *'16:41
@lambdaylisitsyn: when the type is <type 'modshogun.KernelSelectionStrategy'>16:41
-!- c4goldsw [5da420e6@gateway/web/freenode/ip.93.164.32.230] has quit [Ping timeout: 250 seconds]16:43
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun16:48
lisitsynlambday: pointers?17:07
lisitsynlooks like you don't have * in one case17:08
@lambdaylisitsyn: so I do a add_kernel(GaussianKernel(10, width)) from python while the c++ code looks like add_kernel(CKernel* kernel)17:10
lisitsynyeah that's ok17:10
@lambdaylisitsyn: what can prevent it from similar use-cases for other classes?17:11
@lambdayI have this method set_kernel_selection_strategy(CKernelSelectionStrategy *) and from python I do set_kernel_selection_strategy(KernelSelectionStrategy(...))17:12
@lambdaylisitsyn: I don't have copy-ctor or assignment operators in the 2nd cases, but that shouldn't pose a problem since it is just pointers17:12
OXPHOSlambday: hey! thanks for the review17:17
@lambdayOXPHOS: how's it going?17:18
lisitsynlambday: I am not sure what's wrong with that17:18
OXPHOSlambday: im working on the gpu part. If i need to test, I'll have to make the ViennaCL work at local, which dosens't now17:18
@lambdaylisitsyn: me neither :/ it's pretty weird!17:18
@lambdayOXPHOS: yeah that's a priority17:19
@lambdayshouldn't be too hard :)17:19
-!- sanuj [~sanuj@117.203.10.146] has joined #shogun17:19
OXPHOSlambday: but one more question: If one vec is on GPU, the other on CPU, and GPUbackend not registered17:19
OXPHOSwe throw error or just transfer back?17:19
@lambdayOXPHOS: if GPU backend is not register, we cannot really create a GPUVector now, isn't it? The factory itself will throw error17:20
OXPHOScurrently, only both vec on GPU --> GPU registered, we do GPU17:20
@lambdaybecause we are not going to create those vectors by hand.. but a factory will do that17:20
OXPHOSyeah...you'r right17:20
OXPHOShmm17:20
@HeikoSSaurabh7: j how is the triangular solve going?17:28
@HeikoSOXPHOS: hey17:30
@HeikoShow are things?17:31
OXPHOSHeikoS: hey, good good, working on linalg more17:31
OXPHOSHeikoS: I can use init_random(1) to generate integration datafile for kmeans. or you want me to wait for the update?17:32
sanujOXPHOS, hey17:34
sanujare you talking about this? https://github.com/shogun-toolbox/shogun/pull/323917:34
OXPHOSsanuj: hi yes!17:35
OXPHOSsanuj: math:init_random() didn't work for me at local17:35
sanujOXPHOS, it fails for python, java, ruby and R :/17:35
sanujOXPHOS, for cpp also?17:35
OXPHOSsanuj: for me it even won't compile17:36
OXPHOSlike `0`17:36
sanujOXPHOS, same for me on local17:36
sanujwas getting this error http://pastebin.com/yGH4ZpcN17:37
@HeikoSOXPHOS: yeah just use 1 for now, doesnt matter17:37
@HeikoSand change the .sg to 1 as well17:37
OXPHOSsanuj: the same17:37
OXPHOSHeikoS: okay17:37
@HeikoSI think this might be Python version17:44
@HeikoSply version17:44
@HeikoSwill check17:44
@HeikoSbut travis is fine17:44
@HeikoSwhich is weird17:44
@HeikoSsanuj: can you compare your ply version against the one on travis or the buildbot?17:45
sanujHeikoS, how to know the ply version of travis?17:46
@HeikoSsanuj: let me check17:50
sanujHeikoS, can i put comment in cookbooks code?17:53
sanujlike: network.max_num_epochs = 0    #continue until convergence17:54
@HeikoSsanuj: what do you mean?17:54
@HeikoSthat is something you would put in the test .rst file17:54
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has quit [Ping timeout: 250 seconds]17:54
@HeikoSin the sense that "Setting number of epochs to 0 results in training until convergence"17:55
sanujHeikoS, okay17:55
deepak_HeikoS : mail ID please17:57
@HeikoSheiko.strathmann17:57
@HeikoSit is on google mail17:57
@HeikoSthanks for the contribution!17:57
sanujHeikoS, what does "karlnapf" mean? :)17:57
@HeikoSsanuj: nothing17:58
@HeikoSit is just a nickname :)17:58
sanujokay!17:58
sanujis it german?17:58
@HeikoSyes17:58
@HeikoSbut just a name17:58
@HeikoSno meaning17:58
sanujmakes sense17:59
@HeikoSSaurabh7: there?18:00
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun18:01
@HeikoSOXPHOS: jojo18:04
@HeikoSOXPHOS: can you remember to do this daily stand up thing first thing you come to IRC?18:04
@HeikoSOXPHOS: then I dont need to ask all the time :)18:04
@HeikoSwhat are you up to at the moment?18:04
OXPHOSOXPHOS: sure sorry about that. finishing up the ViennaCL part of linalg.dot18:05
OXPHOSHeikoS ^18:05
sanujHeikoS, how shall i test swig interfaces for tags ?18:05
sanujcookbook or modular?18:06
OXPHOSEnabled singleton and polished linalg CPU dot calculation yesterday18:06
@HeikoSOXPHOS: no worries, just do it first thing you enter irc :)18:10
@HeikoSOXPHOS: cool, is that all compiling code?18:10
OXPHOSHeikoS: yes18:12
OXPHOSHeikoS: and cleaned up cereal SGVector18:12
@HeikoSOXPHOS: I saw that18:12
@HeikoSgood18:12
OXPHOSHeikoS: actually the linalg gave some errors, in python/lua/octave?18:12
@HeikoSOXPHOS: did you have a look at sanuj parameters stuff?18:12
OXPHOSHeikoS: I didn't try very hard to figure out why18:13
@HeikoSOXPHOS: what do you mean?18:13
OXPHOSHeikoS: not yet18:13
@HeikoSsanuj: you use meta examples :)18:13
@HeikoSsanuj: no cookbook page necessary though18:13
OXPHOSHeikoS: https://travis-ci.org/shogun-toolbox/shogun/builds/13465005018:13
@HeikoSjust put a seperate directory tags18:13
@HeikoSsanuj: and then write meta example code that does things18:13
@HeikoScheck whether it generates listings as you want18:13
@HeikoSand then add them to the build18:13
@HeikoSsanuj: see what I mean?18:13
@HeikoSsanuj: but first step is unit test full coverage I guess?18:14
@HeikoSlisitsyn:  correct?18:14
@wikingOXPHOS: what's this with load/load confusion18:14
@wikingreally dont get it18:14
@HeikoSOXPHOS: when something fails18:14
@HeikoSyou should dig out the reason from the travis log18:14
lisitsynsanuj: yeah we need set/get to be fully covered18:14
@HeikoSyou can explore them from the page you sent18:14
@HeikoSwiking:  jo!18:14
@wikinghellobelllo18:14
sanujHeikoS, lisitsyn okay18:15
sanujlisitsyn, can you review my PR and suggest what else is needed18:15
@HeikoSOXPHOS: are you hiding your linalg stuff from SWIG?18:15
sanujlisitsyn, https://github.com/shogun-toolbox/shogun/pull/322118:15
lisitsynsanuj: ok18:16
OXPHOSwiking: just math.h was trying to find something by calling SGVector.load during make but it called cereal load instead18:16
@HeikoSOXPHOS: can you reproduce that locally?18:16
OXPHOSwiking: jet lag :)18:16
OXPHOS?18:16
OXPHOSHeikoS: not hiding; didn't try..18:16
@wikingOXPHOS: sort of18:16
@wikingOXPHOS: but it has an arg Archive18:17
@wikingi mean how could it confuse it18:17
@HeikoSOXPHOS: haha18:17
OXPHOSwiking: I guess they're all taking files?18:17
OXPHOSwiking: I was confused too18:17
@HeikoSwiking: btw we should have a discussion on how to do this serialization stuff soon18:17
@HeikoSas in high level process18:18
@wikingmmm wait18:18
@wikingi mean i dont get wtf is this mixing18:18
@wiking:)18:18
@wikingjust opened math.h18:18
@wikingthere's no load in that file18:19
deepak_HeikoS  : I have mailed it to you18:19
@wikingOXPHOS: could you please clarify this because this is way to weird18:19
@HeikoSdeepak_: thanks!18:19
@HeikoSwill check18:19
OXPHOSwiking: okay.18:20
deepak_HeikoS , I just have to add a few lines in thedocumentation about compiling it with -std=c++11 right?18:20
OXPHOSwiking: may take a while to make18:21
@wikingthn18:22
@wikingx18:22
@HeikoSdeepak_: yeah!18:22
@HeikoSwiking: still awake? ;)18:22
deepak_HeikoS then it should be fine I guess18:23
@wikingsort of18:23
sanujlisitsyn, i just need to split the tests? not add more?18:25
lisitsynsanuj: can't say now, lets see after the split18:25
sanujlisitsyn, do i need to test set/get for every type possible?18:25
lisitsynsanuj: no, but makes sense to test with e.g. float18:26
lisitsynand sgvector<float>18:26
sanujokay18:26
@HeikoSwiking: let me know when you have a minute to discuss few things18:27
@HeikoSim also in shogun-gs now18:27
deepak_I'd like to contribute to shogun, now that I have everything installed, what do I do next?18:27
@HeikoSdeepak_: run some examples and play with them :)18:28
@HeikoSdeepak_: then have a look into our getting involved guide in the wiki18:28
@HeikoSand then have a look at entrance tasks18:28
deepak_Ok :)18:28
deepak_Heikos for the add new kernel task ( https://github.com/shogun-toolbox/shogun/issues/3139) , should I try to add all these kernels?18:41
deepak_HeikoS  :^18:41
@HeikoSnah18:43
@HeikoSbetter try something else ;)18:43
@HeikoShttps://github.com/shogun-toolbox/shogun/issues/3057 this might be fun18:44
sanujHeikoS, is there a way to  build cookbook and metaexamples with the already installed shogun?18:44
deepak_HeikoS I will check it out, thanks :)18:45
@HeikoSsanuj: what do you  mean?18:45
OXPHOSwiking: https://gist.github.com/OXPHOS/b9c363c2de6129029428e270f3bc815c18:45
@HeikoSdeepak_: let me know how it goes :)18:45
deepak_HeikoS : sure :)18:46
sanujHeikoS, every time i add a new cookbook, i need to rebuild whole shogun code otherwise the new cookbook page is not built properly18:46
sanujisn't there a way to build and test cookbook meta examples with the shogun that i use in python by providing path18:48
@HeikoSsanuj: nono18:48
@HeikoSno need for that18:48
@HeikoSjust re-run cmake18:48
@HeikoSand then make18:48
sanujyeah but it's slow :P18:48
@HeikoSdo you have ccache enabled?18:48
@HeikoStakes a few seconds only here18:48
@HeikoSyou can also disable things18:48
@HeikoSlook out for the TRAVIS_DISABLE* flags of cmake18:49
sanujoh, with that also sometimes things are not generated properly18:49
@HeikoSsanuj: you have to be more concrete than that if you want help ;)18:49
sanujbest option is to build a fresh build18:49
sanujHeikoS, so sometimes meta examples are converted to cpp py and so on18:49
sanujbut that code is not build into object files18:50
sanujor the integration data is not generated18:50
@HeikoSnone of this happens on my machine18:50
@HeikoSso translating is done by18:51
@HeikoSmake meta_examples18:51
@HeikoSif you want to compile their cpp code, do18:51
@HeikoSmake build_cpp_meta_examples18:51
@HeikoSif you want to run them18:51
@HeikoSmake test18:51
@HeikoSif make test runs all the things you dont want, you can disable them18:51
@HeikoSif you add/change meta example files, you have to re-run cmake18:51
@HeikoSI am heavily using this workflow and it always works18:52
sanujHeikoS, how to disable the other tests18:52
sanujokay18:52
sanuji just do make cookbook && make test18:52
@HeikoSnot make cookbook18:53
@HeikoSthat generates the html stuff18:53
sanujand HeikoS most of the python modular integration tests fail on my machine18:53
@HeikoSsanuj: fail with what error?18:53
OXPHOSsanuj: I can run none of python modulars. python will crash.18:53
@HeikoSerror message!18:54
sanujHeikoS, i will share the output when i get it next time18:54
@HeikoSrunning python examples straight from the build might break18:54
@HeikoSif your enviromental variables are not set correctly18:54
@HeikoSor if you did sudo make install  and then things might be mixed up18:54
sanujHeikoS, i haven't done sudo make install18:55
@HeikoSsanuj: ok then is shogun in your python and ld_lib path?18:55
sanujHeikoS, it is not by default18:55
sanuji have a script that sets it when i want (as you suggested :) )18:55
@HeikoSwhat does python -c "import modshogun" do?18:55
@HeikoSI see18:55
@HeikoSyou have to make sure python -c "import modshogun" works18:56
@HeikoSif it doesnt, you python tests will fail18:56
deepak_HeikoS do I code this task in C++?18:56
@HeikoSif that doesnt work, give me the error message18:56
@HeikoSdeepak_: yes18:56
deepak_HeikoS , Sure18:56
sanujHeikoS, this has to work immediately after "make"18:57
sanuj?18:57
@HeikoSsanuj: no, immediately before you run your python tests18:58
sanujHeikoS, i do "make test" after "make" only18:58
@lambdaysanuj: HeikoS suggested to me yesterday that I increase the ccache cache size and now it is lightening fast :)18:59
@lambdayI allocated like 10 gigs for ccache18:59
@HeikoSsanuj: okok, so I dont get what you want to do18:59
@HeikoStest meta examples?18:59
@HeikoSrun meta examples?18:59
@HeikoStest python examples?18:59
@HeikoStranslate meta_examples?18:59
@HeikoSlots of options :D18:59
sanujoh i was talking about running python modular examples right now19:00
@HeikoSok19:00
@HeikoSso then19:00
@HeikoSPYTHONPATH, LD_LIBRARY_PATH need to be set19:00
sanujlambday, those 10 gigs are on hard disk right?19:00
@HeikoSlambday: yes19:00
sanujcool, i'll try these19:01
@lambdaysanuj: check ccache help19:01
@lambdayI now have 4.2GB cached stuffs19:01
@lambday10K files cached :D19:01
@HeikoSsanuj: you can check this stuff via19:01
@HeikoSpython -c 'import modshogun'19:02
sanujso HeikoS after fresh build, before running integration tests i need to update PYTHONPATH, LD_LIBRARY_PATH19:02
sanujokay19:02
@HeikoSyes19:02
@HeikoSdoesnt matter before or after19:02
@HeikoSsince these paths just point to a dir19:02
sanujfor that i would also have to make install to that dir19:03
@HeikoSon my machine they point into the correposnding folders in my "build" dir19:03
@HeikoSnono19:03
@HeikoSEITHER: you make them point into the correct parts in your build dir19:03
@HeikoSOR: you make them point to the place where "make install" installs shogun to (but for that you need to run "make install" everytime you update19:03
sanujokay, i get it now19:04
sanuji think the building experience will improve for me a huge deal now :D19:04
-!- deepak_ [0e8bb448@gateway/web/freenode/ip.14.139.180.72] has quit [Quit: Page closed]19:04
@HeikoSsanuj: if you deactivate the modular bindings then it is even faster19:04
@HeikoSin the OR case above you need to re-build the interface everytime you do make install19:04
@HeikoSin the EITHER case, you dont need to do that19:05
@HeikoS(as the stuff is not copied on finish=)19:05
@HeikoSsanuj: let me know how things go19:05
sanujHeikoS, yes19:05
sanujHeikoS, thanks :)19:05
@HeikoSsanuj: but always make sure you dont complain "that it somehow doesnt work"19:05
@HeikoS but try to get to the reason of that via checking things19:05
sanujHeikoS, i'll keep that in mind :)19:05
@HeikoSbut yeah just ask, always happy tp help19:05
@HeikoSOXPHOS: ^same for you19:05
sanujHeikoS, i'll write a readme about this soon19:06
OXPHOSHeikoS: I got it.19:07
OXPHOSlambday: I cannot use sg_linalg in unit-tests directly?19:21
@lambdayOXPHOS: you should be able to19:24
@lambdayOXPHOS: we can use sg_io19:24
@lambdaysg_linalg should work in a similar fashion19:24
@lambdayOXPHOS: it doesn't work?19:25
OXPHOSlambday: undeclared identifier19:25
@lambdayOXPHOS: can you please elaborate a bit?19:25
OXPHOSSo I tried Linalg lr = *sg_linalg;19:26
OXPHOSerror: use of undeclared identifier 'sg_linalg'19:26
-!- sanuj [~sanuj@117.203.10.146] has quit [Quit: Leaving]19:27
@lambdayOXPHOS: okay first of all, you should not do that.. that defeats the purpose of having a global instance19:27
OXPHOSlambday: And I did a grep in tests. I didn't see any `sg_io`19:27
@lambdayOXPHOS: yeah we don't use it in library.. but you can set log level from sg_io in unit-tests if you like19:27
@lambdaythat helps in debugging things when they don't wory19:27
@lambdaywork*19:27
OXPHOSlambday: okay. I should do (*sg_linalge).dot()? Not sure this works so I was testing sg_linalg19:28
@lambdayOXPHOS: you should be able to simply use it like sg_linalg->dot(a, b)19:28
OXPHOSright..19:28
@lambdayOXPHOS: try that and let me know what goes wrong :)19:29
OXPHOSerror: use 'template' keyword to treat 'dot' as a dependent template name     auto result = sg_linalg->dot<int32_t>(&a_CPU, &b_CPU);19:29
OXPHOSwait it's different19:29
@lambdayactually in these cases you should use it like objname.template methodname(....)19:30
@lambdaywhen invoking a template method from another dependent templated method19:30
@lambdaybut that's technicality.. ignore that for now19:30
@lambday2nd thing : just remove the int32_t thing19:31
@lambdayit should be able to detect that thing automatically19:31
@lambdayif it doesn't, something is wron19:31
@lambdayg*19:31
OXPHOSerror: use of undeclared identifier 'sg_linalg'     auto result = sg_linalg->dot(&a_CPU, &b_CPU);19:31
OXPHOSlambday ^19:31
@lambdayOXPHOS: which means, the global instance is not there19:32
@lambdayOXPHOS: maybe check a bit how sg_io or sg_parallel work?19:32
OXPHOSlambday: lemme try sg_rand19:32
OXPHOSha19:32
@lambdayOXPHOS: just do sg_io->set_loglevel(MSG_DEBUG) :D19:32
@lambdayOXPHOS: which is very useful when you're debugging19:32
OXPHOSlambday: sg_io works19:33
@lambdayOXPHOS: I know ;)19:34
@lambdayOXPHOS: so we have to make sg_linalg work in a similar fashion19:34
@lambdaycheck the namespace etc.. where it might go wrong19:35
@lambdayOXPHOS: btw do you enjoy what you've been working on so far?19:36
@lambdaylearning new things.. figuring out what goes wrong19:36
-!- travis-ci [~travis-ci@ec2-54-197-107-235.compute-1.amazonaws.com] has joined #shogun19:37
travis-ciit's Heiko Strathmann'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/13479926919:37
-!- travis-ci [~travis-ci@ec2-54-197-107-235.compute-1.amazonaws.com] has left #shogun []19:37
OXPHOSlambday: yes for sure...?19:37
@lambdaysome of these days we'll really make everyone pay for the next round of drinks :D19:37
@lambdayI myself owe like a billion of 'em19:37
@lambdayOXPHOS: good.. it's important that we like what we do :D19:38
OXPHOSlambday: haha I thought there would be a trap or sth.19:39
@lambdayOXPHOS: nah trick questions is not really my thing :(19:39
@lambdayjust wanted to ensure that you're okay with all that I'm asking you to do :D19:40
@lambdayOXPHOS: BTW how's the cereal stuff going?19:40
OXPHOSlambday: glad to know ;) some of the stuff are really hard to learn without actually using19:40
@lambdayOXPHOS: it's a good experience.. I myself learned a lot of c++ during my first gsoc19:41
OXPHOSlambday: had a prototype for SGVector, no large scale yet..19:41
@lambdayOXPHOS: make sure that everything works locally.. that's the primary step19:41
OXPHOSlambday: sure19:41
@lambdayOXPHOS: BTW you should install OpenCL and ViennaCL.. let me know if you have issues with that19:42
OXPHOSI might..I have opencl and viennacl and there's no error when building. however, all viennacl unit-tests fail.19:42
@lambdaySaurabh7: any luck with the blas call? did you find anything?19:42
OXPHOSlambday: I'll look closer after this sg_linalg stuff19:43
@lambdayOXPHOS: yeah.. it's always better to do things step by step19:43
@lambdayshouldn't be too hard..19:43
OXPHOSso in init.h/.cpp everything for linalg catcopys rand/io. And the test is using shogun namespace19:44
@lambdayOXPHOS: yeah that's how it should work19:44
@lambdayOXPHOS: just copy-paste the code for sg_io :P19:44
@lambdaythat makes it globally available19:45
OXPHOSlambday: Linalg derived from CSObject19:45
@lambdayOXPHOS: does it need to?19:45
@lambdayCSGObject is heavy with all those serialization and reference counting19:45
OXPHOSlambday: yes..kinda forgot why19:45
@lambdayOXPHOS: umm we should figure it out.. I don't think it needs to be CSGObject derived19:46
@lambdaybut I maybe wrong19:46
OXPHOSlambday: okay lemme try. this will be fast.19:46
@lambdaySGIO doesn't derive from CSGObject, does it19:47
@lambdayneither does CParallel19:47
OXPHOSerror: no member named 'ref' in 'shogun::Linalg'                 SG_REF(sg_linalg);19:48
@lambdayOXPHOS: that's what happens when it is not a part of CSGObject..19:48
@lambdaydon't worry about that19:48
@lambdayjust make it a smart pointer19:48
@lambdaydon't use SG_REF19:48
@lambdaymaybe unique_ptr :P19:49
@lambdaymakes sense since it is supposed to be singleton19:49
OXPHOSlambday: why SGIO can use SG_REF then?19:49
@lambdayOXPHOS: let me check19:50
@lambdayOXPHOS: hah it's cause it forces it to work19:51
@lambdayif you check the code for SGIO you'll realize19:51
@lambdaybut that's easy to change..19:51
OXPHOSbecause the `int32_t ref();`?19:51
@lambdayfor now, we just want to ensure that (a) a global instance is created (b) we can call methods on that (c) we can register backends on that thing19:51
@lambdayOXPHOS: yeah19:51
OXPHOSlambday: okay I'll try unique_ptr for Linalg19:52
@lambdayOXPHOS: cool!19:52
OXPHOSlambday: the smart pointer was claimed so easy to use. till I start to use it.. I'll see what happens this time19:53
@lambdayOXPHOS: haha it IS easy.. just gotta do it the right way :)19:54
@lambdayOXPHOS: you'll figure out the details soon as you work with it further19:54
OXPHOSlambday: glad to know :)19:55
@HeikoSOXPHOS: investments ;)20:04
OXPHOSHeikoS: huge payback20:06
@HeikoSOXPHOS: hehe yeah thats the spirit20:06
@HeikoSOXPHOS: trust me, it is a good ability to have, you can impress lots of people in interviews with that ;D20:07
OXPHOSHeikoS: I'll put right under my name on CV: Experienced at smart pointers20:08
@lambdayOXPHOS: now that's pretty smart20:08
@HeikoSOXPHOS: you will see20:09
@HeikoSif you stay in academia, this stuff is worth something20:09
@HeikoSas people will perceive you as "serious coder"20:09
@HeikoSwhich is useful for getting involved in projects20:09
OXPHOSHeikoS: I heard in academia (espeically biomedical field) people are expecting you to work as 3 industry coder while paying you 1/320:10
OXPHOSlambday: I don't think we can still set/get global_linalg easily with unq ptr20:11
@lambdayOXPHOS: we can directly use the instance itself without using any getters and setters (for now)20:12
@lambdayand there is no setting it20:12
@lambdayonly getting20:12
OXPHOSlambday: yeah was going to ask why do we need it for singleton?20:12
@lambdaywhich shouldn't be too hard with const T* unique_ptr<T>::get() const :P20:12
OXPHOSgetting was just a new name for the same memory?20:13
@lambdayOXPHOS: well, to prevent from creating multiple copies of it20:13
@lambdayotherwise people will simply abuse it20:13
@lambdaycreating an instance every time they want to use linalg, and then making the whole thing a lot heavier than it should20:14
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has joined #shogun20:14
travis-ciit's lambday'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/13480080820:14
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has left #shogun []20:14
@lambdayOXPHOS: basically get gives you the underlying naked ptr20:15
OXPHOSlambday: we don't need the static attributes/accessor stuff to **ensure** only one object can be created?20:16
@lambdayOXPHOS: of course we do.. but not now..20:17
@lambdayOXPHOS: just ensure that it works first :)20:17
OXPHOSlambday: haha okay20:17
@lambdayas now you're the only one who is using it.. and you trust yourself not to abuse it20:17
@lambday:P20:17
OXPHOSAlready did in test case :/20:18
OXPHOSlambday: unique_ptr can compile, but I still cannot use sg_linalg in tests.20:22
@lambdayOXPHOS: what is wrong?20:25
OXPHOSlambday: still the same stuff, undeclared20:25
@lambdayOXPHOS: shouldn't be.. if we can use sg_io that is declared in the same way, we should be able to use sg_linalg20:26
@lambdayOXPHOS: yeah you did the test case, but it doesn't really work fully is it :)20:27
@lambdaywe need to make it work first20:27
OXPHOSlambday: yes..shall I pull it first? for the unique_ptr part. (and maybe it works on Travis. (sometimes happen20:29
@lambdayOXPHOS: it should work locally first, no?20:32
OXPHOSlambday: wait Im close. sg_rand doesn't work20:32
@lambdayOXPHOS: just investigate a bit what went wrong20:32
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has joined #shogun20:36
travis-ciit's Heiko Strathmann'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/13480649620:36
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has left #shogun []20:36
OXPHOSlambday: okay it works now.20:55
OXPHOSlambday: added namespace shogun { extern std::unique_ptr<Linalg> sg_linalg; } in test case20:55
OXPHOSsgio and sgrand was added in SGObject and Math20:56
OXPHOSbut since they're all in namespace shogun why is this step necessary?20:56
OXPHOSI googled.21:00
-!- HeikoS [~heiko@nat-190-53.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.]21:08
@lambdayOXPHOS: I think you can write that in Linalg.h.. and then whenever you include that header, you'll have access to that sg_linalg21:08
OXPHOSlambday: sure. I'm trying to run viennacl now21:11
@lambdayOXPHOS: great! let me know if it doesn't work :)21:14
-!- lambday [8028b10a@gateway/web/freenode/ip.128.40.177.10] has quit [Quit: Page closed]21:14
-!- besser82 [~besser82@fedora/besser82] has joined #shogun21:23
-!- mode/#shogun [+o besser82] by ChanServ21:23
-!- c4goldswo [5da420e6@gateway/web/freenode/ip.93.164.32.230] has joined #shogun21:34
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has joined #shogun21:49
travis-ciit's Heiko Strathmann'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/13481672221:49
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has left #shogun []21:49
-!- c4goldswo [5da420e6@gateway/web/freenode/ip.93.164.32.230] has quit [Ping timeout: 250 seconds]22:15
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has joined #shogun22:37
travis-ciit's Heiko Strathmann'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/13482501922:37
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has left #shogun []22:37
-!- besser82 [~besser82@fedora/besser82] has quit [Ping timeout: 240 seconds]22:53
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has joined #shogun23:06
travis-ciit's Heiko Strathmann'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/13483165923:06
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has left #shogun []23:06
-!- lambday [56a397da@gateway/web/freenode/ip.86.163.151.218] has joined #shogun23:52
-!- mode/#shogun [+o lambday] by ChanServ23:52
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun23:59
-!- mode/#shogun [+o HeikoS] by ChanServ23:59
--- Log closed Fri Jun 03 00:00:23 2016

Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!