IRC logs of #shogun for Thursday, 2017-07-06

--- Log opened Thu Jul 06 00:00:43 2017
-!- gideonite [~gideon@mookmo.net] has quit [Quit: Lost terminal]00:21
-!- mikeling [uid89706@gateway/web/irccloud.com/x-pyatdlfgiklkptwe] has joined #shogun02:59
mikelingHi wiking and lisitsyn , for the random and global see, https://gist.github.com/MikeLing/f29d8a39551734a3bd3fb202b40542ea is this what want?03:16
mikelingAfter I use CSGObject::set_global_seed() instead of sg_rand() and CMath::init_random(), some tests still failed03:17
mikeling*global seed03:17
@wikingyou can still call it set_seed()03:18
@wikinghere https://gist.github.com/MikeLing/f29d8a39551734a3bd3fb202b40542ea#file-random_refactor-cpp-L1103:19
@wikingit'd be enough to do return CSGObject::m_seed;03:19
@wikingi guess for this https://gist.github.com/MikeLing/f29d8a39551734a3bd3fb202b40542ea#file-random_refactor-cpp-L1803:19
@wikingyou converted generate_seed() to static of CRandom03:19
@wikingnow the question is03:20
@wikinghow do you create m_rng03:20
@wikingin SGObject03:20
@wikingbut actually03:20
@wikingseed really doesn't need to be member of SGObject03:20
@wikingwe could just have a global sg_seed03:21
@wikinglike we used to have sg_rng03:21
@wikingor sg_io03:21
mikelingwiking: sorry, I forget to include that part into gist https://gist.github.com/MikeLing/f29d8a39551734a3bd3fb202b40542ea#file-random_refactor-cpp-L603:21
mikelinghere03:21
@wikingok yeah03:21
@wikingthis was the idea roughly03:21
@wikingand even in this case you have failing tets?03:22
@wiking*tests?03:22
@wikingcan you share which ones?03:22
mikelingsure, just a second03:22
@wikingi have to leave now03:22
@wikingbut gonna come back on mobile03:22
@wikingjust a sec03:22
mikelingok, later. :)03:22
mikelingI have three unit test failed:03:31
mikeling212 - unit-NeuralLinearLayer (Failed)03:31
mikeling246 - unit-QuadraticTimeMMD (Failed)03:32
mikeling247 - unit-TwoDistributionTest (Failed)03:32
-!- wiking_mob [~Mutter@14.100.136.116] has joined #shogun03:38
wiking_mobHi03:38
wiking_mobmikeling: here?03:38
mikelingyes03:38
wiking_mobCan you copy paste your answer plz03:39
mikelingsure03:39
wiking_mobThnx03:39
wiking_mobSo jus03:39
wiking_mobIm just wondering which are the modules that are failing still for you03:40
mikelingwiking_mob: https://pastebin.mozilla.org/902637503:40
wiking_mobProbably in this case we will have to change the expected value of the unit tests03:41
wiking_mobIn all these tests there's a set seed right?03:41
mikelingyes, for example https://github.com/shogun-toolbox/shogun/compare/feature/random-refactor...MikeLing:get_rid_of_sg_rand#diff-99e054735e2346e73999f150d70befd903:42
mikelingthose mmd->set_seed(12345); has been removed03:42
mikelinglet me update it03:42
wiking_mobOkok03:43
wiking_mobBever03:43
wiking_mobNever03:43
wiking_mobMind i get it03:44
wiking_mobOk so this is probably already because we do not have a global random03:44
wiking_mobWhich is actually good03:44
wiking_mobTwo things03:44
wiking_mob1) could we move the static seed out of sgobject, and be a global var as sg_io?03:45
mikelingmmm, that's what we do before, sg_rand03:45
wiking_mobYea yeah03:45
wiking_mobBut no crandom globa03:45
wiking_mobOnly a uint32_t seed03:45
mikelingok, I see03:46
wiking_mobAnd make all Crandom use that03:46
wiking_mobYou can actually write in the default ctor of CRandom to use that global var03:46
wiking_mob2) once this little change is done send in the pr with the failing tests03:47
mikelingwiking_mob: BTW, sometimes we call sg_rand->set_seed() twice, like https://github.com/shogun-toolbox/shogun/blob/35059db38eef4c929ac5e0b2d01395bafbb124c9/tests/unit/statistical_testing/QuadraticTimeMMD_unittest.cc#L512-L51603:47
wiking_mobAnd we'll check with heiko and lambday if i'm right about the fact that this is really because of the fact that random is not global anymore03:48
mikelingit's going to refresh the status of random generator03:48
wiking_mobLemme check03:48
mikelingso03:48
mikelingmaybe we need to have a way to do that03:48
mikelingif we don't want to change the test03:48
wiking_mobWe will have to change the test anyways03:49
mikelingok03:49
wiking_mobAnyhow once you have that pr03:49
wiking_mobWe will ping the guys03:49
mikelingok, I see03:50
wiking_mobBut in the meanwhile we can move to the new step03:50
wiking_mobWhich is actually 203:50
wiking_mobMmmm03:50
wiking_mobOk one question03:50
wiking_mobIm wondering if we ever decided whether after switching to c++11 random engines would we still wrap them by a CRandom class or no?03:51
mikelingwiking_mob: yes we do,03:52
mikelingbecause we don't want to do those engine init and distribution choosing every time03:53
wiking_mobAha03:55
wiking_mobCos my problem is that03:55
wiking_mobFor that we would have some very stupid wrapper functions03:56
wiking_mobWhich i dont like03:56
wiking_mobThinking about all the different type of distribution one might want :(03:56
wiking_mobTo wrap these functions is a bit stupid03:57
wiking_mobBut yeah i agree03:59
wiking_mobThat we need an easy way to construct the random with the right seed etc03:59
wiking_mobBut that could be a simple lambda or somethinng04:01
wiking_mobmikeling: see what i mean?04:02
wiking_mobauto prng = get_prng();04:03
mikelingwiking_mob: so the prng is a random generator with c++11 random engines?04:04
wiking_mobYea04:06
wiking_mobSo like the mt....04:06
wiking_mobBy default04:06
wiking_mobmikeling: lemme think about this a bit04:08
wiking_mobYou can still do the pr :)04:08
mikelingwiking_mob: sure, I will commit that pr asap04:08
mikelingthanks04:08
wiking_mobYeah04:10
wiking_mobAnd lets ping those two about the errors04:10
wiking_mobBut im sure its something that we will face anyways when switching to another prng04:10
-!- wiking_mob [~Mutter@14.100.136.116] has quit [Remote host closed the connection]04:16
-!- wiking_mob [~Mutter@14.100.136.116] has joined #shogun04:24
-!- wiking_mob [~Mutter@14.100.136.116] has quit [Remote host closed the connection]04:27
-!- wiking_mob [~Mutter@14.100.136.116] has joined #shogun04:43
-!- wiking_mob [~Mutter@14.100.136.116] has quit [Remote host closed the connection]04:47
-!- Trixis [~Trixis@unaffiliated/trixis] has quit [Ping timeout: 260 seconds]07:28
-!- Trixis [~Trixis@unaffiliated/trixis] has joined #shogun07:30
-!- iglesiasg [~iglesiasg@217.119.234.214] has joined #shogun07:47
-!- mode/#shogun [+o iglesiasg] by ChanServ07:47
@wikingmikeling, how's going with the PR? :)09:05
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has joined #shogun09:30
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3905 merged by lisitsyn09:55
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/40632048978bfc560736c2fb84794891dfbe0e6c by lisitsyn09:55
-!- geektoni [~geektoni@93-34-128-38.ip49.fastwebnet.it] has quit [Remote host closed the connection]10:06
-shogun-buildbot:#shogun- Build osx1 - libshogun #55 is complete: Failure [test (failure)] - http://buildbot.shogun-toolbox.org:8080/#builders/25/builds/5510:08
@wikingmmm osx why u no like it10:15
lisitsyneh10:17
lisitsynwiking: Theorem 1. The Perceptron does not converge on mac10:17
@wiking:)10:18
lisitsynwiking: is there a *coin based on linear separability?10:19
lisitsynoh, vapnikcoin! you can mine vapkikcoin using 1/L2(w)10:20
lisitsynonce you have some you can minimize loss10:20
-shogun-buildbot:#shogun- Build osx1 - libshogun #56 is complete: Success [build successful] - http://buildbot.shogun-toolbox.org:8080/#builders/25/builds/5610:21
lisitsynI fueled up the build with some eth10:22
@wiking:>>>>>>>>>>>>10:24
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3906 opened by MikeLing10:30
@wikinggreat10:32
@wikinglets see what fails10:32
@wiking:)10:32
micmnwiking: any idea why I get this with python interface? https://pastebin.com/aUsEdWqq10:56
@wikinglemme check11:03
@wikingneed to debuggooo :)11:03
@wikingwhat happens if you do11:04
@wikingx = RealFeatures(np.random.randn(n,n))11:04
@wikingx.get_mean()11:04
@wikingis it the same?11:04
micmnyes11:04
@wikingloco11:05
micmnx.get_cov() works11:05
micmnget_mean() does not :>11:05
@wikingmikeling, you should just include common.h to have int32_t11:05
@wikingand not to use __int32_t11:05
@wikingmicmn, lol lemme see11:06
@wikingmicmn, btw that function implementation11:06
@wikingin DotFeatures.cpp11:06
@wikingis hurting11:06
@wikingfor get_mean () :)11:07
micmnhow would you improve that?11:09
@wikinglinalg?11:09
micmnI can do linalg::scale instead of the for11:10
micmnbut nothing more...11:10
@wikingyeah11:11
@wikingthat's already good11:11
@wikingas if you use either the eigen11:11
@wikingbackend11:12
@wikingthen if you compile it for ARM11:12
@wikingthen it'll use NEON11:12
@wikingwhile the compiler might not get that11:12
@wikingbut that's not the point here11:12
@wikingi wanna see why this error11:12
@wikingmicmn, this is like wtf for the time being :)11:57
@wikingi'm trying to see the shogun_PYTHON.cxx11:57
micmngood luck :D11:59
@wikingyeah that's a pain :)12:00
micmnwiking: mmm the difference with get_cov() is that get_mean() also has a static method with the same name (that in case of get_cov is compute_cov), I may try to rename it and see what happens12:08
micmnwiking: http://swig.10945.n7.nabble.com/Static-methods-and-python-td4956.html second post, it's 2007 but...12:12
@wikingyeye12:14
@wikingbut it's not static method :)12:14
@wikingthe only difference12:14
@wikingbetween get_cov and get_mean12:14
@wikingthat get_mean has two function signature12:14
micmnone is static12:15
@wikingget_mean() and get_mean(DotFeatures*, DotFeatures*)12:15
micmnstatic SGVector<float64_t> compute_mean(CDotFeatures* lhs, CDotFeatures* rhs);12:15
micmn(renamed it)12:15
@wikingand12:15
@wikingthen it works? :D12:15
@wikingdont tell me that then it works12:15
micmncompiling :P12:15
@wikinglol12:15
micmnin the meantime: modshogun.DotFeatures_get_mean(f,f) works12:19
@wikinghoh12:20
@wikingmicmn, In [5]: sg.RealFeatures(np.random.randn(n,n)).get_mean()12:24
@wikingOut[5]:12:24
@wikingarray([ 0.21471372, -0.39342012,  0.17837314, -0.772141  ,  0.39367933,12:24
@wiking        0.05230922,  0.10041175, -0.34108736,  0.00214895,  0.06972926])12:24
@wikingyou won a beer :)12:24
@wikingmicmn, wanna send a patch plz12:24
@wiking?12:24
micmnyep12:24
@wikingthnx12:24
@wikinggot catch!12:24
micmn:P12:24
@wikingi meant good catch12:27
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3907 opened by micmn12:32
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3906 synchronized by MikeLing12:45
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3907 synchronized by micmn12:59
@wikinganybody here fluent in R?13:24
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3907 merged by vigsterkr14:20
@sukey[https://github.com/shogun-toolbox/shogun] New commit https://github.com/shogun-toolbox/shogun/commit/d5ab2f22025a9fb0102eb2df49a552f47ea0e082 by vigsterkr14:20
@wikingmicmn, could you help out with https://github.com/shogun-toolbox/shogun/issues/3886#issuecomment-31338022514:25
@wiking?14:25
@wikingcheck on the code and see if u find something odd14:25
micmnwiking: checking14:52
@wikingthnx14:52
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3906 synchronized by MikeLing14:57
lisitsynwiking: do we need some smart anaconda detector?15:43
lisitsynin cmake15:43
@wikingy?15:43
lisitsyntired of having all the parameters in cmake15:43
lisitsynI have anaconda why can't it detect15:43
@wiking:>15:45
@wikingi have never compiled directly with conda15:45
lisitsynI do all the time15:54
@wiking:)15:55
@wikinghave fun15:55
lisitsynwhy? works15:56
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3908 opened by micmn16:04
@iglesiasglisitsyn: what is this conda and cmake parameters thingy? :)16:16
lisitsyniglesiasg: cmake -DINTERFACE_PYTHON=ON -DPYTHON_SHEATZ= …16:17
@iglesiasglisitsyn: yeah... pain to deal with all the params. I use ccmake for that and normally have separate build_ dirs16:19
@iglesiasglisitsyn: how are you handling it? Some good stuff?16:19
lisitsyniglesiasg: I just thought of pointing it to anaconda somehow16:19
lisitsynthen it would infer all the PYTHON_WHATEVER16:19
@iglesiasgah, I see16:20
lisitsyniglesiasg: actualmente distutils probablemente provide such stuff16:25
lisitsyn:P16:25
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3906 synchronized by MikeLing16:26
@iglesiasgoh, qué bien16:32
@iglesiasglisitsyn: te gusta distutils, más o menos que conda? :D16:32
lisitsyniglesiasg:haha16:33
lisitsyniglesiasg: I see value in conda's setup for numpy and stuff16:33
lisitsynbut everything else should be python-general16:33
@sukey[https://github.com/shogun-toolbox/shogun] Pull Request https://github.com/shogun-toolbox/shogun/pull/3751 synchronized by micmn17:53
-!- mikeling [uid89706@gateway/web/irccloud.com/x-pyatdlfgiklkptwe] has quit [Quit: Connection closed for inactivity]21:55
-!- sukey [~nodebot@ks312251.kimsufi.com] has quit [Remote host closed the connection]23:12
-!- sukey [~nodebot@ks312251.kimsufi.com] has joined #shogun23:13
-!- mode/#shogun [+o sukey] by ChanServ23:13
--- Log closed Fri Jul 07 00:00:44 2017

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