def test_save_hmm(self): hmm = HMM() hmm.load( os.path.join(HERE,"N-hmm") ) hmm.save(os.path.join(HERE,"N-hmm-copy")) newhmm = HMM() newhmm.load(os.path.join(HERE,"N-hmm-copy")) os.remove(os.path.join(HERE,'N-hmm-copy')) self.assertEqual(hmm.name,newhmm.name) self.assertTrue(compare(hmm.definition,newhmm.definition))
def test_proto(self): h1 = HtkIO() h1.write_hmm_proto( 25, os.path.join(HERE,"proto_from_htkio") ) h2 = HMM() h2.create_proto( 25 ) h2.save( os.path.join(HERE,"proto_from_hmm") ) m1 = HMM() m1.load( os.path.join(HERE,"proto_from_htkio") ) m2 = HMM() m2.load( os.path.join(HERE,"proto_from_hmm") ) self.assertTrue(compare(m1.definition['transition'],m2.definition['transition'])) self.assertTrue(compare(m1.definition['states'],m2.definition['states'])) os.remove( os.path.join(HERE,"proto_from_hmm") ) os.remove( os.path.join(HERE,"proto_from_htkio") )
def test_initializer_without_corpus(self): corpus = TrainingCorpus() workdir = os.path.join(HERE,"working") os.mkdir( workdir ) shutil.copy( os.path.join(HERE, "protos","vFloors"), workdir ) initial = HTKModelInitializer( corpus, workdir ) corpus.datatrainer.protodir = os.path.join(HERE, "protos") initial.create_model() hmm1 = HMM() hmm2 = HMM() hmm1.load( os.path.join( workdir, "@@.hmm") ) hmm2.load( os.path.join(HERE, "protos", "@@.hmm") ) self.assertTrue(compare(hmm1.definition,hmm2.definition)) hmm1.load( os.path.join( workdir, "sil.hmm") ) hmm2.load( os.path.join(HERE, "protos", "sil.hmm") ) corpus.datatrainer.fix_proto(protofilename=os.path.join(HERE, "protos", "proto.hmm")) hmm2.load( os.path.join(HERE, "protos", "proto.hmm") ) hmm1.load( os.path.join(workdir, "gb.hmm") ) self.assertTrue(compare(hmm1.definition,hmm2.definition)) hmm1.load( os.path.join(workdir, "dummy.hmm") ) self.assertTrue(compare(hmm1.definition,hmm2.definition)) acmodel = AcModel() acmodel.load_htk( os.path.join( workdir,"hmmdefs") ) shutil.rmtree( workdir ) os.remove( os.path.join(HERE, "protos", "proto.hmm") )
def test_load_hmm(self): hmm = HMM() hmm.load( os.path.join(HERE,"N-hmm") ) self.__test_states( hmm.definition['states'] ) self.__test_transition( hmm.definition['transition'] )