def test_get_sentence(self): # arrange gen = SentenceGenerator() # act, assert self.assertEqual('es ist zwölf uhr'.split(' '), gen.get_sentence(time(12, 0))) self.assertEqual('es ist zwölf uhr'.split(' '), gen.get_sentence(time(0, 0))) self.assertEqual('es ist sechs uhr'.split(' '), gen.get_sentence(time(6, 0))) self.assertEqual('es ist sechs uhr'.split(' '), gen.get_sentence(time(18, 0))) self.assertEqual('es ist fünf nach eins'.split(' '), gen.get_sentence(time(1, 5))) self.assertEqual('es ist zehn nach zwei'.split(' '), gen.get_sentence(time(2, 11))) self.assertEqual('es ist viertel nach drei'.split(' '), gen.get_sentence(time(3, 14))) self.assertEqual('es ist zwanzig nach vier'.split(' '), gen.get_sentence(time(4, 22))) self.assertEqual('es ist fünf vor halb fünf2'.split(' '), gen.get_sentence(time(4, 25))) self.assertEqual('es ist halb sechs'.split(' '), gen.get_sentence(time(5, 30))) self.assertEqual('es ist fünf nach halb sieben'.split(' '), gen.get_sentence(time(6, 34))) self.assertEqual('es ist zwanzig vor acht'.split(' '), gen.get_sentence(time(7, 42))) self.assertEqual('es ist viertel vor neun'.split(' '), gen.get_sentence(time(20, 45))) self.assertEqual('es ist zehn vor zehn2'.split(' '), gen.get_sentence(time(21, 49))) self.assertEqual('es ist fünf vor elf'.split(' '), gen.get_sentence(time(10, 55))) self.assertEqual('es ist fünf vor eins'.split(' '), gen.get_sentence(time(12, 55)))
# when training a model from scratch). if not use_pickled_vocab: pickled_vocab = "" # Note: the training data used is either pickled_shards, pickled_pairs, # or all_sentences (in that priority). if not use_pickled_shards: pickled_shards = [] if not use_pickled_pairs: pickled_pairs = "" sentence_generator.train_generator(all_sentences, num_train_iters, pickled_pairs=pickled_pairs, pickled_shards=pickled_shards, pickled_vocab=pickled_vocab, vocab_size=30000, max_output_length=50, teacher_forcing_ratio=0.5, batch_size=64, learning_rate=0.0002, rnn_cell='lstm') pickle.dump(sentence_generator, open(model_save_path, "wb")) # Test the model. emb = sentence_generator.get_embedding("This is a test sentence.") sent = sentence_generator.get_sentence(emb) print(sent) emb = sentence_generator.get_embedding("This is also a test.") sent = sentence_generator.get_sentence(emb) print(sent)