emotion_sentences = load_pickle(config.emojis_path) # Load infersent embeddings if necessary infersent_sentences = None if config.infersent: print('Loading infersent sentence embeddings...') infersent_sentences = load_pickle(config.infersent_path) embedding_size = infersent_sentences[0][0].shape[0] config.infersent_output_size = embedding_size data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size, emojis=emotion_sentences, infersent=infersent_sentences) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.importance_sample() else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.test()
def load_pickle(path): with open(path, 'rb') as f: return pickle.load(f) if __name__ == '__main__': config = get_config(mode='test') print('Loading Vocabulary...') vocab = Vocab() vocab.load(config.word2id_path, config.id2word_path) print(f'Vocabulary size: {vocab.vocab_size}') config.vocab_size = vocab.vocab_size data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size, shuffle=False) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.embedding_metric()
return pickle.load(f) if __name__ == '__main__': config = get_config(mode='valid') print('Loading Vocabulary...') vocab = Vocab() vocab.load(config.word2id_path, config.id2word_path) print(f'Vocabulary size: {vocab.vocab_size}') config.vocab_size = vocab.vocab_size for i in range(50): check_file = str(i+1) + '.pkl' config.checkpoint = os.path.join(config.eval_checkpoint, check_file) data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.evaluate() else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.test()
vocab=vocab_freq, batch_size=test_freq_config.batch_size, shuffle=False) rare_data_loader = get_loader( sentences=load_pickle(test_rare_config.sentences_path), conversation_length=load_pickle( test_rare_config.conversation_length_path), sentence_length=load_pickle(test_rare_config.sentence_length_path), vocab=vocab_rare, batch_size=test_rare_config.batch_size, shuffle=False) if test_freq_config.model in VariationalModels: solver_rare = VariationalSolver(test_rare_config, None, rare_data_loader, rare_data_loader, vocab=vocab_rare, is_train=False) else: solver_rare = Solver(test_rare_config, None, rare_data_loader, rare_data_loader, vocab=vocab_rare, is_train=False) solver_rare.build() solver_rare.embedding_metric()
if config.infersent: print('Loading infersent sentence embeddings...') infersent_sentences = load_pickle(config.infersent_path) embedding_size = infersent_sentences[0][0].shape[0] config.infersent_output_size = embedding_size data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size, emojis=emotion_sentences, infersent=infersent_sentences) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.interact(max_sentence_length=kwargs.max_sentence_length, max_conversation_length=kwargs.max_conversation_length, sample_by=kwargs.sample_by, debug=kwargs.debug, print_history=True)
# Load infersent embeddings if necessary infersent_sentences = None if config.infersent or config.calc_novel_embedding: print('Loading infersent sentence embeddings...') infersent_sentences = load_pickle(config.infersent_path) embedding_size = infersent_sentences[0][0].shape[0] config.infersent_output_size = embedding_size data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size, shuffle=False, emojis=emotion_sentences, infersent=infersent_sentences) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.novel_metrics()
def load_pickle(path): with open(path, 'rb') as f: return pickle.load(f) if __name__ == '__main__': config = get_config(mode='test') print('Loading Vocabulary...') vocab = Vocab() vocab.load(config.word2id_path, config.id2word_path) print(f'Vocabulary size: {vocab.vocab_size}') config.vocab_size = vocab.vocab_size data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size) if config.model in VariationalModels: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.generate_file()
conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=1, shuffle=False, ) dt_string = datetime.now().strftime("%d-%m-%Y_%H:%M:%S") probs_dict = SqliteDict( config.save_path + "/eval_{}.pkl".format(dt_string), encode=my_encode, decode=my_decode, journal_mode="OFF", autocommit=True, ) if config.model in VariationalModels: solver = VariationalSolver( config, None, data_loader, vocab=vocab, is_train=False ) solver.build() batch_probs_history = solver.evaluate_convai() else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() batch_probs_history = solver.evaluate_convai() for idx, probs_item in enumerate(batch_probs_history): probs_dict[str(idx)] = probs_item
sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), score=load_pickle(config.score_path), vocab=vocab, batch_size=config.batch_size, shuffle=False) else: data_loader = get_loader( sentences=load_pickle(config.sentences_path), conversation_length=load_pickle(config.conversation_length_path), sentence_length=load_pickle(config.sentence_length_path), vocab=vocab, batch_size=config.batch_size, shuffle=False) if config.model in VariationalModels: if config.model == "ADEM": print("train line:69 config.model", config.model) solver = AdemSolver(config, None, data_loader, vocab=vocab, is_train=False) else: solver = VariationalSolver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.importance_sample() else: solver = Solver(config, None, data_loader, vocab=vocab, is_train=False) solver.build() solver.test()
batch_size=test_freq_config.batch_size, shuffle=False) rare_data_loader = get_loader( sentences=load_pickle(test_rare_config.sentences_path), conversation_length=load_pickle( test_rare_config.conversation_length_path), sentence_length=load_pickle(test_rare_config.sentence_length_path), vocab=vocab_rare, batch_size=test_rare_config.batch_size, shuffle=False) if test_freq_config.model in VariationalModels: solver_freq = VariationalSolver(test_freq_config, None, freq_data_loader, rare_data_loader, vocab=vocab_freq, is_train=False) solver_freq.build() solver_freq.importance_sample() else: solver_freq = Solver(test_freq_config, None, freq_data_loader, rare_data_loader, vocab=vocab_freq, is_train=False) solver_freq.build() freq_perplexity, freq_f1 = solver_freq.test() print('Loading rare Vocabulary...')