IRC logs of #shogun for Friday, 2019-04-05

--- Log opened Fri Apr 05 00:00:22 2019
-!- ankor [9aa00a39@gateway/web/freenode/ip.154.160.10.57] has joined #shogun01:41
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun02:01
-!- mode/#shogun [+o wiking] by ChanServ02:01
-!- ankor [9aa00a39@gateway/web/freenode/ip.154.160.10.57] has quit [Ping timeout: 256 seconds]02:04
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 250 seconds]02:05
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun06:21
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host]06:21
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun06:21
-!- mode/#shogun [+o wiking] by ChanServ06:21
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]07:00
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun07:10
-!- mode/#shogun [+o wiking] by ChanServ07:10
-!- ussdd95[m] [ussdd95mat@gateway/shell/matrix.org/x-zaqgzauwmzginwyp] has quit [Remote host closed the connection]08:31
-!- wuwei[m] [wuweilinma@gateway/shell/matrix.org/x-zjlpldhlbsckqobs] has quit [Remote host closed the connection]08:32
-!- wuwei[m] [wuweilinma@gateway/shell/matrix.org/x-lbmilfzxgdsirjwy] has joined #shogun08:40
-!- ussdd95[m] [ussdd95mat@gateway/shell/matrix.org/x-kauckamytvmvafya] has joined #shogun08:47
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]09:38
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun09:45
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host]09:45
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:45
-!- mode/#shogun [+o wiking] by ChanServ09:45
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]09:51
-!- gf712 [9052085b@gateway/web/freenode/ip.144.82.8.91] has joined #shogun09:54
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun09:58
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host]09:58
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun09:58
-!- mode/#shogun [+o wiking] by ChanServ09:58
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 245 seconds]10:03
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun10:14
-!- mode/#shogun [+o wiking] by ChanServ10:14
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 244 seconds]10:18
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has joined #shogun10:30
-!- wiking [~wiking@bmi-airport-1.inf.ethz.ch] has quit [Changing host]10:30
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun10:30
-!- mode/#shogun [+o wiking] by ChanServ10:30
gf712wiking: ping10:38
@wikingpong10:40
gf712wiking: do you know if it is to initialise a vector with specific values in the meta language?10:41
gf712ie. RealVector c1_param([1,2,3])10:42
gf712right now I do this:10:42
gf712RealVector c1_param(3)10:42
gf712c1_param[0] = 0.110:42
gf712c1_param[1] = 110:42
gf712..10:42
@wikingyeah10:45
@wikingi dont think there's a construct for initlizer list10:46
gf712ok, thanks!10:50
-!- ussdd95[m] [ussdd95mat@gateway/shell/matrix.org/x-kauckamytvmvafya] has quit [Remote host closed the connection]11:54
-!- wuwei[m] [wuweilinma@gateway/shell/matrix.org/x-lbmilfzxgdsirjwy] has quit [Read error: Connection reset by peer]11:54
-!- wuwei[m] [wuweilinma@gateway/shell/matrix.org/x-lgsgmigkinrrucnl] has joined #shogun12:01
-!- ussdd95[m] [ussdd95mat@gateway/shell/matrix.org/x-gghaxbfxefmljigt] has joined #shogun12:07
-!- HeikoS [~heiko@37.pool85-52-163.static.orange.es] has joined #shogun12:31
-!- mode/#shogun [+o HeikoS] by ChanServ12:31
-!- wiking [~wiking@huwico/staff/wiking] has quit [Remote host closed the connection]12:35
gf712HeikoS: ping12:44
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has joined #shogun12:46
-!- wiking [~wiking@c-185-45-237-122.customer.ggaweb.ch] has quit [Changing host]12:46
-!- wiking [~wiking@huwico/staff/wiking] has joined #shogun12:46
-!- mode/#shogun [+o wiking] by ChanServ12:46
gf712wiking: ping?12:46
-!- wiking [~wiking@huwico/staff/wiking] has quit [Ping timeout: 264 seconds]12:51
@HeikoSgf712: hi13:05
gf712HeikoS: just saw that you reviewed the PR, let me have a look13:06
@HeikoSyes13:06
gf712I have an issue with clone, I think13:06
@HeikoSwe should discuss a few things13:06
gf712there seems to be a ref count issue13:06
@HeikoSwhats the issue?13:06
@HeikoSah I see13:06
gf712I get leaks when I clone13:06
@HeikoSwell13:07
gf712in my case the labels ref count isn't increased...13:07
gf712I think13:07
@HeikoSI am not surprised :)13:07
gf712the rest I refcount myself, so it doesn't seem to leak13:07
@HeikoSnobody ever checked the clone does things properly with complicated nested objects13:07
@HeikoSdoes it block you?13:07
@HeikoSor just leak?13:07
gf712ill try to fix it13:07
gf712I think its causing issues in python13:07
gf712but the cpp example works fine13:08
gf712ill send you a gist13:08
@HeikoSI wouldnt worry about this for now13:08
@HeikoSif it doesnt block13:08
@HeikoSwe can fix that later13:08
@HeikoSsince the PR is getting out of control otherwise :)13:08
gf712https://gist.github.com/gf712/5bc697cdd19a32648fbdd1252967392213:09
gf712yea I agree13:09
gf712I just need to be sure if it is an issue with clone13:09
gf712my Valgrind skills aren't the best :p13:09
@HeikoSit is a messy tool :)13:09
gf712HeikoS: the list init makes it cleaner13:09
gf712in the gist example13:10
gf712but would have to change yet another thing in the meta language...13:10
@HeikoSyes13:11
@HeikoSbut can do later13:11
@HeikoSwe can just exploit that most langs have list initializers13:11
@HeikoSbut it doesnt matter for now13:11
@HeikoSso the "train" thingi made be stubmle a bit13:11
@HeikoSsee comments13:11
gf712the python script I use to validate https://gist.github.com/gf712/c6a98704bae6fa22026f1e03148173ab13:11
gf712ok, ill see no13:12
gf712now13:12
gf712HeikoS: for a class to be used in a factory does it have to be derived from SGObject?13:13
@HeikoSno13:13
@HeikoSgf712: I mean the problem will be the wrap13:14
@HeikoSthat doesnt work for non SGObjects13:14
gf712yea, so it needs to inherit from the counter class?13:14
gf712but might not need sgobject?13:14
@HeikoSwe can specialize the template13:14
@HeikoSor rather define it for SGObject and for others13:15
@HeikoSactually, doesnt it work for non SGObject?13:15
@HeikoStemplate <class T>13:15
@HeikoSSG_FORCED_INLINE T wrap(const T& value)13:15
@HeikoS{13:15
@HeikoSreturn value;13:15
@HeikoS}13:15
@HeikoSah here we go13:16
@HeikoStemplate <class T>13:16
@HeikoSSG_FORCED_INLINE Some<T> wrap(T* ptr)13:16
@HeikoS{13:16
@HeikoSreturn Some<T>::from_raw(ptr);13:16
@HeikoS}13:16
@HeikoSthis one needs to be simply restricted to pointers that are subclasses of SGO13:16
@HeikoSstd::is_base_of<13:16
@HeikoS              CSGObject, typename std::remove_pointer<T>::type>::value13:16
@HeikoSsomething like that13:16
@HeikoSgf712:  but actually13:17
@HeikoSthis is also lower priority13:17
gf712but you still need a ref method no?13:17
@HeikoSbiggest thing is the API now I would say13:17
gf712OK, I am open to suggestions, shouldn't be too hard to implement13:18
@HeikoSso did you see my comment about the modular strucutre?13:18
gf712the core seems to be done, and it can be flexible13:18
@HeikoSI think the final usage should be in the lines of13:19
@HeikoSparams = modelselection_instance.learn(features, labels)13:19
@HeikoSparams.to_model().train(data, labels)13:20
@HeikoSand scores can be extracted with an observer13:20
@HeikoSthe stuff that giovanni is working on13:20
gf712what does .learn do?13:20
@HeikoSdepends on the strategy13:20
@HeikoSin grid-search it has one big loop over all combinations13:21
@HeikoSand inside it calls .evaluate()13:21
@HeikoSkeeps track of the returned score13:21
@HeikoSand updates the best-yet score13:21
@HeikoS(for early stopping)13:21
@HeikoSfor gradient-search13:21
@HeikoSit would be different, no big loop over parameters13:21
gf712and params.to_model() is the best model?13:22
@HeikoSyeah13:22
@HeikoSI mean either the .learn() returns the parameters or the instantiated model13:22
gf712ok, I see!13:22
@HeikoSbut the point is13:22
@HeikoSthat it should all be fully against abstract APIs13:22
@HeikoSso that we can exchange the scoring criterion (auc, etc), the evaluation (xval, etc), the way new parameters are generated (grid, random, gradient),13:23
@HeikoScheck out the old code a bit, it can actually do that13:23
@HeikoSso for example13:23
gf712ok, but the parameter generator is a separate class that is passed to model selection?13:23
@HeikoSthe gradient learning on the marginal likelihood of gps13:23
@HeikoSthere criterion=marginalLikelihood, strategy=gradient13:24
@HeikoSNo the way it was done is that the modelselection class implements the parameter generator13:24
@HeikoSthus we have "RandomSearchModelSelection", "GridSearchModelSelection", etc13:25
@HeikoSthat is not how we need to do it, just saying how it was until now13:25
gf712I see13:25
gf712let me think about how I can bring what I have now closer to that13:26
gf712I had in mind ParameterTree -> GridParameters -> GridSearchEngine13:26
gf712ParameterTree can hold scalar values13:26
@HeikoShttp://www.shogun-toolbox.org/api/latest/classshogun_1_1CModelSelection.html13:27
gf712GridParameters holds vectors13:27
gf712and then would have a RandomParameters structure that samples from a distribution?13:27
gf712the final engine is common13:28
@HeikoSthis kind of stuff for me is more background implementation stuff, not really part of the API13:28
gf712So how does the user build the tree?13:28
@HeikoSbut the api is just either I give some grid parameters or I say "please use gradient" or "sample something"13:28
@HeikoSwell for grid search the user of course needs to build it13:29
gf712but also for random search no?13:29
@HeikoSone option is that yes, the other is to just give boundaries for a uniform distribution, or even some other way of specifying a distribution13:29
@HeikoSbut that is maybe future stuff13:31
@HeikoSfor now we just need to keep in mind that this would have to be a possibility13:32
gf712OK, just going through the docs quickly to see how it works13:33
@HeikoSmain methods are13:33
@HeikoSvirtual CParameterCombination * select_model (bool print_state=false)=013:33
@HeikoSoh btw the gradient stuff was added later so some of the design doesnt really look clean13:34
gf712hmm, I'll have to think about how to implement that13:34
gf712because I am not using pure virtual functions13:35
@HeikoSlike this13:35
@HeikoSCGradientModelSelection (CMachineEvaluation *machine_eval, CModelSelectionParameters *model_parameters=NULL)13:35
gf712because of the way I designed it causes issues13:35
@HeikoSalso note the use of "MachineEvaluation"13:35
@HeikoSyeah sure that is not a problem13:35
gf712because a node can construct further nodes13:35
@HeikoSah13:35
@HeikoSmmh13:35
@HeikoSwell the question is whether modelselection is ever used from a higher level13:35
@HeikoSso that we need to have a base type13:36
gf712because the whole design is that it mimics the model13:36
gf712and uses that to checks what params can be added and so on13:36
@HeikoSI see13:36
gf712I can add a further abstraction13:36
@HeikoSimo it will be important to somehow unify the different model selection approaches13:37
@HeikoSmaybe we dont need an abstract base class13:37
@HeikoSbut it has to be modular in some sense13:37
@HeikoSI gotta run now, will be back later and can discuss then though13:37
@HeikoSwill you be around in an hour?13:37
gf712yea, I'll be here all afternoon13:38
@HeikoSok ill try to be back later then :) see you!13:38
gf712can discuss later13:38
gf712ok, see you later!13:38
-!- HeikoS [~heiko@37.pool85-52-163.static.orange.es] has quit [Ping timeout: 252 seconds]13:42
-!- shoaib98libra [56603892@gateway/web/freenode/ip.86.96.56.146] has joined #shogun15:41
shoaib98libraHey Everyone! I just joined this channel so I thought I'll get to know and introduce myself15:46
shoaib98libraMy name is Mohammed Shoaib, 3rd year CS student15:47
shoaib98libraYou guys can check out my GitHub here: https://github.com/Mohammed-Shoaib15:47
-!- TheMoatman [~Moatman@pool-96-255-151-151.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer]16:04
-!- shoaib98libra [56603892@gateway/web/freenode/ip.86.96.56.146] has quit [Quit: Page closed]16:11
-!- shoaib98libra [56603892@gateway/web/freenode/ip.86.96.56.146] has joined #shogun16:12
-!- shoaib98libra [56603892@gateway/web/freenode/ip.86.96.56.146] has quit [Client Quit]16:12
-!- gf712 [9052085b@gateway/web/freenode/ip.144.82.8.91] has quit [Ping timeout: 256 seconds]18:21
-!- PS [6ee1d5db@gateway/web/freenode/ip.110.225.213.219] has joined #shogun20:09
-!- PS [6ee1d5db@gateway/web/freenode/ip.110.225.213.219] has quit [Ping timeout: 256 seconds]20:39
--- Log closed Sat Apr 06 00:00:24 2019

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