Exemplo n.º 1
0
    def test_no_merge(self):
        nbhmms = len(self.acmodel.hmms)

        # Try to merge with the same model!
        acmodel2 = AcModel()
        acmodel2.load_htk(self.hmmdefs)

        (appended,interpolated,keeped,changed) = acmodel2.merge_model(self.acmodel,gamma=1.)
        self.assertEqual(interpolated, 0)
        self.assertEqual(appended, 0)
        self.assertEqual(keeped, nbhmms)
        self.assertEqual(changed, 0)

        (appended,interpolated,keeped,changed) = acmodel2.merge_model(self.acmodel,gamma=0.5)
        self.assertEqual(interpolated, nbhmms)
        self.assertEqual(appended, 0)
        self.assertEqual(keeped, 0)
        self.assertEqual(changed, 0)

        (appended,interpolated,keeped,changed) = acmodel2.merge_model(self.acmodel,gamma=0.)
        self.assertEqual(interpolated, 0)
        self.assertEqual(appended, 0)
        self.assertEqual(keeped, 0)
        self.assertEqual(changed, nbhmms)

        # Try to merge with a different MFCC parameter kind model...
        acmodel2 = AcModel()
        acmodel2.load_htk( os.path.join(MODEL_PATH,"models-cat","hmmdefs") )
        with self.assertRaises(TypeError):
            acmodel2.merge_model(self.acmodel,gamma=1.)
Exemplo n.º 2
0
    def test_merge(self):
        acmodel1 = AcModel()
        acmodel1.load_htk( os.path.join(HERE,"1-hmmdefs") )
        acmodel2 = AcModel()
        acmodel2.load_htk( os.path.join(HERE,"2-hmmdefs") )

        (appended,interpolated,keeped,changed) = acmodel2.merge_model(acmodel1,gamma=0.5)
        self.assertEqual(interpolated, 2) # acopy, a
        self.assertEqual(appended, 1)     # i
        self.assertEqual(keeped, 1)       # e
        self.assertEqual(changed, 0)

        self.__test_states( acmodel2.get_hmm('a').definition['states'] )
        self.__test_transition( acmodel2.get_hmm('a').definition['transition'] )
Exemplo n.º 3
0
if os.path.isfile( args.i ):
    acmodel1.load_htk( args.i )
else:
    acmodel1.load( args.i )
if not args.quiet is True:
    print "... done"

if not args.quiet is True:
    print "Loading AC 2:",
acmodel2 = AcModel()
if os.path.isfile( args.I ):
    acmodel2.load_htk( args.I )
else:
    acmodel2.load( args.I )
if not args.quiet is True:
    print "... done"

(appended,interpolated,keeped,changed) = acmodel1.merge_model(acmodel2,gamma=args.g)
if not args.quiet is True:
    print "Number of appended HMMs:     ",appended
    print "Number of interpolated HMMs: ",interpolated
    print "Number of keeped HMMs:       ",keeped
    print "Number of changed HMMs:      ",changed

if args.o:
    acmodel1.save_htk( args.o )
if args.O:
    acmodel1.save( args.O )

# ----------------------------------------------------------------------------