def epoch_ready(self, model, epoch_num, train_logpplx, val_logpplx): if epoch_num == 0: print(' '*lib.ProgressBar.width(5), end=' | \t') else: print(' | ', end='\t') print(round(train_logpplx, 3), round(val_logpplx, 3), lib.format_duration(self.epoch_timer.get_duration()), sep='\t') self.training_prog = None
print( i, '<<FOUND HYPERPARAMS THAT RESULTED IN ERRORS LAST TIME>>' ) num_hyperpars += 1 opt.tell(prepare_hyperpar_for_tell(next_hyperpar), cost) if best_cost is None or cost < best_cost: best_hyperpar = next_hyperpar best_cost = cost already_seen.add(tuple(next_hyperpar)) print(i, *next_hyperpar, cost, lib.format_duration(duration), '******' if cost == best_cost else '', sep='\t') for _ in range( i, config.hyperpar_num_random_evals + config.hyperpar_num_evals): i += 1 num_hyperpars = 1 while True: t = lib.Timer() next_hyperpar = standardize_hyperpar( opt.ask(num_hyperpars)[-1] ) #This allows us to get different hyperparameters every time the previous hyperparameters resulted in <<SEEN>>, <<NAN>>, or <<EMPTY>> num_hyperpars += 1
mean_grad_max_wrt_multimodalvec = np.mean( np.mean(grad_max_wrt_multimodalvec, axis=1)) full_duration = full_timer.get_duration() with open(config.results_dir + '/imageimportance/' + architecture + '/results_langmod.txt', 'a', encoding='utf-8') as f: print(dataset_name, run, sent_len - 1, token_index, mean_grad_next_wrt_prefix, mean_grad_max_wrt_prefix, mean_grad_next_wrt_prevtoken, mean_grad_max_wrt_prevtoken, mean_grad_next_wrt_firsttoken, mean_grad_max_wrt_firsttoken, mean_grad_next_wrt_multimodalvec, mean_grad_max_wrt_multimodalvec, full_duration, sep='\t', file=f) already_seen.add((architecture, dataset_name, run, sent_len, token_index)) print(lib.format_duration(full_duration)) print() print(lib.formatted_clock())
capgen_generation_stats['Bleu_2'], capgen_generation_stats['Bleu_3'], capgen_generation_stats['Bleu_4'], capgen_generation_stats['METEOR'], capgen_generation_stats['ROUGE_L'], capgen_generation_stats['CIDEr'], capgen_generation_stats['SPICE'], capgen_generation_stats['WMD'], capgen_retrieval_stats['R@1'], capgen_retrieval_stats['R@5'], capgen_retrieval_stats['R@10'], capgen_retrieval_stats['median_rank'], capgen_retrieval_stats['R@1_frac'], capgen_retrieval_stats['R@5_frac'], capgen_retrieval_stats['R@10_frac'], capgen_retrieval_stats['median_rank_frac'], capgen_fit_stats['num_epochs'], capgen_train_duration, capgen_full_duration, sep='\t', file=f) already_seen.add( (corpus, frozen_prefix, corpus_size_factor_exponent, run)) print() print( lib.format_duration(langmod_full_duration + capgen_full_duration)) print() print(lib.formatted_clock())
image_dropout_prob = langmod_image_dropout_prob, post_image_dropout_prob = langmod_post_image_dropout_prob, embedding_dropout_prob = langmod_embedding_dropout_prob, rnn_dropout_prob = langmod_rnn_dropout_prob, max_gradient_norm = langmod_max_gradient_norm, freeze_prefix_params = False, ) as model: model.compile_model() model.set_params(model.load_params(config.results_dir+'/langmodtrans/'+corpus+'/'+dir_name+'/1_model.hdf5')) (sents_logprobs, tokens_logprobs) = model.get_sents_logprobs(max_batch_size=config.val_batch_size, index_sents=dataset.val.index_sents) val_langmod_prob_stats = evaluation.get_probability_stats(sents_logprobs, dataset.val.index_sents.lens) langmod_prob_stats = evaluation.get_probability_stats(sents_logprobs, dataset.val.index_sents.lens, capgen_num_unknowns_per_sent, capgen_num_out_of_vocab_tokens) print('Done!') print(lib.format_duration(full_timer.get_duration())) with open(config.results_dir+'/langmodtrans/'+corpus+'/val_pplx.txt', 'a', encoding='utf-8') as f: print( corpus, frozen_prefix, corpus_size_factor_exponent, run, langmod_prob_stats['mean_prob'], langmod_prob_stats['median_prob'], langmod_prob_stats['geomean_prob'], langmod_prob_stats['mean_pplx'], langmod_prob_stats['median_pplx'], langmod_prob_stats['geomean_pplx'], sep='\t', file=f )