--- Log opened Thu Jun 02 00:00:22 2016 | ||
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 00:15 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 00:15 | |
-!- sonne|osx [~sonne@x4db41800.dyn.telefonica.de] has quit [Quit: sonne|osx] | 00:22 | |
@HeikoS | Saurabh7: hi | 00:34 |
---|---|---|
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has quit [Ping timeout: 240 seconds] | 01:25 | |
-!- besser82 [~besser82@fedora/besser82] has joined #shogun | 01:40 | |
-!- mode/#shogun [+o besser82] by ChanServ | 01:40 | |
-!- travis-ci [~travis-ci@ec2-54-147-33-40.compute-1.amazonaws.com] has joined #shogun | 01:46 | |
travis-ci | it'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/134607225 | 01: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 #shogun | 05:17 | |
travis-ci | it'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/134633812 | 05: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 #shogun | 08:04 | |
-!- ptizoom [~christian@host-92-21-238-186.as13285.net] has quit [Quit: Ex-Chat] | 08:08 | |
sanuj | wiking, there? | 08:54 |
sanuj | lisitsyn, there? | 09:20 |
sanuj | lisitsyn, ping | 10:15 |
lisitsyn | sanuj: hey | 10:15 |
sanuj | lisitsyn, not able to debug this | 10:15 |
sanuj | https://travis-ci.org/shogun-toolbox/shogun/builds/134668091 | 10:16 |
sanuj | lisitsyn, here is the new code https://github.com/shogun-toolbox/shogun/pull/3221/commits/a8f95617961fa0cf9465d5531aac3cd99fa2d8f6 | 10:17 |
lisitsyn | debug what? | 10:18 |
sanuj | lisitsyn, https://travis-ci.org/shogun-toolbox/shogun/jobs/134668092#L1678 | 10:19 |
lisitsyn | sanuj: well why did you use ShogunException()? | 10:21 |
lisitsyn | it should be ShogunException | 10:22 |
sanuj | okay let me try that | 10:22 |
sanuj | lisitsyn, that worked | 10:49 |
sanuj | lisitsyn, heiko was asking whether a user can set any parameters with tags without any restriction? | 11:05 |
sanuj | lisitsyn, his comment is here in an outdated diff https://github.com/shogun-toolbox/shogun/pull/3221 | 11:05 |
sanuj | i think the user can set/get anything | 11: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 #shogun | 11:40 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 11:40 | |
-!- sanuj [~sanuj@117.203.10.146] has joined #shogun | 12:24 | |
Saurabh7 | HeikoS: yo | 12:24 |
@HeikoS | Saurabh7: hihi | 12:25 |
@HeikoS | wiking: jo | 12:25 |
@HeikoS | arianepaola: hi! we are still missing 1.5 notebooks from last week | 12:25 |
Saurabh7 | HeikoS: I updated the PR, most should be good apart from an issue | 12:25 |
@HeikoS | Saurabh7: let me check | 12:25 |
Saurabh7 | other than that I was having a look at LARS | 12:25 |
@HeikoS | Saurabh7: cool! | 12:25 |
Saurabh7 | HeikoS: so I was wondering if we want to test the private methods like cholesky insert | 12:26 |
@HeikoS | Saurabh7: yes definitely | 12:26 |
@HeikoS | Saurabh7: btw these guys can be done using eigen | 12:27 |
Saurabh7 | HeikoS: so i move to an impl class and make them public | 12:27 |
@HeikoS | i.e. the low-rank updates of cholesky factors | 12:27 |
@HeikoS | so you can also think about putting them in linalg later (once that is done) | 12:27 |
@HeikoS | Saurabh7: no need to make the mpublic | 12:27 |
@HeikoS | Saurabh7: an impl class is a good idea nevertheless | 12:27 |
Saurabh7 | HeikoS: then how would i test them ? | 12:28 |
@HeikoS | Saurabh7: ah sorry, of course make them public in there | 12:28 |
Saurabh7 | ok | 12:28 |
@HeikoS | Saurabh7: you can create mock classes | 12:28 |
@HeikoS | that is: in the test file, you create a mock class that inherits from the class with private methods | 12:29 |
@HeikoS | then you implement a public method that calls the private one | 12:29 |
@HeikoS | Saurabh7: but not really needed | 12:29 |
Saurabh7 | HeikoS: i see | 12:29 |
@HeikoS | lets put it in an impl class, use pimpl pattern in the interface class | 12:29 |
@HeikoS | and the interface class just does input checking and interfaces for SWIG | 12:29 |
Saurabh7 | HeikoS: ok cool | 12:30 |
Saurabh7 | HeikoS: some things i dont undersstand how to replace with eigen | 12:30 |
@HeikoS | ok | 12:30 |
@HeikoS | ask me :) | 12:30 |
@HeikoS | Saurabh7: btw about your question in the PR | 12:30 |
@HeikoS | you mean you have to specify the number of threads | 12:31 |
@HeikoS | and otherwise it is only using a single one? | 12:31 |
Saurabh7 | HeikoS: yes | 12:31 |
@HeikoS | I see | 12:31 |
@HeikoS | lambday can fix this once he comes | 12:31 |
Saurabh7 | ->get_num_cpus always is 1 | 12:31 |
@HeikoS | but your PR is merge ready still? | 12:31 |
Saurabh7 | so unit test might not be testing multi thread | 12:32 |
@HeikoS | I see | 12:32 |
@HeikoS | that is weird | 12:32 |
@HeikoS | so the unit test actually didnt run with more than a few threads? | 12:33 |
Saurabh7 | locally it runs with 1 always | 12:33 |
@HeikoS | actually, then you can just set the number of threads to 3 manually | 12:33 |
Saurabh7 | so i set_num_thread(3) manually | 12:33 |
@HeikoS | in the unit test that is fine (if num_threads > num_cpu) | 12:33 |
@HeikoS | yeah do that in the unit test | 12:33 |
@HeikoS | and can you add unit tests for the other cases you considered as well? | 12:33 |
Saurabh7 | I added one more for KNN | 12:34 |
@HeikoS | ah yeah I see it | 12:34 |
Saurabh7 | HeikoS: its just testing the mean of accuracy | 12:34 |
Saurabh7 | is that good ? | 12:34 |
@HeikoS | nope ;) | 12:34 |
@HeikoS | need to make sure it is *exactly* the same output | 12:35 |
Saurabh7 | ok what else could i add | 12:35 |
@HeikoS | ah wait | 12:35 |
Saurabh7 | hm | 12:35 |
@HeikoS | nono sorry | 12:35 |
@HeikoS | it is fine | 12:35 |
@HeikoS | KNN is deterministic right? | 12:35 |
@HeikoS | set_num_threads(cross->parallel->get_num_cpus()); | 12:35 |
@HeikoS | this should set it to 3 | 12:35 |
@HeikoS | ok, the manual setting of number of threads is the last thing that needs change | 12:36 |
@HeikoS | then we can merge it | 12:36 |
@HeikoS | you should put an item to NEWS | 12:36 |
@HeikoS | this is nice | 12:36 |
@HeikoS | you should also update the CrossValidation @brief | 12:36 |
sanuj | HeikoS, hi! | 12:37 |
Saurabh7 | ok doing | 12:37 |
@HeikoS | and say that this runs in parallel with the number of threads being equal to set_num_threads Parallel::get_num_cpus() | 12:37 |
@HeikoS | mmh or actually, wrong, Parallel::get_num_threads() | 12:37 |
@HeikoS | Saurabh7: and also explicitly say that we are cloning *everything* at the moment so this might be memory intense | 12:38 |
@HeikoS | sanuj: hi there | 12:38 |
@HeikoS | Saurabh7: so if you update @brief, change the test, then we can merge | 12:38 |
@HeikoS | (and NEWS) | 12:38 |
@HeikoS | (and squash into single commit :)) | 12:38 |
@HeikoS | nice work, this was asked for a lot | 12:38 |
@HeikoS | Saurabh7: can you also keep the scripts you used to benchmark? for the report at end of project | 12:39 |
Saurabh7 | HeikoS: yep , mayb add it to framework in some way | 12:40 |
sanuj | HeikoS, i tried Math.init_random(0) in gmm cookbook => TypeError: Failed to tokenize input | 12:40 |
@HeikoS | sanuj: yeah that is a bug | 12:40 |
@HeikoS | sanuj: is that all you changed? | 12:40 |
@HeikoS | in the existing file? | 12:41 |
sanuj | HeikoS, yes | 12:41 |
sanuj | HeikoS, do i need to add something else? | 12:41 |
@HeikoS | sanuj: I dont get this error | 12:41 |
@HeikoS | ah wait | 12:41 |
@HeikoS | I get a different one ;) | 12:42 |
sanuj | HeikoS, i get this while building cookbook | 12:42 |
@HeikoS | but the tokenise fail | 12:42 |
@HeikoS | I dont get it | 12:42 |
@HeikoS | so make meta_examples works | 12:42 |
@HeikoS | but make build_cpp_meta_examples doesnt | 12:42 |
sanuj | HeikoS, i get the same error for make meta_examples also | 12:43 |
sanuj | shall i do it in a fresh build | 12:43 |
@HeikoS | actually | 12:43 |
@HeikoS | it works | 12:43 |
@HeikoS | compilling the meta examples also works | 12:43 |
@HeikoS | and the cpp listing looks good as well | 12:43 |
sanuj | okay, let me see | 12:44 |
@HeikoS | is this latest develop? | 12:44 |
sanuj | yes | 12:44 |
@HeikoS | try removing the build dir and re-creating | 12:44 |
sanuj | yeah | 12:44 |
@HeikoS | if that helps, then we can update cmake to do these clean ups | 12:44 |
@HeikoS | sanuj: cpp works here | 12:45 |
@HeikoS | sanuj: Python doesnt (this is a bug I found last night) | 12:45 |
@HeikoS | (I mean, executing the generated listing/binary) | 12:45 |
@HeikoS | sanuj: btw the tags look great | 12:45 |
sanuj | HeikoS, most of python_modular fails on my machine | 12:45 |
sanuj | HeikoS, thanks:), i added error handling and today | 12:45 |
sanuj | HeikoS, will move to writing swig interfaces for them | 12:46 |
@HeikoS | great | 12:46 |
sanuj | i saw your comment about allowing parameters with any name | 12:46 |
@HeikoS | sanuj: what are your plans for integrating with main shogun? | 12:46 |
@HeikoS | sanuj: btw | 12:47 |
@HeikoS | Math:init_random(0) | 12:47 |
@HeikoS | with a COLON | 12:47 |
@HeikoS | it is a static call | 12:47 |
sanuj | HeikoS, this should be merged with main shogun by the end of this week or starting of next week | 12:47 |
sanuj | okay | 12:47 |
@HeikoS | sanuj: great, and then the hard transition begins I guess ;) | 12:47 |
sanuj | HeikoS, yes and plugins | 12:47 |
@HeikoS | sanuj: yep | 12:47 |
@HeikoS | and interface design | 12:48 |
@HeikoS | I have some thoughts on this together with lambday | 12:48 |
@HeikoS | in terms of design patterns needed etc | 12:48 |
sanuj | HeikoS, okay, yeah i need to make that diagram also | 12:48 |
@HeikoS | sanuj: once tags are merged, we can remove all getters/setters and all SG_ADD, right? | 12:48 |
@HeikoS | and then OXPHOS can do her cereal thing much easier | 12:48 |
sanuj | HeikoS, yes, but this might get tricky | 12:49 |
@HeikoS | sanuj: explain | 12:49 |
@HeikoS | sanuj: btw your libsvr cookbook is ready, just need integration test | 12:49 |
sanuj | HeikoS, everything should be changed along with examples and cookbooks for changing one class for using tags parameters | 12:50 |
sanuj | HeikoS, and there might be unforeseen problems | 12:50 |
@HeikoS | sanuj: yeah | 12:50 |
sanuj | HeikoS, i have updated the integration tests | 12:50 |
sanuj | for svr | 12:50 |
@HeikoS | sanuj: cookbooks are easy, they just use the SWIG interface | 12:51 |
@HeikoS | (apart from cpp) | 12:51 |
@HeikoS | so need to touch all of them, but minor changes | 12:51 |
@HeikoS | I guess we should start with one | 12:51 |
@HeikoS | sanuj: I think we should not touch the other examples (apart from ipython notebooks) | 12:51 |
@HeikoS | sanuj: because we want to replace everything with cookbooks anyways | 12:51 |
@HeikoS | so can do the change then | 12:52 |
@HeikoS | in that sense | 12:52 |
sanuj | HeikoS, yeah that's correct | 12:52 |
sanuj | but the build will fail | 12:52 |
@HeikoS | the meta examples should be first step | 12:52 |
@HeikoS | hehe | 12:52 |
sanuj | travis i mean | 12:52 |
sanuj | haha | 12:52 |
@HeikoS | need to find a nice incremental way | 12:52 |
@HeikoS | cant break the develop build during gsoc | 12:52 |
@HeikoS | that is baaaad | 12:52 |
sanuj | HeikoS, write cookbooks while making classes use tags | 12:52 |
@HeikoS | yep | 12:53 |
@HeikoS | okok, but go on with your stuff for now | 12:53 |
@HeikoS | thanks for the update | 12:53 |
sanuj | HeikoS, cool | 12:53 |
sanuj | HeikoS, svr cookbook dataset is already there | 13:00 |
sanuj | HeikoS, https://github.com/shogun-toolbox/shogun-data/pull/92 | 13:00 |
@HeikoS | sanuj: yeah but you need to put the data version in (or is it alreadY) | 13:01 |
@HeikoS | https://travis-ci.org/shogun-toolbox/shogun/jobs/134431490#L3978 | 13:01 |
@HeikoS | ah sorry | 13:01 |
@HeikoS | I oversaw that | 13:01 |
@HeikoS | merging :) | 13:01 |
sanuj | cool :) | 13:01 |
@HeikoS | thanks for that! | 13:02 |
@HeikoS | Notebooks are growing nicely :) | 13:02 |
@HeikoS | and we fixed quite a few bugs already | 13:02 |
@HeikoS | let me know how you gmm goes | 13:02 |
sanuj | okay | 13:03 |
sanuj | HeikoS, i have added this Math:init_random(0) | 13:12 |
sanuj | in gmm.sg | 13:12 |
sanuj | still getting the same error | 13:12 |
shogun-buildbot | build #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-buildbot | build #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 #shogun | 13:20 | |
-!- mode/#shogun [+o lambday] by ChanServ | 13:20 | |
arianepaola | hello everyone | 13:21 |
@lambday | arianepaola: hello | 13:23 |
arianepaola | hi lambday | 13:24 |
@lambday | arianepaola: 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 installed | 13:25 |
@lambday | so do you know how to make it work? I need to turn off the meta examples | 13:26 |
@lambday | to make it work | 13:26 |
@lambday | I installed numpy in a similar fashion and cmake was able to detect that | 13:26 |
arianepaola | lambday: 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-compiler | 13:27 |
@lambday | arianepaola: so python-ply worked for you? | 13:28 |
@lambday | huh | 13:28 |
@lambday | :/ | 13:28 |
@lambday | let me check what I am doing wrong | 13:28 |
arianepaola | If you check https://github.com/arianepaola/shogun/blob/64d24e0b11bca092b0c385938b0490ce34f57380/cmake/FindPLY.cmake | 13:29 |
arianepaola | the path could be different as in: https://github.com/shogun-toolbox/shogun/pull/3232/files | 13:29 |
@HeikoS | wiking: jo | 13:34 |
@lambday | arianepaola: maybe there is an issue with my installation | 13:34 |
@HeikoS | sanuj: can you post a gist? | 13:34 |
Saurabh7 | HeikoS: that extra REF on machine->clone is leading to leak :) | 13:35 |
Saurabh7 | might have to remove taht one afterall | 13:36 |
arianepaola | lambday: if you installed the python packages using pip, they were probably installed in /usr/local | 13:36 |
@HeikoS | Saurabh7: no | 13:36 |
@HeikoS | not remove it | 13:36 |
@HeikoS | need to find which object is not deleted at the end | 13:36 |
@HeikoS | and then SG_UNREF that | 13:36 |
arianepaola | the cmake config does not look there and if you used pip install --user it won't either | 13:36 |
@lambday | arianepaola: when I installed it using pip it worked.. now I installed it using fedora's dnf install - it doesn't :D | 13:36 |
Saurabh7 | HeikoS: only machine->clone shows leaking | 13:37 |
Saurabh7 | not features->clone | 13:37 |
@HeikoS | Saurabh7: if you do a simple test | 13:37 |
@HeikoS | instantieate a machine | 13:37 |
@HeikoS | clone it | 13:37 |
@HeikoS | SG_UNREF it | 13:37 |
@HeikoS | does that leak? | 13:37 |
Saurabh7 | ok lemme try | 13:37 |
@lambday | arianepaola: I am quite sure that this is due to a problem in my installation | 13:37 |
@lambday | arianepaola: anyway sorry to bother.. don't worry I'll check it | 13:37 |
@HeikoS | Saurabh7: check the API doc for clone | 13:38 |
@HeikoS | Note that the returned object is SG_REF'ed | 13:38 |
@HeikoS | Saurabh7: it *is* already refed | 13:38 |
@HeikoS | so remove the SG_REF then | 13:38 |
@HeikoS | since it increases the counter to 2 otherwise | 13:38 |
@HeikoS | sorry, I forgot about that | 13:38 |
@HeikoS | (even though I wrote it ;) ) | 13:38 |
Saurabh7 | HeikoS: :) | 13:38 |
arianepaola | ok, 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 work | 13:39 |
@HeikoS | arianepaola: lambday the way cmake checks for ply leaves it to the python interpreter itself | 13:40 |
@HeikoS | it just does python -c 'import ply' | 13:40 |
@HeikoS | it doesnt explicitly look for the lib | 13:40 |
@HeikoS | so this means ply is not available to python, which means the installation is fauly | 13:40 |
@HeikoS | not a cmake problem | 13:40 |
@HeikoS | sanuj: it is weird that you get this error | 13:41 |
arianepaola | HeikoS: right, just had another look | 13:41 |
arianepaola | it might be also a Python v2 vs. v3 pip install problem, depending which interpreter is default for the build | 13:42 |
@HeikoS | yep | 13:42 |
@HeikoS | check FindPLY | 13:42 |
@HeikoS | it just uses the PythonInterp | 13:42 |
sanuj | HeikoS, here is the error | 13:42 |
sanuj | http://pastebin.com/yGH4ZpcN | 13:42 |
@HeikoS | sanuj: whats line 17 of your parse.py | 13:43 |
@HeikoS | in generators/ | 13:43 |
@HeikoS | examples/meta/generators | 13:43 |
@HeikoS | sorry line 172 | 13:44 |
sanuj | HeikoS, "staticCall : type COLON identifier LPAREN argumentList RPAREN" | 13:44 |
@HeikoS | mmh | 13:44 |
@HeikoS | weird | 13:45 |
@HeikoS | and if you change the argument from 0 to 1 | 13:45 |
@HeikoS | Math:init_random(1) | 13:45 |
@HeikoS | sanuj: can you update the PR and also see whether travis has the same error? | 13:45 |
sanuj | still error | 13:46 |
sanuj | HeikoS, i'll have to start a new PR | 13:46 |
sanuj | so i just need to add this one line right? | 13:46 |
@HeikoS | sanuj: yeah | 13:46 |
@HeikoS | python will fail | 13:46 |
sanuj | okay | 13:46 |
@HeikoS | but cpp should work | 13:46 |
sanuj | i'll start a new PR | 13:46 |
@HeikoS | there is not integraton test data yet right? | 13:46 |
@HeikoS | sanuj: yeah lets see that | 13:46 |
@HeikoS | sanuj: it is very good that we figure out all these problems btw | 13:47 |
@HeikoS | iumpossible to predict when writing the meta example systenm | 13:47 |
sanuj | cool | 13:47 |
shogun-buildbot | build #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 #shogun | 13: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 |
@lambday | deepak_: cheers! :) | 13:52 |
Saurabh7 | HeikoS: lambday how would i do these with eigen https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/regression/LeastAngleRegression.cpp#L358 | 14:23 |
@lambday | Saurabh7: hah what does it do? | 14:25 |
Saurabh7 | lambday: from what i understood solves a linear eq | 14:25 |
@lambday | Saurabh7: yeah but there are many kinds :| | 14:26 |
Saurabh7 | others I came accross are jsut matrix vec multiplications , this i didnt get how to change | 14:26 |
@lambday | Saurabh7: maybe check the documentation a bit? | 14:26 |
@lambday | note that not all methods that cblas offers have a eigen3 counterpart | 14:27 |
@lambday | most of them have | 14:27 |
@lambday | at least from what I've seen | 14:27 |
Saurabh7 | lambday: http://www.netlib.org/lapack/explore-html/d1/d54/group__double__blas__level3.html#ga6a0a7704f4a747562c1bd9487e89795c | 14:27 |
Saurabh7 | lambday: hm i see, then how would i proceed | 14:28 |
-!- c4goldsw [5da420e6@gateway/web/freenode/ip.93.164.32.230] has joined #shogun | 14:29 | |
@lambday | Saurabh7: this is a matrix eq.. | 14:30 |
Saurabh7 | lambday: yes | 14:31 |
@lambday | Saurabh7: I couldn't find an eigen3 equivalent | 14:34 |
@lambday | maybe lisitsyn would know | 14:34 |
@lambday | lisitsyn: eigen3 equivalent for cblas DTRSM ? | 14:34 |
@HeikoS | Saurabh7: gotta find out what this thing actually does | 15:21 |
@HeikoS | Saurabh7: http://www.netlib.org/lapack/explore-html/d1/d54/group__double__blas__level3.html#ga6a0a7704f4a747562c1bd9487e89795c | 15: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 compile | 15:23 |
deepak_ | \PING | 15:23 |
deepak_ | Sorry | 15:23 |
@HeikoS | Saurabh7: I think this is a triangular solve | 15:23 |
sanuj | HeikoS, travis didn't complain for cpp https://travis-ci.org/shogun-toolbox/shogun/builds/134721047 | 15:23 |
@HeikoS | which means you can use eigen's LLT | 15:23 |
@HeikoS | Saurabh7: and it makes sense as they update cholesky factors in lars | 15: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 |
Saurabh7 | HeikoS: ok | 15:24 |
@HeikoS | Saurabh7: best to try to reproduce the behaviour with eigen3 | 15:24 |
@HeikoS | in a small example | 15:24 |
@HeikoS | create a small triangular matrix and reproduce blas behaviour with llt behaviour | 15:24 |
Saurabh7 | HeikoS: I think I can get some values to compare from the matlab implementation this was imported from too | 15:25 |
@HeikoS | deepak_: you should post the actual code you are trying to compile as a gist | 15:25 |
Saurabh7 | HeikoS: isee ok i will try tahta | 15:25 |
@HeikoS | then we can help | 15:25 |
@HeikoS | Saurabh7: yeah ok | 15:25 |
deepak_ | HeikoS : https://github.com/shogun-toolbox/shogun/wiki/README_developer the second example in this one | 15:25 |
deepak_ | with the gaussian kernel | 15:26 |
@HeikoS | deepak_: can you post the exact gist and the exact command? | 15:27 |
@HeikoS | sanuj: saw it | 15:28 |
@HeikoS | the cpp works | 15:28 |
@HeikoS | which means meta example parsing work | 15:28 |
@HeikoS | weird that it doesnt on your machine | 15:28 |
@HeikoS | might be a bug | 15:28 |
@HeikoS | whats your ply version? | 15:28 |
sanuj | HeikoS, 3.8 | 15:32 |
@HeikoS | sanuj: and the one on travis? | 15:33 |
deepak_ | HeikoS :Here you go : https://gist.github.com/deepakkandasamy/536ad36a02fa7cb9960a38d411ee6424 | 15:36 |
sanuj | HeikoS, how to find that? | 15:37 |
@HeikoS | deepak_: which version of shogun is this? | 15:37 |
@HeikoS | deepak_: try adding a -std=c++11 to the argument, does that help? | 15:37 |
@HeikoS | it should | 15:37 |
@HeikoS | that is it | 15:37 |
deepak_ | HeikoS yes , it does, thanks ;) | 15:38 |
@HeikoS | the code that causes the error, line 69 of SGVector.h is guarded for c++11 | 15:38 |
@HeikoS | deepak_: feel free to send a patch with an updated readme | 15:38 |
deepak_ | HeikoS : Sure, in some time :) | 15:40 |
sanuj | HeikoS, i'm writing the neural net cookbook | 15:51 |
sanuj | these can be used for binary/multiclass classification and regression | 15:51 |
sanuj | HeikoS, in the cookbook i'm using data with binary labels | 15:51 |
sanuj | shall i also mention in the end that same Neuralnet class can be used for other purpose like regression | 15:52 |
sanuj | or do we have separate cookbook pages like | 15:52 |
sanuj | nn for classification, nn for regression etc | 15:53 |
deepak_ | HeikoS : I am not able to update the readme as the page is on the wiki | 16:03 |
@HeikoS | sanuj: yeah definitely | 16:13 |
@HeikoS | deepak_: Ah yes, you can just send it to me via email | 16:14 |
arianepaola | I am finishing the Python package | 16:32 |
arianepaola | I have added a pull request, but it needs some work when egg packaging to include the files and also specify platform build information | 16:33 |
@wiking | arianepaola: great! | 16:33 |
@wiking | arianepaola: pr link plz (too many emails lately) | 16:33 |
arianepaola | https://github.com/shogun-toolbox/shogun/pull/3240 | 16:33 |
-!- sanuj [~sanuj@117.203.10.146] has quit [Ping timeout: 264 seconds] | 16:34 | |
@lambday | lisitsyn: ping | 16:40 |
@lambday | lisitsyn: I have a question | 16:40 |
@lambday | lisitsyn: any idea why I might get this error from pythonmodular | 16:40 |
@lambday | TypeError: in method 'MMD_set_kernel_selection_strategy', argument 2 of type 'CKernelSelectionStrategy *' | 16:41 |
@lambday | lisitsyn: 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 #shogun | 16:48 | |
lisitsyn | lambday: pointers? | 17:07 |
lisitsyn | looks like you don't have * in one case | 17:08 |
@lambday | lisitsyn: so I do a add_kernel(GaussianKernel(10, width)) from python while the c++ code looks like add_kernel(CKernel* kernel) | 17:10 |
lisitsyn | yeah that's ok | 17:10 |
@lambday | lisitsyn: what can prevent it from similar use-cases for other classes? | 17:11 |
@lambday | I have this method set_kernel_selection_strategy(CKernelSelectionStrategy *) and from python I do set_kernel_selection_strategy(KernelSelectionStrategy(...)) | 17:12 |
@lambday | lisitsyn: I don't have copy-ctor or assignment operators in the 2nd cases, but that shouldn't pose a problem since it is just pointers | 17:12 |
OXPHOS | lambday: hey! thanks for the review | 17:17 |
@lambday | OXPHOS: how's it going? | 17:18 |
lisitsyn | lambday: I am not sure what's wrong with that | 17:18 |
OXPHOS | lambday: im working on the gpu part. If i need to test, I'll have to make the ViennaCL work at local, which dosens't now | 17:18 |
@lambday | lisitsyn: me neither :/ it's pretty weird! | 17:18 |
@lambday | OXPHOS: yeah that's a priority | 17:19 |
@lambday | shouldn't be too hard :) | 17:19 |
-!- sanuj [~sanuj@117.203.10.146] has joined #shogun | 17:19 | |
OXPHOS | lambday: but one more question: If one vec is on GPU, the other on CPU, and GPUbackend not registered | 17:19 |
OXPHOS | we throw error or just transfer back? | 17:19 |
@lambday | OXPHOS: if GPU backend is not register, we cannot really create a GPUVector now, isn't it? The factory itself will throw error | 17:20 |
OXPHOS | currently, only both vec on GPU --> GPU registered, we do GPU | 17:20 |
@lambday | because we are not going to create those vectors by hand.. but a factory will do that | 17:20 |
OXPHOS | yeah...you'r right | 17:20 |
OXPHOS | hmm | 17:20 |
@HeikoS | Saurabh7: j how is the triangular solve going? | 17:28 |
@HeikoS | OXPHOS: hey | 17:30 |
@HeikoS | how are things? | 17:31 |
OXPHOS | HeikoS: hey, good good, working on linalg more | 17:31 |
OXPHOS | HeikoS: I can use init_random(1) to generate integration datafile for kmeans. or you want me to wait for the update? | 17:32 |
sanuj | OXPHOS, hey | 17:34 |
sanuj | are you talking about this? https://github.com/shogun-toolbox/shogun/pull/3239 | 17:34 |
OXPHOS | sanuj: hi yes! | 17:35 |
OXPHOS | sanuj: math:init_random() didn't work for me at local | 17:35 |
sanuj | OXPHOS, it fails for python, java, ruby and R :/ | 17:35 |
sanuj | OXPHOS, for cpp also? | 17:35 |
OXPHOS | sanuj: for me it even won't compile | 17:36 |
OXPHOS | like `0` | 17:36 |
sanuj | OXPHOS, same for me on local | 17:36 |
sanuj | was getting this error http://pastebin.com/yGH4ZpcN | 17:37 |
@HeikoS | OXPHOS: yeah just use 1 for now, doesnt matter | 17:37 |
@HeikoS | and change the .sg to 1 as well | 17:37 |
OXPHOS | sanuj: the same | 17:37 |
OXPHOS | HeikoS: okay | 17:37 |
@HeikoS | I think this might be Python version | 17:44 |
@HeikoS | ply version | 17:44 |
@HeikoS | will check | 17:44 |
@HeikoS | but travis is fine | 17:44 |
@HeikoS | which is weird | 17:44 |
@HeikoS | sanuj: can you compare your ply version against the one on travis or the buildbot? | 17:45 |
sanuj | HeikoS, how to know the ply version of travis? | 17:46 |
@HeikoS | sanuj: let me check | 17:50 |
sanuj | HeikoS, can i put comment in cookbooks code? | 17:53 |
sanuj | like: network.max_num_epochs = 0 #continue until convergence | 17:54 |
@HeikoS | sanuj: what do you mean? | 17:54 |
@HeikoS | that is something you would put in the test .rst file | 17:54 |
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has quit [Ping timeout: 250 seconds] | 17:54 | |
@HeikoS | in the sense that "Setting number of epochs to 0 results in training until convergence" | 17:55 |
sanuj | HeikoS, okay | 17:55 |
deepak_ | HeikoS : mail ID please | 17:57 |
@HeikoS | heiko.strathmann | 17:57 |
@HeikoS | it is on google mail | 17:57 |
@HeikoS | thanks for the contribution! | 17:57 |
sanuj | HeikoS, what does "karlnapf" mean? :) | 17:57 |
@HeikoS | sanuj: nothing | 17:58 |
@HeikoS | it is just a nickname :) | 17:58 |
sanuj | okay! | 17:58 |
sanuj | is it german? | 17:58 |
@HeikoS | yes | 17:58 |
@HeikoS | but just a name | 17:58 |
@HeikoS | no meaning | 17:58 |
sanuj | makes sense | 17:59 |
@HeikoS | Saurabh7: there? | 18:00 |
-!- OXPHOS [9d8b131c@gateway/web/freenode/ip.157.139.19.28] has joined #shogun | 18:01 | |
@HeikoS | OXPHOS: jojo | 18:04 |
@HeikoS | OXPHOS: can you remember to do this daily stand up thing first thing you come to IRC? | 18:04 |
@HeikoS | OXPHOS: then I dont need to ask all the time :) | 18:04 |
@HeikoS | what are you up to at the moment? | 18:04 |
OXPHOS | OXPHOS: sure sorry about that. finishing up the ViennaCL part of linalg.dot | 18:05 |
OXPHOS | HeikoS ^ | 18:05 |
sanuj | HeikoS, how shall i test swig interfaces for tags ? | 18:05 |
sanuj | cookbook or modular? | 18:06 |
OXPHOS | Enabled singleton and polished linalg CPU dot calculation yesterday | 18:06 |
@HeikoS | OXPHOS: no worries, just do it first thing you enter irc :) | 18:10 |
@HeikoS | OXPHOS: cool, is that all compiling code? | 18:10 |
OXPHOS | HeikoS: yes | 18:12 |
OXPHOS | HeikoS: and cleaned up cereal SGVector | 18:12 |
@HeikoS | OXPHOS: I saw that | 18:12 |
@HeikoS | good | 18:12 |
OXPHOS | HeikoS: actually the linalg gave some errors, in python/lua/octave? | 18:12 |
@HeikoS | OXPHOS: did you have a look at sanuj parameters stuff? | 18:12 |
OXPHOS | HeikoS: I didn't try very hard to figure out why | 18:13 |
@HeikoS | OXPHOS: what do you mean? | 18:13 |
OXPHOS | HeikoS: not yet | 18:13 |
@HeikoS | sanuj: you use meta examples :) | 18:13 |
@HeikoS | sanuj: no cookbook page necessary though | 18:13 |
OXPHOS | HeikoS: https://travis-ci.org/shogun-toolbox/shogun/builds/134650050 | 18:13 |
@HeikoS | just put a seperate directory tags | 18:13 |
@HeikoS | sanuj: and then write meta example code that does things | 18:13 |
@HeikoS | check whether it generates listings as you want | 18:13 |
@HeikoS | and then add them to the build | 18:13 |
@HeikoS | sanuj: see what I mean? | 18:13 |
@HeikoS | sanuj: but first step is unit test full coverage I guess? | 18:14 |
@HeikoS | lisitsyn: correct? | 18:14 |
@wiking | OXPHOS: what's this with load/load confusion | 18:14 |
@wiking | really dont get it | 18:14 |
@HeikoS | OXPHOS: when something fails | 18:14 |
@HeikoS | you should dig out the reason from the travis log | 18:14 |
lisitsyn | sanuj: yeah we need set/get to be fully covered | 18:14 |
@HeikoS | you can explore them from the page you sent | 18:14 |
@HeikoS | wiking: jo! | 18:14 |
@wiking | hellobelllo | 18:14 |
sanuj | HeikoS, lisitsyn okay | 18:15 |
sanuj | lisitsyn, can you review my PR and suggest what else is needed | 18:15 |
@HeikoS | OXPHOS: are you hiding your linalg stuff from SWIG? | 18:15 |
sanuj | lisitsyn, https://github.com/shogun-toolbox/shogun/pull/3221 | 18:15 |
lisitsyn | sanuj: ok | 18:16 |
OXPHOS | wiking: just math.h was trying to find something by calling SGVector.load during make but it called cereal load instead | 18:16 |
@HeikoS | OXPHOS: can you reproduce that locally? | 18:16 |
OXPHOS | wiking: jet lag :) | 18:16 |
OXPHOS | ? | 18:16 |
OXPHOS | HeikoS: not hiding; didn't try.. | 18:16 |
@wiking | OXPHOS: sort of | 18:16 |
@wiking | OXPHOS: but it has an arg Archive | 18:17 |
@wiking | i mean how could it confuse it | 18:17 |
@HeikoS | OXPHOS: haha | 18:17 |
OXPHOS | wiking: I guess they're all taking files? | 18:17 |
OXPHOS | wiking: I was confused too | 18:17 |
@HeikoS | wiking: btw we should have a discussion on how to do this serialization stuff soon | 18:17 |
@HeikoS | as in high level process | 18:18 |
@wiking | mmm wait | 18:18 |
@wiking | i mean i dont get wtf is this mixing | 18:18 |
@wiking | :) | 18:18 |
@wiking | just opened math.h | 18:18 |
@wiking | there's no load in that file | 18:19 |
deepak_ | HeikoS : I have mailed it to you | 18:19 |
@wiking | OXPHOS: could you please clarify this because this is way to weird | 18:19 |
@HeikoS | deepak_: thanks! | 18:19 |
@HeikoS | will check | 18:19 |
OXPHOS | wiking: 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 |
OXPHOS | wiking: may take a while to make | 18:21 |
@wiking | thn | 18:22 |
@wiking | x | 18:22 |
@HeikoS | deepak_: yeah! | 18:22 |
@HeikoS | wiking: still awake? ;) | 18:22 |
deepak_ | HeikoS then it should be fine I guess | 18:23 |
@wiking | sort of | 18:23 |
sanuj | lisitsyn, i just need to split the tests? not add more? | 18:25 |
lisitsyn | sanuj: can't say now, lets see after the split | 18:25 |
sanuj | lisitsyn, do i need to test set/get for every type possible? | 18:25 |
lisitsyn | sanuj: no, but makes sense to test with e.g. float | 18:26 |
lisitsyn | and sgvector<float> | 18:26 |
sanuj | okay | 18:26 |
@HeikoS | wiking: let me know when you have a minute to discuss few things | 18:27 |
@HeikoS | im also in shogun-gs now | 18:27 |
deepak_ | I'd like to contribute to shogun, now that I have everything installed, what do I do next? | 18:27 |
@HeikoS | deepak_: run some examples and play with them :) | 18:28 |
@HeikoS | deepak_: then have a look into our getting involved guide in the wiki | 18:28 |
@HeikoS | and then have a look at entrance tasks | 18: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 |
@HeikoS | nah | 18:43 |
@HeikoS | better try something else ;) | 18:43 |
@HeikoS | https://github.com/shogun-toolbox/shogun/issues/3057 this might be fun | 18:44 |
sanuj | HeikoS, 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 |
@HeikoS | sanuj: what do you mean? | 18:45 |
OXPHOS | wiking: https://gist.github.com/OXPHOS/b9c363c2de6129029428e270f3bc815c | 18:45 |
@HeikoS | deepak_: let me know how it goes :) | 18:45 |
deepak_ | HeikoS : sure :) | 18:46 |
sanuj | HeikoS, every time i add a new cookbook, i need to rebuild whole shogun code otherwise the new cookbook page is not built properly | 18:46 |
sanuj | isn't there a way to build and test cookbook meta examples with the shogun that i use in python by providing path | 18:48 |
@HeikoS | sanuj: nono | 18:48 |
@HeikoS | no need for that | 18:48 |
@HeikoS | just re-run cmake | 18:48 |
@HeikoS | and then make | 18:48 |
sanuj | yeah but it's slow :P | 18:48 |
@HeikoS | do you have ccache enabled? | 18:48 |
@HeikoS | takes a few seconds only here | 18:48 |
@HeikoS | you can also disable things | 18:48 |
@HeikoS | look out for the TRAVIS_DISABLE* flags of cmake | 18:49 |
sanuj | oh, with that also sometimes things are not generated properly | 18:49 |
@HeikoS | sanuj: you have to be more concrete than that if you want help ;) | 18:49 |
sanuj | best option is to build a fresh build | 18:49 |
sanuj | HeikoS, so sometimes meta examples are converted to cpp py and so on | 18:49 |
sanuj | but that code is not build into object files | 18:50 |
sanuj | or the integration data is not generated | 18:50 |
@HeikoS | none of this happens on my machine | 18:50 |
@HeikoS | so translating is done by | 18:51 |
@HeikoS | make meta_examples | 18:51 |
@HeikoS | if you want to compile their cpp code, do | 18:51 |
@HeikoS | make build_cpp_meta_examples | 18:51 |
@HeikoS | if you want to run them | 18:51 |
@HeikoS | make test | 18:51 |
@HeikoS | if make test runs all the things you dont want, you can disable them | 18:51 |
@HeikoS | if you add/change meta example files, you have to re-run cmake | 18:51 |
@HeikoS | I am heavily using this workflow and it always works | 18:52 |
sanuj | HeikoS, how to disable the other tests | 18:52 |
sanuj | okay | 18:52 |
sanuj | i just do make cookbook && make test | 18:52 |
@HeikoS | not make cookbook | 18:53 |
@HeikoS | that generates the html stuff | 18:53 |
sanuj | and HeikoS most of the python modular integration tests fail on my machine | 18:53 |
@HeikoS | sanuj: fail with what error? | 18:53 |
OXPHOS | sanuj: I can run none of python modulars. python will crash. | 18:53 |
@HeikoS | error message! | 18:54 |
sanuj | HeikoS, i will share the output when i get it next time | 18:54 |
@HeikoS | running python examples straight from the build might break | 18:54 |
@HeikoS | if your enviromental variables are not set correctly | 18:54 |
@HeikoS | or if you did sudo make install and then things might be mixed up | 18:54 |
sanuj | HeikoS, i haven't done sudo make install | 18:55 |
@HeikoS | sanuj: ok then is shogun in your python and ld_lib path? | 18:55 |
sanuj | HeikoS, it is not by default | 18:55 |
sanuj | i have a script that sets it when i want (as you suggested :) ) | 18:55 |
@HeikoS | what does python -c "import modshogun" do? | 18:55 |
@HeikoS | I see | 18:55 |
@HeikoS | you have to make sure python -c "import modshogun" works | 18:56 |
@HeikoS | if it doesnt, you python tests will fail | 18:56 |
deepak_ | HeikoS do I code this task in C++? | 18:56 |
@HeikoS | if that doesnt work, give me the error message | 18:56 |
@HeikoS | deepak_: yes | 18:56 |
deepak_ | HeikoS , Sure | 18:56 |
sanuj | HeikoS, this has to work immediately after "make" | 18:57 |
sanuj | ? | 18:57 |
@HeikoS | sanuj: no, immediately before you run your python tests | 18:58 |
sanuj | HeikoS, i do "make test" after "make" only | 18:58 |
@lambday | sanuj: HeikoS suggested to me yesterday that I increase the ccache cache size and now it is lightening fast :) | 18:59 |
@lambday | I allocated like 10 gigs for ccache | 18:59 |
@HeikoS | sanuj: okok, so I dont get what you want to do | 18:59 |
@HeikoS | test meta examples? | 18:59 |
@HeikoS | run meta examples? | 18:59 |
@HeikoS | test python examples? | 18:59 |
@HeikoS | translate meta_examples? | 18:59 |
@HeikoS | lots of options :D | 18:59 |
sanuj | oh i was talking about running python modular examples right now | 19:00 |
@HeikoS | ok | 19:00 |
@HeikoS | so then | 19:00 |
@HeikoS | PYTHONPATH, LD_LIBRARY_PATH need to be set | 19:00 |
sanuj | lambday, those 10 gigs are on hard disk right? | 19:00 |
@HeikoS | lambday: yes | 19:00 |
sanuj | cool, i'll try these | 19:01 |
@lambday | sanuj: check ccache help | 19:01 |
@lambday | I now have 4.2GB cached stuffs | 19:01 |
@lambday | 10K files cached :D | 19:01 |
@HeikoS | sanuj: you can check this stuff via | 19:01 |
@HeikoS | python -c 'import modshogun' | 19:02 |
sanuj | so HeikoS after fresh build, before running integration tests i need to update PYTHONPATH, LD_LIBRARY_PATH | 19:02 |
sanuj | okay | 19:02 |
@HeikoS | yes | 19:02 |
@HeikoS | doesnt matter before or after | 19:02 |
@HeikoS | since these paths just point to a dir | 19:02 |
sanuj | for that i would also have to make install to that dir | 19:03 |
@HeikoS | on my machine they point into the correposnding folders in my "build" dir | 19:03 |
@HeikoS | nono | 19:03 |
@HeikoS | EITHER: you make them point into the correct parts in your build dir | 19:03 |
@HeikoS | OR: you make them point to the place where "make install" installs shogun to (but for that you need to run "make install" everytime you update | 19:03 |
sanuj | okay, i get it now | 19:04 |
sanuj | i think the building experience will improve for me a huge deal now :D | 19:04 |
-!- deepak_ [0e8bb448@gateway/web/freenode/ip.14.139.180.72] has quit [Quit: Page closed] | 19:04 | |
@HeikoS | sanuj: if you deactivate the modular bindings then it is even faster | 19:04 |
@HeikoS | in the OR case above you need to re-build the interface everytime you do make install | 19:04 |
@HeikoS | in the EITHER case, you dont need to do that | 19:05 |
@HeikoS | (as the stuff is not copied on finish=) | 19:05 |
@HeikoS | sanuj: let me know how things go | 19:05 |
sanuj | HeikoS, yes | 19:05 |
sanuj | HeikoS, thanks :) | 19:05 |
@HeikoS | sanuj: 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 things | 19:05 |
sanuj | HeikoS, i'll keep that in mind :) | 19:05 |
@HeikoS | but yeah just ask, always happy tp help | 19:05 |
@HeikoS | OXPHOS: ^same for you | 19:05 |
sanuj | HeikoS, i'll write a readme about this soon | 19:06 |
OXPHOS | HeikoS: I got it. | 19:07 |
OXPHOS | lambday: I cannot use sg_linalg in unit-tests directly? | 19:21 |
@lambday | OXPHOS: you should be able to | 19:24 |
@lambday | OXPHOS: we can use sg_io | 19:24 |
@lambday | sg_linalg should work in a similar fashion | 19:24 |
@lambday | OXPHOS: it doesn't work? | 19:25 |
OXPHOS | lambday: undeclared identifier | 19:25 |
@lambday | OXPHOS: can you please elaborate a bit? | 19:25 |
OXPHOS | So I tried Linalg lr = *sg_linalg; | 19:26 |
OXPHOS | error: use of undeclared identifier 'sg_linalg' | 19:26 |
-!- sanuj [~sanuj@117.203.10.146] has quit [Quit: Leaving] | 19:27 | |
@lambday | OXPHOS: okay first of all, you should not do that.. that defeats the purpose of having a global instance | 19:27 |
OXPHOS | lambday: And I did a grep in tests. I didn't see any `sg_io` | 19:27 |
@lambday | OXPHOS: yeah we don't use it in library.. but you can set log level from sg_io in unit-tests if you like | 19:27 |
@lambday | that helps in debugging things when they don't wory | 19:27 |
@lambday | work* | 19:27 |
OXPHOS | lambday: okay. I should do (*sg_linalge).dot()? Not sure this works so I was testing sg_linalg | 19:28 |
@lambday | OXPHOS: you should be able to simply use it like sg_linalg->dot(a, b) | 19:28 |
OXPHOS | right.. | 19:28 |
@lambday | OXPHOS: try that and let me know what goes wrong :) | 19:29 |
OXPHOS | error: use 'template' keyword to treat 'dot' as a dependent template name auto result = sg_linalg->dot<int32_t>(&a_CPU, &b_CPU); | 19:29 |
OXPHOS | wait it's different | 19:29 |
@lambday | actually in these cases you should use it like objname.template methodname(....) | 19:30 |
@lambday | when invoking a template method from another dependent templated method | 19:30 |
@lambday | but that's technicality.. ignore that for now | 19:30 |
@lambday | 2nd thing : just remove the int32_t thing | 19:31 |
@lambday | it should be able to detect that thing automatically | 19:31 |
@lambday | if it doesn't, something is wron | 19:31 |
@lambday | g* | 19:31 |
OXPHOS | error: use of undeclared identifier 'sg_linalg' auto result = sg_linalg->dot(&a_CPU, &b_CPU); | 19:31 |
OXPHOS | lambday ^ | 19:31 |
@lambday | OXPHOS: which means, the global instance is not there | 19:32 |
@lambday | OXPHOS: maybe check a bit how sg_io or sg_parallel work? | 19:32 |
OXPHOS | lambday: lemme try sg_rand | 19:32 |
OXPHOS | ha | 19:32 |
@lambday | OXPHOS: just do sg_io->set_loglevel(MSG_DEBUG) :D | 19:32 |
@lambday | OXPHOS: which is very useful when you're debugging | 19:32 |
OXPHOS | lambday: sg_io works | 19:33 |
@lambday | OXPHOS: I know ;) | 19:34 |
@lambday | OXPHOS: so we have to make sg_linalg work in a similar fashion | 19:34 |
@lambday | check the namespace etc.. where it might go wrong | 19:35 |
@lambday | OXPHOS: btw do you enjoy what you've been working on so far? | 19:36 |
@lambday | learning new things.. figuring out what goes wrong | 19:36 |
-!- travis-ci [~travis-ci@ec2-54-197-107-235.compute-1.amazonaws.com] has joined #shogun | 19:37 | |
travis-ci | it'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/134799269 | 19:37 |
-!- travis-ci [~travis-ci@ec2-54-197-107-235.compute-1.amazonaws.com] has left #shogun [] | 19:37 | |
OXPHOS | lambday: yes for sure...? | 19:37 |
@lambday | some of these days we'll really make everyone pay for the next round of drinks :D | 19:37 |
@lambday | I myself owe like a billion of 'em | 19:37 |
@lambday | OXPHOS: good.. it's important that we like what we do :D | 19:38 |
OXPHOS | lambday: haha I thought there would be a trap or sth. | 19:39 |
@lambday | OXPHOS: nah trick questions is not really my thing :( | 19:39 |
@lambday | just wanted to ensure that you're okay with all that I'm asking you to do :D | 19:40 |
@lambday | OXPHOS: BTW how's the cereal stuff going? | 19:40 |
OXPHOS | lambday: glad to know ;) some of the stuff are really hard to learn without actually using | 19:40 |
@lambday | OXPHOS: it's a good experience.. I myself learned a lot of c++ during my first gsoc | 19:41 |
OXPHOS | lambday: had a prototype for SGVector, no large scale yet.. | 19:41 |
@lambday | OXPHOS: make sure that everything works locally.. that's the primary step | 19:41 |
OXPHOS | lambday: sure | 19:41 |
@lambday | OXPHOS: BTW you should install OpenCL and ViennaCL.. let me know if you have issues with that | 19:42 |
OXPHOS | I might..I have opencl and viennacl and there's no error when building. however, all viennacl unit-tests fail. | 19:42 |
@lambday | Saurabh7: any luck with the blas call? did you find anything? | 19:42 |
OXPHOS | lambday: I'll look closer after this sg_linalg stuff | 19:43 |
@lambday | OXPHOS: yeah.. it's always better to do things step by step | 19:43 |
@lambday | shouldn't be too hard.. | 19:43 |
OXPHOS | so in init.h/.cpp everything for linalg catcopys rand/io. And the test is using shogun namespace | 19:44 |
@lambday | OXPHOS: yeah that's how it should work | 19:44 |
@lambday | OXPHOS: just copy-paste the code for sg_io :P | 19:44 |
@lambday | that makes it globally available | 19:45 |
OXPHOS | lambday: Linalg derived from CSObject | 19:45 |
@lambday | OXPHOS: does it need to? | 19:45 |
@lambday | CSGObject is heavy with all those serialization and reference counting | 19:45 |
OXPHOS | lambday: yes..kinda forgot why | 19:45 |
@lambday | OXPHOS: umm we should figure it out.. I don't think it needs to be CSGObject derived | 19:46 |
@lambday | but I maybe wrong | 19:46 |
OXPHOS | lambday: okay lemme try. this will be fast. | 19:46 |
@lambday | SGIO doesn't derive from CSGObject, does it | 19:47 |
@lambday | neither does CParallel | 19:47 |
OXPHOS | error: no member named 'ref' in 'shogun::Linalg' SG_REF(sg_linalg); | 19:48 |
@lambday | OXPHOS: that's what happens when it is not a part of CSGObject.. | 19:48 |
@lambday | don't worry about that | 19:48 |
@lambday | just make it a smart pointer | 19:48 |
@lambday | don't use SG_REF | 19:48 |
@lambday | maybe unique_ptr :P | 19:49 |
@lambday | makes sense since it is supposed to be singleton | 19:49 |
OXPHOS | lambday: why SGIO can use SG_REF then? | 19:49 |
@lambday | OXPHOS: let me check | 19:50 |
@lambday | OXPHOS: hah it's cause it forces it to work | 19:51 |
@lambday | if you check the code for SGIO you'll realize | 19:51 |
@lambday | but that's easy to change.. | 19:51 |
OXPHOS | because the `int32_t ref();`? | 19:51 |
@lambday | for 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 thing | 19:51 |
@lambday | OXPHOS: yeah | 19:51 |
OXPHOS | lambday: okay I'll try unique_ptr for Linalg | 19:52 |
@lambday | OXPHOS: cool! | 19:52 |
OXPHOS | lambday: the smart pointer was claimed so easy to use. till I start to use it.. I'll see what happens this time | 19:53 |
@lambday | OXPHOS: haha it IS easy.. just gotta do it the right way :) | 19:54 |
@lambday | OXPHOS: you'll figure out the details soon as you work with it further | 19:54 |
OXPHOS | lambday: glad to know :) | 19:55 |
@HeikoS | OXPHOS: investments ;) | 20:04 |
OXPHOS | HeikoS: huge payback | 20:06 |
@HeikoS | OXPHOS: hehe yeah thats the spirit | 20:06 |
@HeikoS | OXPHOS: trust me, it is a good ability to have, you can impress lots of people in interviews with that ;D | 20:07 |
OXPHOS | HeikoS: I'll put right under my name on CV: Experienced at smart pointers | 20:08 |
@lambday | OXPHOS: now that's pretty smart | 20:08 |
@HeikoS | OXPHOS: you will see | 20:09 |
@HeikoS | if you stay in academia, this stuff is worth something | 20:09 |
@HeikoS | as people will perceive you as "serious coder" | 20:09 |
@HeikoS | which is useful for getting involved in projects | 20:09 |
OXPHOS | HeikoS: I heard in academia (espeically biomedical field) people are expecting you to work as 3 industry coder while paying you 1/3 | 20:10 |
OXPHOS | lambday: I don't think we can still set/get global_linalg easily with unq ptr | 20:11 |
@lambday | OXPHOS: we can directly use the instance itself without using any getters and setters (for now) | 20:12 |
@lambday | and there is no setting it | 20:12 |
@lambday | only getting | 20:12 |
OXPHOS | lambday: yeah was going to ask why do we need it for singleton? | 20:12 |
@lambday | which shouldn't be too hard with const T* unique_ptr<T>::get() const :P | 20:12 |
OXPHOS | getting was just a new name for the same memory? | 20:13 |
@lambday | OXPHOS: well, to prevent from creating multiple copies of it | 20:13 |
@lambday | otherwise people will simply abuse it | 20:13 |
@lambday | creating an instance every time they want to use linalg, and then making the whole thing a lot heavier than it should | 20:14 |
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has joined #shogun | 20:14 | |
travis-ci | it'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/134800808 | 20:14 |
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has left #shogun [] | 20:14 | |
@lambday | OXPHOS: basically get gives you the underlying naked ptr | 20:15 |
OXPHOS | lambday: we don't need the static attributes/accessor stuff to **ensure** only one object can be created? | 20:16 |
@lambday | OXPHOS: of course we do.. but not now.. | 20:17 |
@lambday | OXPHOS: just ensure that it works first :) | 20:17 |
OXPHOS | lambday: haha okay | 20:17 |
@lambday | as now you're the only one who is using it.. and you trust yourself not to abuse it | 20:17 |
@lambday | :P | 20:17 |
OXPHOS | Already did in test case :/ | 20:18 |
OXPHOS | lambday: unique_ptr can compile, but I still cannot use sg_linalg in tests. | 20:22 |
@lambday | OXPHOS: what is wrong? | 20:25 |
OXPHOS | lambday: still the same stuff, undeclared | 20:25 |
@lambday | OXPHOS: shouldn't be.. if we can use sg_io that is declared in the same way, we should be able to use sg_linalg | 20:26 |
@lambday | OXPHOS: yeah you did the test case, but it doesn't really work fully is it :) | 20:27 |
@lambday | we need to make it work first | 20:27 |
OXPHOS | lambday: yes..shall I pull it first? for the unique_ptr part. (and maybe it works on Travis. (sometimes happen | 20:29 |
@lambday | OXPHOS: it should work locally first, no? | 20:32 |
OXPHOS | lambday: wait Im close. sg_rand doesn't work | 20:32 |
@lambday | OXPHOS: just investigate a bit what went wrong | 20:32 |
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has joined #shogun | 20:36 | |
travis-ci | it'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/134806496 | 20:36 |
-!- travis-ci [~travis-ci@ec2-54-158-190-103.compute-1.amazonaws.com] has left #shogun [] | 20:36 | |
OXPHOS | lambday: okay it works now. | 20:55 |
OXPHOS | lambday: added namespace shogun { extern std::unique_ptr<Linalg> sg_linalg; } in test case | 20:55 |
OXPHOS | sgio and sgrand was added in SGObject and Math | 20:56 |
OXPHOS | but since they're all in namespace shogun why is this step necessary? | 20:56 |
OXPHOS | I googled. | 21:00 |
-!- HeikoS [~heiko@nat-190-53.internal.eduroam.ucl.ac.uk] has quit [Quit: Leaving.] | 21:08 | |
@lambday | OXPHOS: I think you can write that in Linalg.h.. and then whenever you include that header, you'll have access to that sg_linalg | 21:08 |
OXPHOS | lambday: sure. I'm trying to run viennacl now | 21:11 |
@lambday | OXPHOS: 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 #shogun | 21:23 | |
-!- mode/#shogun [+o besser82] by ChanServ | 21:23 | |
-!- c4goldswo [5da420e6@gateway/web/freenode/ip.93.164.32.230] has joined #shogun | 21:34 | |
-!- travis-ci [~travis-ci@ec2-54-147-155-3.compute-1.amazonaws.com] has joined #shogun | 21:49 | |
travis-ci | it'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/134816722 | 21: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 #shogun | 22:37 | |
travis-ci | it'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/134825019 | 22: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 #shogun | 23:06 | |
travis-ci | it'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/134831659 | 23: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 #shogun | 23:52 | |
-!- mode/#shogun [+o lambday] by ChanServ | 23:52 | |
-!- HeikoS [~heiko@host-92-0-162-192.as43234.net] has joined #shogun | 23:59 | |
-!- mode/#shogun [+o HeikoS] by ChanServ | 23: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!