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.)
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'] )
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 ) # ----------------------------------------------------------------------------