Пример #1
0
def apply_hmm(data, clabs, kMVA):
         
    kMVA.estim_kbasis(data, clabs)
    data = kMVA.transform(data, k=2)

    model = init_hmm(3, 3, 2)

    data = [list(x) for x in data]
    dt, T = 1, 2
    seq_set = ghmm.SequenceSet(ghmm.Float(), [sum(list(data[i:i+T]), []) for i in range(0, len(data) - T, dt)])
    model.baumWelch(seq_set, 10, 0.01)

    plotGHMMEmiss(model, stInd=0, dimInd=1)
Пример #2
0
def check_particular_phoneme(phData):
    syspath = 'recsystem'
    somePh = phData.keys()[0]
    print somePh, len(phData[somePh][0]), len(phData[somePh][0][0])
    for sample in phData[somePh][0]:
        p = plt.plot(sample)
    plt.grid(True)
    plt.show()
    hmm = init_hmm(nStates=3, nMix=1, dim=len(phData[somePh][0][0]))
    seq_set = ghmm.SequenceSet(ghmm.Float(), [sum(phSample, []) for phSample in phData[somePh]])
    print 'Let us train it!'
    hmm.baumWelch(seq_set)
#    print os.path.join(syspath, 'hmm', somePh)
#    hmm = hmm_built_from(HmmFromGHMMBuilder, os.path.join(syspath, 'hmm', somePh))
    hmmReloaded = HMMClassifier.reassigned_ghmm_object(hmm, 0.5)
    loglikel = [hmmReloaded.loglikelihood(seq) for seq in seq_set]

    pl = plt.plot(loglikel)
    plt.show()