[mlpack] 93/207: Fix serialization.
Barak A. Pearlmutter
barak+git at pearlmutter.net
Thu Mar 23 17:53:43 UTC 2017
This is an automated email from the git hooks/post-receive script.
bap pushed a commit to branch master
in repository mlpack.
commit effe15dcfe87a1a935f9d7826ff8f7bd209db0fa
Author: Ryan Curtin <ryan at ratml.org>
Date: Sun Feb 26 22:40:31 2017 -0500
Fix serialization.
---
src/mlpack/core/dists/discrete_distribution.hpp | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/mlpack/core/dists/discrete_distribution.hpp b/src/mlpack/core/dists/discrete_distribution.hpp
index f3ccded..3171791 100644
--- a/src/mlpack/core/dists/discrete_distribution.hpp
+++ b/src/mlpack/core/dists/discrete_distribution.hpp
@@ -205,8 +205,24 @@ class DiscreteDistribution
template<typename Archive>
void Serialize(Archive& ar, const unsigned int /* version */)
{
- // We only need to save the probabilities, since that's all we hold.
- ar & data::CreateNVP(probabilities, "probabilities");
+ // We serialize the vector manually since there seem to be some problems
+ // with some boost versions.
+ size_t dimensionality;
+ dimensionality = probabilities.size();
+ ar & data::CreateNVP(dimensionality, "dimensionality");
+
+ if (Archive::is_loading::value)
+ {
+ probabilities.clear();
+ probabilities.resize(dimensionality);
+ }
+
+ for (size_t i = 0; i < dimensionality; ++i)
+ {
+ std::ostringstream oss;
+ oss << "probabilities" << i;
+ ar & data::CreateNVP(probabilities[i], oss.str());
+ }
}
private:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mlpack.git
More information about the debian-science-commits
mailing list