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

--- Log opened Mon Jun 19 00:00:19 2017
-!- TingMiao [uid229534@gateway/web/irccloud.com/x-vyiqfpverhoibiix] has quit [Quit: Connection closed for inactivity]00:31
-!- mikeling [uid89706@gateway/web/irccloud.com/x-vsiagqligqjmnnkz] has joined #shogun02:58
mikelingwiking: ping03:20
@wikingpong03:20
@wikingi'm just catching up with the emails03:20
@wikingif you want you can give me the short version here :)03:20
mikelingHey! Do you have a nice weekend ?03:20
mikelingI just want to ask review for this https://github.com/shogun-toolbox/shogun/pull/3812 pr03:21
@wikingyeah was good03:21
@wikingchecking03:21
@wikingaaah03:21
mikelingif you got time on hand :)03:21
@wikingbut buut but03:21
@wikingwhats with DynamicArray :)03:21
@wikinglet's have that finally conclude03:21
mikelingI'm owrking on it03:21
@wikingbecause this is insane03:21
@wikingnono03:21
@wikingwhere are you at NOW03:21
@wikingand then i help you03:21
@wikingbeceause this is week 303:21
@wikingand time is running03:21
mikelingOk, so for DynamicArray03:21
mikelingall the unit test passed, but serialization still doesn't work03:22
@wikingok03:22
@wikingclone?03:22
mikelingno03:23
@wikingno what?03:23
@wikingdoes not pass?03:23
@wikingis this your latest commit 1da5b417039bbf01b2b7f0aa17febb81cd5e1f3103:23
@wiking?03:23
@wikingor do you have a more recent one that you have not pushed yet03:23
mikelingthe clone had passed but https://travis-ci.org/shogun-toolbox/shogun/jobs/242812998#L523103:23
@wikingpush whatever you have atm03:23
mikelingI haven't update the pr due to the serialization still failed03:24
@wikingok so serialization is the only issue03:24
@wikingclone passes03:24
@wikingright?03:24
mikelingyep03:24
@wikingok03:24
@wikingwhich is the last commit?03:24
@wiking1da5b417039bbf01b2b7f0aa17febb81cd5e1f3103:24
@wiking?03:24
mikelingyes03:25
@wikingi'm gonna look into it now03:26
mikelingok, thank you!03:27
@wikingmmm03:27
@wikingbut this does not have the fixes03:27
@wiking  inline T get_last_element() const03:28
@wikingman03:28
@wikingi mean why dont we have a ommit for that plz?03:28
@wikingi mean that's like a 2 minutes fix03:28
@wikingcan you push those fixes03:28
@wikingthat you have yourself marked in the pr03:28
@wiking  inline void pop_back()03:28
mikelingI know, but I thought we should fix the serialization first03:29
mikelingit's not related to the serialization I guess03:29
mikelingso I haven't update it03:29
mikelingI remember you said I should avoid to update the pr if the ctest failed03:30
@wikingarray size03:31
@wikingnot removed03:31
@wikingfufck03:31
@wikingfuuuck03:31
@wikingplz03:31
@wikingplz03:31
@wikingwhatever you have now03:31
@wikingplz push it03:31
@wikingbecause this commit is still noisy03:31
@wiking                /** number of elements */03:31
@wiking                int32_t num_elements;03:31
@wiking                /** the number of currently used elements */03:32
@wiking                int32_t array_size;03:32
@wikingi want a commit that is clean03:32
@wikingbut like now03:32
@wikingi cannot believe that we are still where we were03:32
@wikinglast week03:32
@wiking this time03:32
@wiking:(03:32
mikelingwiking: which array size03:32
mikelingin https://github.com/shogun-toolbox/shogun/pull/3832/files#diff-1a43b9169d617ac582b2a21332230795R1669?03:32
mikelingit will been used as the size of array, not the element number03:32
mikelinghmm, something like03:33
mikelingyou want to assign 10 element length to that array03:33
@wikingmmm03:33
@wikingi asked you last week03:33
@wikingwhy in one case03:33
@wikingwe have that03:33
@wikingand why we dont in the other case03:33
@wikingand why the comment saying03:33
@wikingthat its the very same things03:33
@wikingyou said tha tit's leftover thing03:34
mikelingI just recheck it and found i was wrong03:34
@wikingok then that needs fixign03:34
@wikingin the comments03:34
mikelingdone, I just add a comment under the array_size03:42
@wikingcool03:42
@wikingi'm gonna now do one thing03:42
@wikingfirst clone test the bool refactor03:42
@wikingthat shouldn't change too much03:43
@wikingand then check the std::vector03:43
mikelingI create a unit test for SerializationAscii in https://gist.github.com/MikeLing/665b961fae759a58535ac07b1b93e39a.04:07
mikelingDoes it help?04:07
@wikingjust a sec04:07
@wikingi'm testing now something04:08
mikelingok04:08
-!- sukey [~nodebot@ks312251.kimsufi.com] has quit [Remote host closed the connection]05:30
-!- shogitter [~nodebot@ks312251.kimsufi.com] has quit [Read error: Connection reset by peer]05:30
@wikingmikeling, you do understand that this is testing nothing https://gist.github.com/MikeLing/665b961fae759a58535ac07b1b93e39a06:06
@wikingright?06:06
@wikingif not please think about why...06:07
@wikingmikeling, hint... ctor06:13
-!- sukey [~nodebot@ks312251.kimsufi.com] has joined #shogun06:17
-!- mode/#shogun [+o sukey] by ChanServ06:17
@wikingsukey, flip06:17
@sukey(ノಥДಥ)ノ︵┻━┻・/06:17
-!- shogitter [~nodebot@ks312251.kimsufi.com] has joined #shogun06:17
-!- shogun-buildbot [~shogun-bu@7nn.de] has quit [Quit: buildmaster reconfigured: bot disconnecting]06:23
-!- shogun-buildbot [~shogun-bu@7nn.de] has joined #shogun06:23
mikelingwiking: sorry, I just afk. I use the wrong to register parameter? I should use SG_ADD instead of register_param06:31
@wikingnoup06:31
@wikingagain i gave you  ahint06:31
@wikingctor06:31
@wikingwhat else do you do there06:31
mikelingPush array06:33
@wikingyes06:34
@wikingso why do you think06:34
@wikingthat06:34
@wikingASSERT_TRUE(object->equals(deserializedObject, accuracy));06:34
@wikingshould not be true06:34
@wikingif you create with the default ctor06:34
@wikingthe very same object/06:34
@wiking?06:34
mikelingYes……06:34
mikelingIt will create same object06:34
@wikingwhatever you load from the file06:35
@wikingit will always contain those 3 elements06:35
@wikingbecause you push those in the default ctor06:35
mikelingI see06:35
@wikingand the equal does not work either06:47
@wiking...06:47
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has joined #shogun08:54
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has left #shogun []08:55
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has joined #shogun09:06
-!- iglesiasg [~iglesiasg@217.119.234.214] has joined #shogun09:13
-!- mode/#shogun [+o iglesiasg] by ChanServ09:13
-!- iglesiasg [~iglesiasg@217.119.234.214] has quit [Quit: leaving]09:22
-!- iglesiasg [~iglesiasg@217.119.234.214] has joined #shogun09:22
-!- mode/#shogun [+o iglesiasg] by ChanServ09:22
-!- johklu [c1abba08@gateway/web/freenode/ip.193.171.186.8] has joined #shogun10:53
johkluHi, wiking10:53
@wikingjohklu, hello hello10:53
@wikingwie gehts?10:53
johkludid you find out something?10:54
@wikingjohklu, oh i have messaged you last week10:54
@wikingthat i have pushed a fixed for you10:54
johkluoh, sorr10:54
@wikingi'm just wondering how do you use currently shogun...10:54
@wikingdo you compile yourself?10:54
johkluno, our sysadmin did it10:55
@wikingmmmm10:55
@wiking:D10:55
@wikingok so because i changed a bit10:55
@wikingthe interface of10:55
johklu(I didn't have permissions)10:55
@wikingCommUlongStringKernel10:55
@wikingi mean CommWordStringKernel10:56
@wikingso now10:56
@wikingget_dictionary() will return an SGVector<float64_t>10:56
@wikingso basically in R10:56
@wikingyou could do10:56
@wikingdictionaryWeights <- kernel$get_dictionary()10:56
@wikingand then the dictionaryWeights would be an array of floats10:56
@wikingnow of course this is only available in the latest source10:57
@wikingwhich of course requires you to check out the latest develop branch of the code10:57
@wikingand compile that one :)10:57
johkluok, i'll try -thanks!10:58
@wikingthis is the change10:58
@wikinghttps://github.com/shogun-toolbox/shogun/commit/c65c2c54362c1964d79df67a651e71f55fefd2be10:58
@wikingthat added this10:58
@wikingbut note10:58
@wikingyou need to compile the latest develop branch of shogun10:58
@wikingand not 6.0.010:58
@wiking:)10:58
johkluyes - understood :)10:59
@wikingcool cool11:00
@wikingif you are still having some issue11:00
johkluone more question: can I now also get the k-mers (i.e. the subsequences) along with the weights?11:00
@wikinglemme knwo11:00
@wikinglemme check11:01
@wikingi mean i have no idea about this kernel11:01
@wikingso i'm just checking the code :)11:01
johkluThanks!11:02
@wikingnw11:02
@wikingkmer_mask ?11:04
@wikingis what you are looking for? :D11:04
@wikingok wait11:06
@wikingi'm just reading11:06
@wikinghttp://shogun.ml/api/latest/classshogun_1_1CCommWordStringKernel.html11:06
@wikingso you are using SortWordString right?11:06
johkluyes11:08
@wikingok so11:08
@wikingwhat will happen11:08
@wikingas far as i get11:09
@wikingi mean again i have no real clue about this :)11:09
@wikingSortWordString will sort your input11:09
@wikingmeaning your features11:09
@wikingand as far as i get11:10
@wikingthe weights are going to be in that order11:10
@wikingin CommWordStringKernel11:10
johkluyes, that would make sense11:11
@wikingso i mean after11:11
@wikingthe svm train11:11
@wikingyour features11:12
@wiking(train features)11:12
@wikingare actually should be sorted11:12
johkluyes - but the problem is, that if at all I get them as 16bit integers11:13
@wikingo11:13
@wikingah11:13
johkluand I haven't found a function to convert them back into the original strings11:13
@wikingokok i see11:13
@wikinglemme see what you use for conversion11:13
@wikingStringWordFeatures11:13
@wiking?11:13
@wikingand then call11:13
@wikingobtain_from_char11:13
@wiking?11:13
@wikingi mean this is the python code11:14
@wiking        charfeat=StringCharFeatures(DNA)11:14
@wiking        charfeat.set_features(fm_train_dna)11:14
@wiking        feats_train=StringWordFeatures(charfeat.get_alphabet())11:14
@wiking        feats_train.obtain_from_char(charfeat, order-1, order, gap, reverse)11:14
@wikingi reckon the R code is going along this line11:14
@wikingright?11:14
johkluyes, exactly11:16
@wikingkk11:16
@wikingCaBa, here? :)11:16
@wikingjohklu, ok 2 things11:18
@wiking1) i have to run now 2) i'll get back to u asap once i have something; plz drop a mail to wiking@maeth.com11:18
@wikingso that you get the info as soon as11:18
@wikingwithout loosing it on irc :)11:18
@wikinggotta run now... sorry11:18
johkluok thanks!11:20
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has quit [Quit: Leaving.]11:43
-!- wiking_mob [~Mutter@14.100.132.20] has joined #shogun13:02
-!- wiking_mob [~Mutter@14.100.132.20] has quit [Quit: Mutter: www.mutterirc.com]13:10
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has joined #shogun14:35
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has joined #shogun15:21
-!- mode/#shogun [+o HeikoS] by ChanServ15:22
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has quit [Remote host closed the connection]15:33
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has joined #shogun15:34
-!- mode/#shogun [+o HeikoS] by ChanServ15:34
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has quit [Ping timeout: 240 seconds]15:39
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun15:52
-!- mode/#shogun [+o HeikoS] by ChanServ15:53
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 240 seconds]16:01
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has joined #shogun16:02
-!- mode/#shogun [+o HeikoS] by ChanServ16:02
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has quit [Client Quit]16:03
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has joined #shogun16:12
-!- mode/#shogun [+o HeikoS] by ChanServ16:12
@iglesiasgHeikoS: aloha16:14
mikelingHeikoS: hi16:15
mikelingdo you have time to take a look at this https://github.com/shogun-toolbox/shogun/pull/3812?16:16
mikelingand please give me some hints about to_binary() and to_mutipleclass() for CLabels16:16
mikelingthank you16:17
@HeikoSiglesiasg: hi16:18
@HeikoSmikeling: I will check soon, in a talk right now, ok?16:18
mikelingok16:18
@HeikoSmikeling: but one thing already: make it "to_multiclass"16:19
@HeikoSmikeling: sure this is the right PR?16:20
@HeikoSglobal fixture?16:20
mikelingyeah...16:20
mikelingIt has been created for a long time16:20
@HeikoSwhat does it have to do with labels?16:20
mikelingthey(the pr and CLabels) are not so related, I just want to ask review for it due to it has been there for a long time and I update it during this weekend16:23
mikelingyou know, I have fall behind other GSoC student16:23
mikelingso, I just want to catch them up16:23
@HeikoSmikeling: I see16:23
mikelingupdate the pr I have16:24
mikelingand try to make things move on16:24
@HeikoSmikeling: the way out of this is: focus on finishing things, dont start too many at once16:24
@HeikoSbut yeah closing old prs is a good idea16:24
@HeikoSwiking: are you back yet?16:24
mikelingfor the DynamicArray, wiking told me where is the the problem already16:25
mikelingParamter.h/cpp doesn't know how to serialize an std::vector16:25
mikelingBut I think it will take longer time to deliver16:25
@iglesiasgHeikoS: this popped in my scholar updates last week: https://link.springer.com/chapter/10.1007/978-3-319-54858-6_3016:25
@iglesiasgHeikoS: "a new MCMC algorithm, called Gauss-Newton MCMC algorithm, is proposed which is essentially an M-H algorithm with a Gaussian proposal PDF tailored to the posterior PDF using the gradient and Hessian information of the negative log posterior"16:26
@HeikoSmikeling: I think there might be a work-around where you wrap an std::vector around pre-allocated memory after de.serialization16:26
@HeikoSCSGObject::Serializable_post is for that16:26
@HeikoSwiking:  ^16:26
@iglesiasgHeikoS: new MCMC, but the idea sounds familiar :P16:27
@HeikoSiglesiasg: cool sounds related to stuff we discussed before :)16:27
@HeikoSiglesiasg: i cant read it as it is 100GBP :D16:28
@iglesiasgHeikoS: haha yeah I haven't read it either16:28
mikelingHeikoS: mmm what's the meaning of work-around?16:28
@iglesiasgHeikoS: I checked the abstract, and the part that I pasted made me :-O16:28
@iglesiasgHeikoS: I mean, that must be something completely equivalent to the Langevin+differential geometric MCMC16:29
@HeikoSmikeling: a trick to make it work :)16:30
@HeikoSiglesiasg: probably16:30
@HeikoSiglesiasg: I mean this happens all the time16:30
@iglesiasgHeikoS: research is broken16:30
@HeikoSlol16:30
@iglesiasgjust kidding16:30
@HeikoSiglesiasg:  btw I want to organise next hackathon soon16:31
@iglesiasgthey do cite Girolami, Calderhead so at least not 100% sketchy16:31
@iglesiasgHeikoS: sure16:31
@iglesiasgoh btw, there was also something recent on neuroscience with some topology math. It looked fancy, but I am not sure whether it is in fact really relevant in neuroscience16:32
@iglesiasgHeikoS: are we making it in Zurich for sure, or is the place still open for discussion?16:33
@HeikoSwhere is that?16:33
@iglesiasgHeikoS: will send you the link in a minute16:33
@HeikoSyeah Zurich is a good one if we get no funds16:33
@HeikoSif we do get some, maybe budapast?16:33
@HeikoSbudapest16:33
@iglesiasgdo we know someone from a uni there? Old Shoguner?16:34
@iglesiasgI think it is nice when we can do it partially in uni16:34
@iglesiasgbut yeah, otherwise we can probably find some hacker space or so. Good ambiance for the hackaton too16:35
@iglesiasgHeikoS: if I haven't done the notebook preview by then, pinky promise I will do it before the next hackaton finishes :P I haven't forgotten about it16:35
@iglesiasgHeikoS: link to the neurosience paper I mentioned: http://journal.frontiersin.org/article/10.3389/fncom.2017.00048/full16:36
@iglesiasgHeikoS: softer explanations: https://www.youtube.com/watch?v=rhJca_nZTSg http://bluebrain.epfl.ch/op/edit/page-141408.html16:37
@HeikoSiglesiasg: yeah that would be good16:37
@HeikoSiglesiasg: I think wiking has ideas there :)16:38
@HeikoSsorry what is this neuro paper about? I mean why do you share it?16:38
-!- HeikoS [~heiko@eduroam-int-pat-8-191.ucl.ac.uk] has quit [Quit: Leaving.]16:38
@iglesiasgI thought your phd was in neuroscience...16:39
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has joined #shogun16:57
-!- mode/#shogun [+o HeikoS] by ChanServ16:57
CaBawiking: ping16:57
geektoniHeikoS: hi, I've seen your email. Thanks for the suggestions :) I'll update it soon.17:01
@HeikoSgeektoni: thanks!17:02
@HeikoSgeektoni: that thing is helpful!17:02
@HeikoSI spent so much time asking for code style feedback ;)17:02
geektoniHeikoS: ;) We have a solution now ;)17:05
@HeikoSiglesiasg: still around?17:06
@HeikoSlisitsyn: there?17:06
mikelingHeikoS: mmm, could you tell me more about work-around?17:14
mikelingI still don't understand it17:14
@HeikoSmikeling: yes17:14
@HeikoSmikeling: so when you de-serialize, you cannot directly load into the std::vector17:14
@HeikoSbut what you can do is to load into some other memory fragment, and then wrap that with std::vector17:15
@HeikoSmikeling: e.g. https://stackoverflow.com/questions/14807192/can-i-use-an-stdvector-as-a-facade-for-a-pre-allocated-raw-array17:16
mikelingchecking17:17
@HeikoSyou just have to make sure that in the de-serialization, the memory is loaded to a place that you know, and then pass that to std::vector afterwards17:17
@HeikoSde-serialization should work via just extracting the pointer of std::vector17:17
@iglesiasgHeikoS: yeah!17:17
@HeikoSthere is pre and post methods for serialization actually17:17
@HeikoSiglesiasg: ?17:17
@iglesiasgHeikoS: still around17:17
@HeikoSiglesiasg: ah yes :)17:17
@iglesiasgHeikoS: you asked ^ :D17:17
@HeikoSiglesiasg: API question17:18
@HeikoSsee email17:18
@HeikoSiglesiasg: about labels17:18
@iglesiasgwill check17:18
mikelingHeikoS: So I need to override the load_serializable() in DynamicArray()17:21
mikeling?17:21
-!- iglesiasg [~iglesiasg@217.119.234.214] has quit [Quit: leaving]17:25
@HeikoSmikeling: no I think there is a post/pre method called already17:28
@HeikoSmikeling: but first, you need to conceptually understand what I am saying17:28
@HeikoSmikeling: so do you understand what the problem is?17:30
@HeikoSmikeling: i.e. that the loading tries to modify memory that belongs to std::vector17:30
mikelingHeikoS: mmm, you mean when we register std::vector, we actually warp its content by another memory fragment, which can be recognises by parameter.h17:33
mikelingand when we load it17:34
@HeikoSmikeling: no17:34
mikelingwe first load the content into that memory fragment, and then pass to std::vector?17:34
@HeikoSthis is a hack that only happens when loading17:35
@HeikoSas in saving, there is no problem17:35
@HeikoSso you just register the std::vector's memory pointer17:35
@HeikoSbut then when loading:17:35
mikelingok, so we load the content into that memory fragment and then pass to std::vector?17:36
@HeikoSyou could make the framework load the content into an allocated block manually17:36
@HeikoSand then construct the std:.vector from that17:36
@HeikoSexactly17:36
@HeikoSmikeling: I am not sure this will work generally17:36
@HeikoSbut you could definitely try it17:36
@HeikoSi.e. make it work for an example17:37
mikelingget it17:37
@HeikoSand then we think how to generalize17:37
@HeikoScool!17:37
@HeikoSso for now, take the single class where you used the std::vector17:37
@HeikoSand then override the pre/post serializable methods to account for that17:37
@HeikoSand lets see whether it works17:37
mikelingBTW, we create a serialization test for DynamicArray in  https://github.com/shogun-toolbox/shogun/pull/385217:38
mikelingI guess it's good to go17:38
mikelingbut wiking haven' t back. So could you merger that?17:38
mikelingthen we can test if my change make it works :)17:38
@HeikoSchecking the PR17:40
@HeikoSmikeling: commented!17:43
mikelingHeikoS: thank you, I will update it right now17:44
@HeikoSmikeling, micmn, did you reply to Gina already re the numfocus introduction?17:50
mikelingHeikoS: oh, I forget it. Actually I have some questions about it17:51
micmnnot yet! is there a deadline?17:51
@HeikoSmicmn, mikeling asap please :)17:52
@HeikoSmikeling: just ask17:52
geektonimicmn: June 23 :)17:52
micmngeektoni: thx! :)17:53
mikelingabout question like "What motivated you to want to do GSoC with this project?", is that about shogun? or  SymPy?17:53
@HeikoSgeektoni: thanks :)17:53
micmnI'll need to take a good picture then :p17:54
@HeikoSgeektoni: you answered already?17:54
@HeikoSmikeling: lol why would it be about sympy?17:54
@HeikoSmikeling: no this is about you and shogun and gsoc17:54
@HeikoSit introduces you guys to the numfous community17:54
@HeikoSwhich is cool because the world will know about the things you are doing with us17:54
@HeikoSread the sympy examples to get a freeling for it17:54
@HeikoSfeeling17:54
mikelingok17:55
geektoniHeikoS: not yet.17:55
@HeikoSgeektoni: would be good to get that out soon17:57
@HeikoSin general a good idea to get back immediately about such publicity things, they tend to be forgotten easily17:57
geektoniHeikoS: okk. I'll do it asap.17:59
@HeikoSgeektoni: thanks!17:59
-!- TingMiao [uid229534@gateway/web/irccloud.com/x-ghmmxrkjjmoxjwnr] has joined #shogun18:03
@HeikoSTingMiao: you already answered Gina?18:07
TingMiaoi could not find shogun in the project list:(18:15
@HeikoSTingMiao: what do you mean?18:25
TingMiaohttps://usercontent.irccloud-cdn.com/file/QZH7m4Xu/image.png18:25
TingMiaoI finished other questions but cannot find shogun in project list18:26
mikelingHeikoS: just reply to Gina18:27
TingMiaoFine and I have sent the email:)18:27
@HeikoSTingMiao: thanks Ting!18:28
TingMiao:)18:29
@HeikoSTingMiao, micmn, geektoni, mikeling can you cc me and mentors in the email ?18:33
micmnsure18:35
mikelingHeikoS: where should i put the helper function? In Utils.h maybe?18:47
@HeikoSmikeling: yes, or come up with something nice19:00
-!- johklu [c1abba08@gateway/web/freenode/ip.193.171.186.8] has quit [Quit: Page closed]19:00
mikelingHeikoS: ok, https://github.com/shogun-toolbox/shogun/pull/3852/files19:16
@wikingHeikoS, here?19:48
@HeikoSwiking: jojo19:49
@wikingHeikoS, ok so we have a problem with mikeling19:49
@wikingParameter::add_vector19:49
@HeikoSwiking: yeah he told me19:49
@HeikoSso here is a workaround idea19:49
@wikingah ok19:49
@wikinghave you managed to give him directions?19:49
@HeikoSrather than loading into the memory block of std::vector19:49
@HeikoSwhy not load into a manually allocated block19:49
@HeikoSand then wrap that with std::vector19:49
@wiking?19:49
@HeikoSthat could be done in serializable pre and post19:50
@HeikoSthen we can still use the old serialization code but also change the type to std::vectpr19:50
@HeikoSthen once we can serialize std::vector, we can remove that  thing19:50
@wikingi see19:50
@wikingand then just forget forever19:50
@wikingadding19:50
@HeikoSI am not sure that all works out, I asked mikeling to draft a working example19:50
@wikingParamter::add(std::vector...19:50
@HeikoSfor a single class19:50
@wikingas hopefully soon we could drop Parameter19:50
@wikingas is19:51
@wikingi?19:51
@HeikoSwiking: I think add(std::vector) wont work19:51
@wikingis that the reasoning here?19:51
@HeikoSthe problem is that you cannot really go and modify std::vectors contents19:51
@wikingyou can19:51
@wiking:)19:51
@wikingstd::vector.data19:51
@wikingallows u this19:51
@HeikoSsure19:51
@HeikoSbut the size etc?19:51
@HeikoSI think it would be better to just load into heap and then wrap19:52
@HeikoSand give the memory to the std::vector19:52
@wikingmmm19:52
@wikingi mean19:52
@wikingif you can do19:52
@HeikoSthere is the pre and post thing19:52
@HeikoSfor serialization19:52
@wikingstd::vector.data = &array[0]19:52
@wikingthen it's all good19:52
@wikingotherwise19:52
@wikingyou need to do the copy19:52
@HeikoSI think you can build it around an existing memory block19:53
@HeikoSwithout copying19:53
@wikingbecause19:53
@wikingas soon as you do19:53
@wikingstd::vector.resize()19:53
@wikingwho's gonna managed that area?19:53
@HeikoSwiking: actually19:53
@HeikoSjust thinking19:53
@wikingmore importantly how19:53
@HeikoSwhy dont we do this:19:53
@HeikoSin the pre-serialization method19:53
@HeikoSwe re-allocate the vector size19:53
@HeikoSand then directly modify the memoty19:53
@HeikoSmemory19:53
@HeikoSbut we dont allocate it19:53
@HeikoSthough I am afraid that is what Parameter.h does19:54
@HeikoSlet me check19:54
@HeikoSuh19:55
@HeikoSso the loading allocates everything19:55
@HeikoSthe SGVector19:56
@HeikoSand each of the elements19:56
@HeikoSwiking: so I think we either do the hack I mentioned19:56
@HeikoSor we change the array after we updated the serialization19:56
@wikingwell19:56
@wikingthe only thing here is19:56
@wikingthat if you dont wanna do copy19:56
@wikingthen what happens with resize/push_back19:57
@wikingi.e. if it works19:57
@wikingthen it's good19:57
@HeikoSif we do this Parameter::add(std:.vector) then we need to add/touch so much of that horrible code19:57
@wikingif not then one needs copy19:57
@HeikoSwiking: I think one needs to pass ownership to std::vector19:57
@HeikoSsince yes no copy19:57
@wikingmmm 'pass ownershiip'19:57
@wikingstd::vector.data() =19:57
@wikinganyhow19:57
@wikinglet's see if it's possible19:57
@HeikoSyep19:57
@HeikoSwiking: I think mikeling needs some help there though19:58
@HeikoSthat is tricky stuff19:58
@wikingyou  mean with pre/post?19:58
@wikingyeah19:58
@HeikoSso you might actually want to do that yourself (draft) and then pass that to him19:58
@wikingand again i'm just wondering19:58
@HeikoSto make it work with the cases19:58
@wikingwhether the idea here is htat one day we can just drop this whole Parameter horror19:58
@wikingright?19:58
@wikingand that's why we dont wanna deal with add(std::vector)19:58
@HeikoSyes lets not do that19:59
@HeikoSits gonna be messy19:59
@HeikoSrather hack around for now19:59
@HeikoSit is only one datatype for now19:59
@wiking[01:56]  <wiking> whether the idea here is htat one day we can just drop this whole Parameter horror19:59
@wiking[01:56]  <wiking> right?19:59
@HeikoSyes19:59
@wiking:)19:59
@wikingok19:59
@HeikoSthat should be dropped19:59
@wikinggood19:59
@HeikoSI think the order is19:59
@wikingjust wanted to see this line20:00
@wikingwe wanna kill this20:00
@wikingasap20:00
@HeikoS1.) register tags everywhere20:00
@wiking(Parameter)20:00
@HeikoS2.) serialization works20:00
@wikingyeye20:00
@HeikoS3.) clone works20:00
@wikingi know the problemcircle20:00
@HeikoS4.) equals works20:00
@HeikoS5.) remove SG_ADD everywhere20:00
@HeikoS6.) Drop Parameter, etc20:00
@wikingand the burdens there20:00
@HeikoSyeah thats too much for a single step/push20:01
@HeikoSso I think wrapping memory might be the best try for now20:02
@HeikoSif that doesnt work, we can re-think20:02
@HeikoSbut I think you need to draft that20:02
@HeikoSthere is already the pre/post methods, they can be used for that20:02
@HeikoSfor a single class first, and then seeing how to generalise20:02
@HeikoSbut I feel it cannot be too hard. All is just continuous memory vectors of different types20:02
@wikingsingle class?20:05
@wikingthis should be handled within DynamicArray itself: )20:05
@HeikoSwiking: for the draft20:07
@HeikoSthen obviously CSGObject20:07
@HeikoSand all std::vector members20:07
@wikingHeikoS, another question20:22
@wikingwe have a user(!)20:22
@wikingwho's using CommonWordStringKernel and would need to map back uint16 strings to k-mers20:23
@wikingdo u know if there's such method in shogun ?20:23
-!- HeikoS [~heiko@untrust-out.swc.ucl.ac.uk] has quit [Ping timeout: 246 seconds]20:24
-!- mikeling is now known as mikeling|afk20:49
-!- geektoni [~geektoni@93-34-234-212.ip52.fastwebnet.it] has quit [Remote host closed the connection]21:14
-!- mikeling|afk [uid89706@gateway/web/irccloud.com/x-vsiagqligqjmnnkz] has quit [Quit: Connection closed for inactivity]22:58
-!- TingMiao [uid229534@gateway/web/irccloud.com/x-ghmmxrkjjmoxjwnr] has quit [Quit: Connection closed for inactivity]23:29
--- Log closed Tue Jun 20 00:00:21 2017

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