IRC logs of #shogun for Monday, 2017-06-05

--- Log opened Mon Jun 05 00:00:00 2017
-!- WangWang [uid231047@gateway/web/irccloud.com/x-femefenswaadtuuz] has quit [Quit: Connection closed for inactivity]01:28
-!- TingMiao [uid229534@gateway/web/irccloud.com/x-evchinoqkbepxlop] has quit [Quit: Connection closed for inactivity]01:38
@wikingironstark, is that yakkety?03:29
@wikingoh no that's Zesty Zapus03:29
@wikingok i have to check03:29
@wikingironstark, are you trying to use the ppa03:30
@wiking?03:30
@wikingas officially in in zesty only libshogun16 is available03:30
@wikingwhich is a very old shogun03:30
@sukeyPull Request #3767 "LinalgRefactor -  specialpurpose"  synchronized by OXPHOS - https://github.com/shogun-toolbox/shogun/pull/376703:59
-!- mikeling [uid89706@gateway/web/irccloud.com/x-dpckoixetjpfwohs] has joined #shogun04:17
mikelingwiking: ping04:51
@wikingpong04:51
mikelingwiking: hey! Had you read my email send to you and Heikos?04:53
mikelingDoes this comment and pr looks good to you?https://github.com/shogun-toolbox/shogun/pull/3832#issue-23344204504:53
@wikingyes04:54
@wikingi had04:54
@wikingbut my weekend was waaaay too busy04:54
@wikingsorry04:54
mikelingabout use std::deque instead of DynArray in DynamicArray04:54
mikelingit's ok04:55
mikeling:)04:55
mikelingwiking: Do we have any unit test for DynamicArray?04:55
mikelingBecause the test failed but I can't find why04:56
@wikingif you cannot find one04:56
@wikingthen it's probably because there's none04:56
mikelingafter I use std::deque  in DynamicArray04:56
@wikingyou want me to debug? )04:58
mikelingmmm, do we want some unit test for DynamicArray and CDynamicObjectArray first?04:59
mikelingbecause, you know, sometimes I really don't know why it failed out04:59
mikelingdue to the error wan't happened on the place I changed04:59
mikelingif we could catch the error in the beginning, it will be much better :)05:00
@sukeyPull Request #3767 "LinalgRefactor -  specialpurpose"  synchronized by OXPHOS - https://github.com/shogun-toolbox/shogun/pull/376705:02
mikelingwiking: still around? :)05:30
ironstarkwiking: yes i tried using the ppa as well as building it from scratch06:04
@wikingironstark, ppa will not work06:04
ironstarkboth gave errors06:04
@wikingmikeling, if you can add a unit test for it that would be great06:04
@wiking(DynamicArray)06:04
ironstarkbuilding it from scratch is also giving errors06:04
@wikingironstark, what's the problem with this: http://shogun.ml/install#manual-basics06:05
@wiking?06:05
@wikingwhat's the error?06:05
ironstarkwiking: https://paste.ubuntu.com/24761698/06:07
@wikingoh GOMP_parallel@GOMP_4.0'06:08
@wikingthat's weird06:08
@wikingbut06:08
@wikingdo you have libgomp1 installed on your system?06:09
mikelingwiking: ok, BTW, I still wondering why these GaussianProcessClassification tests failed https://travis-ci.org/shogun-toolbox/shogun/jobs/239338409#L7839. Please give me some guide on that if you have time to do so :)06:16
mikelingthank you06:16
@sukeyPull Request #3767 "LinalgRefactor -  specialpurpose"  synchronized by OXPHOS - https://github.com/shogun-toolbox/shogun/pull/376706:30
ironstarkwiking: yes libgomp1 is installed07:24
ironstarkit is updated to the latest version07:24
@wikingironstark, mmm that is weird though07:50
@wikingyou are using gcc to compile right?07:50
@wikingmikeling, here?08:44
mikelingwiking: yep08:45
@wikingmikeling, just checking your msg08:45
ironstarkwiking: yes i use gcc08:52
@wikingmikeling, i reckon the whole story is that there's a problem with indexing08:55
-!- shogitter1 [~nodebot@ks312251.kimsufi.com] has quit [Ping timeout: 260 seconds]08:56
mikelingwiking: mmm, the indexing for CDynamicArray?08:56
@wikingyes probably08:56
-!- shogitter [~nodebot@ks312251.kimsufi.com] has joined #shogun08:56
@wikingmikeling, of couuuurse08:56
@wikingwhat would be the other problem here is this08:56
@wikinghttps://github.com/shogun-toolbox/shogun/commit/308e5c488523efba35d89c9b2ef02cc9d9c047aa08:56
@wikingor partially is this as well08:56
@wikingsince the shuffle is not the same08:56
@wikingso i mean there are couple of things08:57
@wikingone of the thing is that of course the implementation of shuffle08:57
@wikingmikeling,  i mean check the old shuffle08:58
mikelingacutally I use gdb to output the vector in each step of GaussianProcessClassification , and most of  them(before I use std::deque and after) are the same08:58
mikelinguntil08:58
mikelingGaussianProcessClassification08:58
mikelingsoryy08:58
mikelingsorry, until m_kernel->init(m_features, m_features);08:58
@wikinghttps://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/base/DynArray.h#L448-L45908:59
@wikingso08:59
@wikingif you use in any ways shuffle in anywhere08:59
@wikingand rely on that08:59
mikelingbefore I use deque it's https://pastebin.mozilla.org/902352508:59
@wikingthis is gonna cause a lot of troubles08:59
@wikingyeah08:59
@wikingafter?08:59
@wikingdo you have that?09:00
mikelingand here is the after one https://pastebin.mozilla.org/902352609:00
mikelingwiking: ^09:00
@wikinguff09:00
@wikingthose values are tooooooootally differen09:01
@wiking:D09:01
@wikingis there a shuffle09:01
@wiking?09:01
@wikingcan you put a breakpoint09:01
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has joined #shogun09:01
mikelingwiking: sure, let me do it right now09:01
@wikingon the DynamicArray::shuffle09:01
@wikingboth of them09:01
@wikingbecause there's inline void shuffle() { m_array.shuffle(); }09:02
@wikingand inline void shuffle(CRandom * rand) { m_array.shuffle(rand); }09:02
@wikingso just breakpoint both09:02
@wikingand try to run it09:02
mikelingwiking: mmmm, actually we don't have inline void shuffle(CRandom * rand) { m_array.shuffle(rand); } for the deque version09:03
@wikingokok09:03
@wikingthat's fine09:03
@wikingi mean i'm wondering sjust09:03
@wikingwhat random does that one uses09:03
@wikingbut no worries09:03
@wikingjust see if shuffle is used09:03
mikelingok09:03
mikelingwiking: no, both of them(before and after)09:08
@wikingmmm09:08
mikelingwon't jump to the breakpoint in shuffle09:08
@wikingand this is the only patch09:08
@wikinghttps://github.com/shogun-toolbox/shogun/commit/308e5c488523efba35d89c9b2ef02cc9d9c047aa09:08
@wiking?09:08
mikelingwhat's the meaning of 'only patch'09:09
@wikingi mean the changes09:09
@wikingthat's "after"09:10
@wikingright?09:10
mikelingyep09:10
@wikingi just have a weird question here09:11
@wikingwhy do we wanna keep CDynamicArray?09:11
@wikingit doesn't do any SG_REF/UNREF09:12
mikelingwiking: ....ah09:12
@wikingbut anyhow09:12
mikelingactually I ask same question to you actually, several days ago09:12
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation."  synchronized by geektoni - https://github.com/shogun-toolbox/shogun/pull/383109:12
@wikingdid you? :)09:12
@wikingmaybe we had a miscommunication09:13
@wikingi mean generally speaking09:13
@wikingCDynamicArray is really an STL container09:13
@wikinglike vector or deque09:13
@wikingor list09:13
@wikingi mean it has some stupid wrapper functions09:13
mikelingwiking: Here: because a) CDynamicArray is using parameter framework (see all the SG_ADD); this is due to the fact of to be able to serialize CDynamicArray b) CDynamicArray has reference counting as it is derived from CSGObject09:15
@wikingaaaaaaah09:15
@wikingtrue story09:15
@wiking:(09:15
@wikingtotally forgot that one09:15
@wikingsorry man i'm a bit confused09:15
mikelingit's ok09:15
mikelingso09:15
mikelingwe want to keep it or not?09:15
@wikingwell if we could have09:16
@wikingSome<std::deque>09:16
@wikingthat'd be cool09:16
@wikingbut for now09:16
@wikinglet's forget that09:16
@wikinglet's do this in smaller steps09:16
@wikinglet's then just have the CDynamicArray use directly deque09:16
@wiking:)09:16
mikelingyes of course:)09:17
@wikinglemme see wtf09:17
@wikingbut yeah09:17
@wikingthere's for sure some of the errors09:18
@wikingin unit test because of shuffle09:18
@wikingbecause the shuffling is different .... so we'll have to adjust09:18
@wikingsome of the tests09:18
mikelingwiking: ok, but how about the GaussianProcessClassification test? I guess is not about shuffle.09:22
@wikingjust trying to see09:23
@wikinggimme couple of minutes09:23
mikelingbut I don't know which part of code about CDynamicArray get involved09:23
mikelingsure, np09:23
mikelingthank you :)09:23
@wikingdont have a compiler in my head :)09:24
@wikingnw09:24
@wikingmikeling, ok so CDynamicArray is quite heavily used in https://github.com/shogun-toolbox/shogun/blob/master/src/shogun/mathematics/Integration.cpp09:47
@wikingi'm not so sure where it goes wrong09:47
@wikingonly way to catch this is actually09:47
@wikingmaybe create a unit test for CDynamicArray09:47
mikelingwiking: But we will get rid of CDynamicArray anyway right? Actually, when I do CDynamicArray refactoring, I'm not so sure if I'm doing the right thing :/09:49
mikelingtoo many warp in there and09:49
@wikingmikeling, why did you introduced num_elements?09:50
@wikingmikeling, but i mean if you write 4 simple unit tests09:51
@wikingabout set get09:51
@wikingthen it should be fine i guess09:51
@wikingi mean just to make sure that before and after the refactor09:52
@wikingthe same thing happens09:52
@wikingthat unit test wouldnt be bigger than 40 lines09:52
mikelingwiking: same like std::vector, the num_elements will tell how many elements in that array09:53
mikelingfor example,09:54
@wikingyes09:54
mikelingif you have two array with 1 element, and you reset one of them09:54
@wikingbut isn't std::deque.size() enough for that?09:54
mikelingthese two array should different09:54
@wikingyes i understand09:54
@wikingbut as i suggested09:54
@wikingyou can override the equals09:54
mikelingbut std::deque.size()  will all return 1 in that case09:54
@wikingand do those checks there09:54
@wikingwhy?09:55
@wikingif there's nothing in it?09:55
mikelingyep, because reset or clear wouldn't change the size of that array,09:55
@wikingsize() = Returns the number of elements in the container09:55
mikelingsame with vector09:55
@wiking?09:55
@wikingSTL container.size() = how many elements are in it09:55
@wikingnot the preserved size of the array09:56
@wikingif you have09:56
mikelingno, for example, if you do   std::vector<int> test(10)09:56
@wikingtest.size() = 009:56
@wikingif you dont add anything into it09:56
mikelingthe size() will always return 10 if you don't earse or push_back it09:56
@wikingmikeling, ok i'm shocked :)09:59
@wikingbut true09:59
mikelingand, num_elements could help us to distinguish the difference between two SGObject array10:00
@wikingyep10:00
@wikingmmm10:00
@wikingi'm quite sure that there's a problem with some of the accessors10:00
@wikingbut i cannot pinpoint where10:01
@wikingonly sure way to fix this10:02
@wikingis to add a simple unit test for CDynamicArray10:02
mikelingmmmm, yeah. as I said, those warp sometimes works like &&(&container), so I'm not sure if I do the right thing sometime :/10:02
mikelingok10:02
@wikingmikeling, sure thing10:02
mikelingI will do it10:02
@wikingjust write a simple unit test10:02
@wikingand we'll see right away10:02
@wikingwrite it for the original one10:02
mikelingwiking: BTW, what's this function for?https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/lib/DynamicArray.h#L171 It works like a setter10:04
mikelingbut the function name is get_*?10:04
mikelingand https://github.com/shogun-toolbox/shogun/blob/develop/src/shogun/lib/DynamicArray.h#L15910:04
@wikingmikeling, no it's a getter10:04
mikelingbut it won't return anythin10:05
@wikingbut since you cannot return more than one element10:05
mikelingthing10:05
@wikingthat's why10:05
@wikingint32_t& dim1, int32_t& dim2, int32_t& dim310:05
@wikingin the caller's part after this10:05
@wikingdim1, dim2, dim3 will container10:05
@wiking*contain the actual values10:05
mikelingmmmm, alright10:06
mikelingI got it10:06
@wikingmikeling, but this is standard c story :P10:06
@wikingso just read about it if it's not clear for you10:06
@wikingmikeling, https://www.cs.fsu.edu/~myers/c++/notes/references.html10:07
@sukeyPull Request #3833 "unit test for DynamicArray"  opened by MikeLing - https://github.com/shogun-toolbox/shogun/pull/383310:59
mikelingwiking: Does it look good to u? ^11:00
@sukeyPull Request #3830 "Add to linalg trace, zero, identity, add_col_vec"  synchronized by micmn - https://github.com/shogun-toolbox/shogun/pull/383011:05
@sukeyPull Request #3830 "Add to linalg trace, zero, identity, add_col_vec (CPU only)" - https://github.com/shogun-toolbox/shogun/pull/383011:05
@wikingmikeling, lemme check12:37
@wikingmikeling, yeah looks good12:38
@wikingi'm wondering if you change from DynArray -> deque12:38
@wikingi guess this still passes?12:38
@sukeyPull Request #3829 "[ProgressBar] Add a boolean flag to the progress bar."  merged by vigsterkr - https://github.com/shogun-toolbox/shogun/pull/382912:39
@sukeyNew Commit "Merge pull request #3829 from geektoni/boolean_check_progress12:39
@sukey[ProgressBar] Add a boolean flag to the progress bar." to shogun-toolbox/shogun by vigsterkr: https://github.com/shogun-toolbox/shogun/commit/c211d75e15225e0b3b8d22326fba505ffccdc7af12:39
mikelingwiking: yep12:40
@wikingmikeling, ok then we need to add more unit tests :D12:40
@wikingbecause it's not among these operators12:41
@wikingthat the thing goes south12:41
@wikingbecause honestly in GaussianProcess it's only the DynamicArray that's make the difference12:41
@wikingthat's why it fails12:41
mikelingwiking: ok,for example? Which function's' we want to add unit test for12:45
@wikingmikeling, i mean there's no other way12:49
@wikingbut to debug this12:49
@wikingone by one12:49
@wikingi mean i could do only the very same thing you would do12:49
mikelingOk  I see12:50
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation."  synchronized by geektoni - https://github.com/shogun-toolbox/shogun/pull/383113:25
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation."  synchronized by geektoni - https://github.com/shogun-toolbox/shogun/pull/383113:31
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation." - https://github.com/shogun-toolbox/shogun/pull/383113:34
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation." - https://github.com/shogun-toolbox/shogun/pull/383113:34
@sukeyPull Request #3831 "[ProgressBar] Refactor the progress bar code and add documentation."  synchronized by geektoni - https://github.com/shogun-toolbox/shogun/pull/383113:51
@wikingmikeling, i can check on it now14:24
@wikingif u haven't find anythingyet14:24
mikelingwiking: sorry we have a party, because our senior student will graduate today. I will go back and add more test for it14:51
mikelingLater14:51
@wikingno worries14:51
@wikinghav efun14:51
mikelingThank you14:51
mikelingMaybe we could merge that pr first? Because we only miss shuffle and element unit test right now14:54
mikelingwiking: ∧15:01
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has left #shogun []15:43
-!- OXPHOS [92bd305b@gateway/web/freenode/ip.146.189.48.91] has joined #shogun16:50
-!- geektoni [~Mutter@93-34-234-214.ip52.fastwebnet.it] has joined #shogun17:32
-!- geektoni [~Mutter@93-34-234-214.ip52.fastwebnet.it] has quit [Quit: Mutter: www.mutterirc.com]17:37
@wikingmikeling, so here's a problem for example18:15
@wikinghttps://github.com/shogun-toolbox/shogun/blob/46f91d517c877ade80f990a77fbaf29d034076d5/src/shogun/lib/DynamicArray.h#L46018:15
@wikinghttps://github.com/shogun-toolbox/shogun/blob/46f91d517c877ade80f990a77fbaf29d034076d5/src/shogun/lib/DynamicArray.h#L47318:15
@wikingif you call18:15
@wikingarray->set_array(array, size)18:15
@wikingit's only that the type of array (whether it's const or not) gonna determine which one of this functions will be called18:15
@wikingand in the latter one you dont set any of the dimX nor num_elements18:17
mikelingwiking: mmm, is that mean we shouldn't use container.assign()?18:23
@wikingmikeling, but basically if you trace shogun::CIntegration::evaluate_quadgk and what happens there with those 3 CDynamicArray you'll see where it18:23
mikelinglike vector.assign()18:23
@wikingchanges behaviour18:23
@wikingbefore and after18:23
@wikingman18:23
@wikingyou have EXACTLY same functions18:23
@wikingonly the constness of the array18:24
@wikingwill determine18:24
@wikingwhether to call one or the other18:24
@wikingwhile internally they do very different things18:24
@wikingyou should make sure that this is not the case18:24
@wikingyour refactor there (removal of other set_array functions)18:24
@wikingand adding default values to dim2 and dim318:25
@wikingtotally changes the behaviour18:25
@wikingif you call18:25
@wikingset_array(array, size)18:25
@wikingpreviously there was only one function that matched this function definition18:25
@wikingnamely inline void set_array(const T* p_array, int32_t p_size)18:26
@wikingnow it's ambigous18:26
@wikingif you call set_array(array,size) then depending whether array is const then it's gonna call the one above.. otherwise it'll call set_array(T* p_array, int32_t dim1, int32_t dim2 = 1, int32_t dim3 = 1)18:27
@wikingso yeah you need to fix the set_array story there18:28
@wikingthat's for sure18:28
@wikingOXPHOS, u were in china? :)18:31
@wikingmikeling, so basically extend your unit test PR with all the set_array unit tests18:33
@wikingand then you'll quickly understand where it goes wrong18:33
@wiking:)18:33
mikelingwiking: ok, got it!18:34
mikelingI will do it tomorrow. I just drink too much wine on the party18:35
mikelingI have a little of drunk I guess :/18:36
@wiking:))))18:37
@wikingcool18:37
@wikingrice wine?18:37
@wikingor wine from grapes? or lychee wine? :)18:38
-!- geektoni [~Mutter@5.168.15.213] has joined #shogun18:52
-!- geektoni [~Mutter@5.168.15.213] has quit [Client Quit]18:55
-!- olinguyen [81615ad9@gateway/web/freenode/ip.129.97.90.217] has joined #shogun19:24
OXPHOSwiking: nope boston19:30
@wikingbooooooooston19:30
@wikingwhat are you doing in boston ? :)19:30
OXPHOSwiking: i were in china, 3 wks ago19:31
OXPHOSmy lab moves to boston from ny19:31
OXPHOSso i moved19:31
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has joined #shogun19:33
@wikingoooh19:41
@wikingjesus19:41
@wikingbig depressing change19:41
@wiking;)19:41
@wikingsorry to hear that19:41
@wiking:P19:41
OXPHOSwiking: ups and downs..I bought a car the moment I moved out19:44
@wiking:)19:44
@wikingliving the american dream ;)19:44
-!- parth_ [67f04c08@gateway/web/freenode/ip.103.240.76.8] has joined #shogun19:44
CaBawiking: you'd prefer nyc over boston?20:03
@wikingwho wouldn't :)20:03
CaBahm. me ;)20:03
@wikingdoh what the hell do you like in boston20:03
@wikingplz tell me20:03
@wiking:)20:03
CaBamaybe i'm too old for this stuff, but the idea of living in nyc, brrr ;)20:04
@wikingmmm that's ok20:04
@wikingi mean i'm not saying that i would love to live in nyc20:04
@wikingbut if somebody asks me nyc or boston20:04
CaBaand yeah, i kinda like boston...20:04
@wiking:)20:04
@wikinghuh horrible non-us city20:04
@wiking:)20:05
CaBaanyways... even my village feels too fuzzy for me in the meantime ;)20:05
CaBamoving away from berlin soon ;)20:06
@wiking:(20:06
@wikingsad days20:06
-!- parth_ [67f04c08@gateway/web/freenode/ip.103.240.76.8] has quit [Quit: Page closed]20:09
@wikinglol20:35
@wikingcoreml20:35
@wiking:)20:35
@wikingwe should look into that shit20:38
@wiking:)20:38
-!- mikeling [uid89706@gateway/web/irccloud.com/x-dpckoixetjpfwohs] has quit [Quit: Connection closed for inactivity]20:50
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has left #shogun []21:46
-!- yammz [400789b6@gateway/web/freenode/ip.64.7.137.182] has joined #shogun21:58
yammzhi guys. I'm trying to build the build_cpp_meta_examples target. about half the examples build and then I get a bunch of python errors:21:59
yammzAttributeError: 'module' object has no attribute '_tabversion' Traceback (most recent call last):   File "/home/myamada/shogun/shogun/examples/meta/generator/generate.py", line 158, in <module>     generatedFilesOutputDir=args.parser_files_dir)21:59
yammzi've installed ply 3.10 . Is there a dependency on a specific version? Thanks21:59
yammzdowngrading to ply 3.4 fixed the issue22:09
yammzNow another issue. The .dat files the examples try to load aren't present22:43
yammzclassifier_4class_2d_linea:qr_fea22:43
yammz[ERROR] In file /home/myamada/shogun/shogun/src/shogun/io/File.cpp line 71: Error opening file '../../data/classifier_4class_2d_linear_features_train.dat'22:44
yammzthe symlink is dangling22:44
yammzah, found the data submodule...22:47
-!- yammz [400789b6@gateway/web/freenode/ip.64.7.137.182] has quit [Ping timeout: 260 seconds]23:24
--- Log closed Tue Jun 06 00:00:01 2017

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