void bob::learn::em::GMMMachine::load(bob::io::base::HDF5File& config) { int64_t v; v = config.read<int64_t>("m_n_gaussians"); m_n_gaussians = static_cast<size_t>(v); v = config.read<int64_t>("m_n_inputs"); m_n_inputs = static_cast<size_t>(v); m_gaussians.clear(); for(size_t i=0; i<m_n_gaussians; ++i) { m_gaussians.push_back(boost::shared_ptr<bob::learn::em::Gaussian>(new bob::learn::em::Gaussian(m_n_inputs))); std::ostringstream oss; oss << "m_gaussians" << i; config.cd(oss.str()); m_gaussians[i]->load(config); config.cd(".."); } m_weights.resize(m_n_gaussians); config.readArray("m_weights", m_weights); // Initialise cache initCache(); }