verne.freenode.net changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
zoq has quit [Ping timeout: 240 seconds]
zoq has joined #mlpack
govg has joined #mlpack
vivekp has quit [Ping timeout: 240 seconds]
vivekp has joined #mlpack
vivekp has quit [Ping timeout: 248 seconds]
vivekp has joined #mlpack
kaushik_ has joined #mlpack
< kaushik_> zoq: successfully compiled the source. Going through some resources on template programming and ML tutorials.
< zoq> kaushik_: Sounds good :)
vivekp has quit [Ping timeout: 246 seconds]
vivekp has joined #mlpack
Erwan_ has joined #mlpack
< Erwan_> Hello there
< Erwan_> I have another question on serialization of GMM in mlpack
< Erwan_> I noticed that covariance is sometimes not saved (through boost save/load couple of functions)
< Erwan_> I create GMM objects and insert them in a map upon request at runtime
< Erwan_> However, when serialiazing, the map contains the correct data but the file misses the cov data for the second (and more) GMM inserted in the map
< Erwan_> GMMs are created usingh the following constructor : mlpack::gmm::GMM newDist(gaussiansNb, gaussiansDim+1)
< Erwan_> for serialization, we loop on each element of the map (1 elem = 1 mlpack:...:GMM) and then we loop on each component to store mean and variance
< Erwan_> (covariance*)
< Erwan_> Does someone already reported a problem like that ?
< Erwan_> May it be because we try to serialize types from armadillo and we need to loop on that more explicitely ?
< rcurtin> Erwan_: no, nobody has reported that issue
< rcurtin> all of the serialization functions look correct to me, so I wonder if this has to do with how you are serializing the map
< Erwan_> (...) indicates removed code from other part of serialization
< Erwan_> I don't think we're doing very fancy or complex stuff here
< rcurtin> I am not sure of the auto deduction rules for references
< rcurtin> so when you do 'auto component = model.Component(i)', are you sure it is not creating a copy?
< rcurtin> also, you should be able to just do 'ar & mlpack::data::CreateNVP(model.Component(i), <name>)', I think maybe that will save some trouble
< rcurtin> everything will get a lot easier when https://github.com/mlpack/mlpack/issues/1120 is done, I am sorry that I thought the serialization shim was ever a good idea :)
< rcurtin> once that is done, then you should be able to just serialize with a single line:
< rcurtin> ar & BOOST_SERIALIZATION_NVP(gmm_effectModels_);
kaushik_ has quit [Quit: Connection closed for inactivity]
< Erwan_> So the object component is a "N6mlpack12distribution20GaussianDistributionE" (typeid(component).name)
< Erwan_> Why a copy would be problematic ?
< Erwan_> In the end, if the copy object is serializable, data should be written anyway
< Erwan_> (I don't master boost::serialize hence the question)
< Erwan_> Im gonna try with CreateNVP
kaushik_ has joined #mlpack
govg has quit [Ping timeout: 246 seconds]
< rcurtin> Erwan_: sorry for the slow response, I was getting lunch
< rcurtin> if the line 'auto component = model.Component(i)' makes a copy, then when you deserialize into 'component', the changes do not propagate to model.Component(i)
< rcurtin> but maybe I misunderstood, are you saying the problem is at save time or at load time? my comment only applies to load time