Пример #1
0
    def load_mixture_model(data, use_mgrd=True):
         if use_mgrd:
             mm = ExtendedMGRDMixtureModel.load_from_json({'covars': data['gmm_covars'],
                                                           'means': data['gmm_means'],
                                                           'weights': data['gmm_weights']})
         else:
             n_components =len(np.array(data['gmm_weights']))
             mm = GaussianMixture(n_components=n_components, covariance_type='full')#weights_init=np.array(data['gmm_weights']),
            #reg_covar=np.array(data['gmm_covars']),
            #means_init=np.array(data['gmm_means']), covariance_type='full')
             mm.weights_ = np.array(data['gmm_weights'])
             mm.means_ = np.array(data['gmm_means'])
             mm.converged_ = True
             mm.covariances_ = np.array(data['gmm_covars'])
             mm.precisions_cholesky_ = _compute_precision_cholesky(mm.covariances_, covariance_type='full')
             mm.n_dims =len(mm.means_[0])
             # if 'gmm_precisions_cholesky' not in data.keys():

             write_message_to_log("Initialize scipy GMM", LOG_MODE_DEBUG)
         return mm
Пример #2
0
    def _init_gmm_from_json(self, data):
        """ Initialize the Gaussian Mixture model.

        Parameters
        ----------
        * data: dictionary
        \tThe dictionary must contain all parameters for the Gaussian Mixture Model.

        """
        n_components = len(np.array(data['gmm_weights']))
        gmm = GaussianMixture(n_components=n_components,
                              covariance_type='full')
        gmm.weights_ = np.array(data['gmm_weights'])
        gmm.means_ = np.array(data['gmm_means'])
        gmm.converged_ = True
        gmm.covariances_ = np.array(data['gmm_covars'])
        gmm.precisions_cholesky_ = _compute_precision_cholesky(
            gmm.covariances_, covariance_type='full')
        gmm.n_dims = len(gmm.means_[0])
        self.gaussian_mixture_model = gmm