private static MixtureOfGaussians loadMoG() throws IOException { final File f = new File(GMM_MATLAB_FILE); final MatFileReader reader = new MatFileReader(f); final MLStructure codebook = (MLStructure) reader.getContent().get("codebook"); final MLSingle mean = (MLSingle) codebook.getField("mean"); final MLSingle variance = (MLSingle) codebook.getField("variance"); final MLSingle coef = (MLSingle) codebook.getField("coef"); final int n_gaussians = mean.getN(); final int n_dims = mean.getM(); final MultivariateGaussian[] ret = new MultivariateGaussian[n_gaussians]; final double[] weights = new double[n_gaussians]; for (int i = 0; i < n_gaussians; i++) { weights[i] = coef.get(i, 0); final DiagonalMultivariateGaussian d = new DiagonalMultivariateGaussian(n_dims); for (int j = 0; j < n_dims; j++) { d.mean.set(0, j, mean.get(j, i)); d.variance[j] = variance.get(j, i); } ret[i] = d; } return new MixtureOfGaussians(ret, weights); }
private static MixtureOfGaussians loadMoG() throws IOException { final File f = new File(GMM_MATLAB_FILE); final MatFileReader reader = new MatFileReader(f); final MLStructure codebook = (MLStructure) reader.getContent().get("codebook"); final MLSingle mean = (MLSingle) codebook.getField("mean"); final MLSingle variance = (MLSingle) codebook.getField("variance"); final MLSingle coef = (MLSingle) codebook.getField("coef"); final int n_gaussians = mean.getN(); final int n_dims = mean.getM(); final MultivariateGaussian[] ret = new MultivariateGaussian[n_gaussians]; final double[] weights = new double[n_gaussians]; for (int i = 0; i < n_gaussians; i++) { weights[i] = coef.get(i, 0); final DiagonalMultivariateGaussian d = new DiagonalMultivariateGaussian(n_dims); for (int j = 0; j < n_dims; j++) { d.mean.set(0, j, mean.get(j, i)); d.variance[j] = variance.get(j, i); } ret[i] = d; } return new MixtureOfGaussians(ret, weights); }
public static MixtureOfGaussians loadMoG(File f) throws IOException { final MatFileReader reader = new MatFileReader(f); final MLStructure codebook = (MLStructure) reader.getContent().get("codebook"); final MLSingle mean = (MLSingle) codebook.getField("mean"); final MLSingle variance = (MLSingle) codebook.getField("variance"); final MLSingle coef = (MLSingle) codebook.getField("coef"); final int n_gaussians = mean.getN(); final int n_dims = mean.getM(); final MultivariateGaussian[] ret = new MultivariateGaussian[n_gaussians]; final double[] weights = new double[n_gaussians]; for (int i = 0; i < n_gaussians; i++) { weights[i] = coef.get(i, 0); final DiagonalMultivariateGaussian d = new DiagonalMultivariateGaussian(n_dims); for (int j = 0; j < n_dims; j++) { d.mean.set(0, j, mean.get(j, i)); d.variance[j] = variance.get(j, i); } ret[i] = d; } return new MixtureOfGaussians(ret, weights); }
public static MixtureOfGaussians loadMoG(File f) throws IOException { final MatFileReader reader = new MatFileReader(f); final MLStructure codebook = (MLStructure) reader.getContent().get("codebook"); final MLSingle mean = (MLSingle) codebook.getField("mean"); final MLSingle variance = (MLSingle) codebook.getField("variance"); final MLSingle coef = (MLSingle) codebook.getField("coef"); final int n_gaussians = mean.getN(); final int n_dims = mean.getM(); final MultivariateGaussian[] ret = new MultivariateGaussian[n_gaussians]; final double[] weights = new double[n_gaussians]; for (int i = 0; i < n_gaussians; i++) { weights[i] = coef.get(i, 0); final DiagonalMultivariateGaussian d = new DiagonalMultivariateGaussian(n_dims); for (int j = 0; j < n_dims; j++) { d.mean.set(0, j, mean.get(j, i)); d.variance[j] = variance.get(j, i); } ret[i] = d; } return new MixtureOfGaussians(ret, weights); }