def gmm_learn(v, k, nt=1, niter=30, seed=0, redo=1, use_weights=True): _check_row_float32(v) n, d = v.shape flags = 0 if use_weights: flags |= yael.GMM_FLAGS_W gmm = yael.gmm_learn(d, n, k, niter, fvec_ref(v), nt, seed, redo, flags) gmm_npy = _gmm_to_numpy(gmm) yael.gmm_delete(gmm) return gmm_npy
def gmm_learn(v, k, nt=1, niter=30, seed=0, redo=1, use_weights=True): _check_row_float32(v) n, d = v.shape flags = 0 if use_weights: flags |= yael.GMM_FLAGS_W gmm = yael.gmm_learn(d, n, k, niter, yael.numpy_to_fvec_ref(v), nt, seed, redo, flags) gmm_npy = _gmm_to_numpy(gmm) yael.gmm_delete(gmm) return gmm_npy
#! /usr/bin/env python import sys import argparse import numpy as np import yael parser = argparse.ArgumentParser() parser.add_argument('--gmm_ncomponents', type=int, required=True) parser.add_argument('--vocab', nargs=2, required=True) args = parser.parse_args() cutFrom, cutTo = map(int, args.vocab[0].split('-')) data = np.loadtxt(sys.stdin, dtype=np.float32, usecols=range(cutFrom, 1 + cutTo)) npoints, nfeatures = data.shape niter = 50 nthreads = 1 seed = 0 redo = 1 flags = yael.GMM_FLAGS_W gmm = yael.gmm_learn(nfeatures, npoints, args.gmm_ncomponents, niter, yael.FloatArray.acquirepointer(yael.numpy_to_fvec(data)), nthreads, seed, redo, flags) yael.gmm_write(gmm, open(args.vocab[1], 'w'))
#! /usr/bin/env python import sys import argparse import numpy as np import yael parser = argparse.ArgumentParser() parser.add_argument('--gmm_ncomponents', type = int, required = True) parser.add_argument('--vocab', nargs = 2, required = True) args = parser.parse_args() cutFrom, cutTo = map(int, args.vocab[0].split('-')) data = np.loadtxt(sys.stdin, dtype = np.float32, usecols = range(cutFrom, 1 + cutTo)) npoints, nfeatures = data.shape niter = 50 nthreads = 1 seed = 0 redo = 1 flags = yael.GMM_FLAGS_W gmm = yael.gmm_learn(nfeatures, npoints, args.gmm_ncomponents, niter, yael.FloatArray.acquirepointer(yael.numpy_to_fvec(data)), nthreads, seed, redo, flags) yael.gmm_write(gmm, open(args.vocab[1], 'w'))