def main(): options, args = parser.parse_args() if (options.input == None) or (options.d2v_embed == None) or \ (options.u2v_path == None) or (options.ws_path == None): return torch_input_path = options.input embedding_dimension = int(options.d2v_embed) url2vec_path = '{}_{}'.format(options.u2v_path, embedding_dimension) ws_path = options.ws_path search_mode = options.search_mode model_ws_path = '{}/model/{}'.format(ws_path, option2str(options)) if not os.path.exists(ws_path): os.system('mkdir -p {}'.format(ws_path)) # os.system('rm -rf {}'.format(model_ws_path)) os.system('mkdir -p {}'.format(model_ws_path)) # Save best result with param name param_search_path = ws_path + '/param_search' if not os.path.exists(param_search_path): os.system('mkdir -p {}'.format(param_search_path)) param_search_file_path = '{}/{}'.format(param_search_path, option2str(options)) if search_mode and os.path.exists(param_search_file_path): print('Param search mode already exist : {}'.format( param_search_file_path)) return print('Loading url2vec : start') dict_url2vec = load_json(url2vec_path) print('Loading url2vec : end') predictor = AdressaRec(HRAMModel, model_ws_path, torch_input_path, dict_url2vec, options, hram_mode=True) best_hit_5, best_auc_20, best_mrr_20 = predictor.do_train() if search_mode: with open(param_search_file_path, 'w') as f_out: f_out.write(str(best_hit_5) + '\n') f_out.write(str(best_auc_20) + '\n') f_out.write(str(best_mrr_20) + '\n')
def main(): options, args = parser.parse_args() if (options.input == None) or (options.d2v_embed == None) or \ (options.u2v_path == None) or (options.ws_path == None) or \ (options.word_embed_path == None): return path_rec_input = '{}/torch_rnn_input.dict'.format(options.input) embedding_dimension = int(options.d2v_embed) path_url2vec = '{}_{}'.format(options.u2v_path, embedding_dimension) sr = SelectRec(path_rec_input, path_url2vec, SimpleAVGModel, options) sr.do_train(total_epoch=1) return torch_input_path = options.input embedding_dimension = int(options.d2v_embed) url2vec_path = '{}_{}'.format(options.u2v_path, embedding_dimension) ws_path = options.ws_path search_mode = options.search_mode model_ws_path = '{}/model/{}'.format(ws_path, option2str(options)) if not os.path.exists(ws_path): os.system('mkdir -p {}'.format(ws_path)) #os.system('rm -rf {}'.format(model_ws_path)) os.system('mkdir -p {}'.format(model_ws_path)) print('Loading url2vec : start') dict_url2vec = load_json(url2vec_path) print('Loading url2vec : end') print('Loading glove : start') with open(options.glove, 'rb') as f_glove: dict_glove = pickle.load(f_glove) print('Loading glove : end') predictor = AdressaRec(SingleLSTMModel, ws_path, torch_input_path, dict_url2vec, options, dict_glove=dict_glove) best_hit_5, best_auc_20, best_mrr_20 = predictor.do_train(total_epoch=200)
def main(): options, args = parser.parse_args() if (options.input == None) or (options.d2v_embed == None) or \ (options.u2v_path == None) or (options.ws_path == None): return torch_input_path = options.input embedding_dimension = int(options.d2v_embed) url2vec_path = '{}_{}'.format(options.u2v_path, embedding_dimension) ws_path = options.ws_path search_mode = options.search_mode model_ws_path = '{}/model/{}'.format(ws_path, option2str(options)) if not os.path.exists(ws_path): os.system('mkdir -p {}'.format(ws_path)) # os.system('rm -rf {}'.format(model_ws_path)) os.system('mkdir -p {}'.format(model_ws_path)) # Save best result with param name param_search_path = ws_path + '/param_search' if not os.path.exists(param_search_path): os.system('mkdir -p {}'.format(param_search_path)) param_search_file_path = '{}/{}'.format(param_search_path, option2str(options)) if search_mode and os.path.exists(param_search_file_path): print('Param search mode already exist : {}'.format( param_search_file_path)) return print('Loading url2vec : start') dict_url2vec = load_json(url2vec_path) print('Loading url2vec : end') test_mode = True if test_mode: print('test mode') predictor = AdressaRec(MultiCellModel, model_ws_path, torch_input_path, dict_url2vec, options) if test_mode: predictor.load_model() time_start = time.time() hit_5, _, mrr_20 = predictor.test_mrr_trendy(metric_count=20, candidate_count=20, length_mode=True) print('hit_5', hit_5, 'mrr_20', mrr_20) print('time tooks : {}'.format(time.time() - time_start)) return best_hit_5, best_auc_20, best_mrr_20 = predictor.do_train() if search_mode: with open(param_search_file_path, 'w') as f_out: f_out.write(str(best_hit_5) + '\n') f_out.write(str(best_auc_20) + '\n') f_out.write(str(best_mrr_20) + '\n')
def main(): options, args = parser.parse_args() if (options.input == None) or (options.d2v_embed == None) or \ (options.u2v_path == None) or (options.ws_path == None): return torch_input_path = options.input embedding_dimension = int(options.d2v_embed) url2vec_path = '{}_{}'.format(options.u2v_path, embedding_dimension) url2info_path = options.u2i_path ws_path = options.ws_path search_mode = options.search_mode model_ws_path = '{}/model/{}'.format(ws_path, option2str(options)) if not os.path.exists(ws_path): os.system('mkdir -p {}'.format(ws_path)) # os.system('rm -rf {}'.format(model_ws_path)) os.system('mkdir -p {}'.format(model_ws_path)) # Save best result with param name param_search_path = ws_path + '/param_search' if not os.path.exists(param_search_path): os.system('mkdir -p {}'.format(param_search_path)) param_search_file_path = '{}/{}'.format(param_search_path, option2str(options)) if search_mode and os.path.exists(param_search_file_path): print('Param search mode already exist : {}'.format(param_search_file_path)) return print('Loading url2vec : start') dict_url2vec = load_json(url2vec_path) print('Loading url2vec : end') print('Loading url2info : start') dict_url2info = load_json(url2info_path) print('Loading url2info : end') attn_analysis = False if attn_analysis: print('test mode') predictor = AdressaRec(NeRTModel, model_ws_path, torch_input_path, dict_url2vec, options, dict_url2info=dict_url2info) if attn_analysis: predictor.load_model() time_start = time.time() hit_5, _, mrr_20 = predictor.test_mrr_trendy(metric_count=20, candidate_count=20, attn_mode=True, length_mode=False) print(hit_5, mrr_20) return hit_5, _, mrr_20 = predictor.test_mrr_trendy_history_test(metric_count=20, candidate_count=20) print('hitory_test :: hit_5 : {}, mrr_20 : {}'.format(hit_5, mrr_20)) print('time tooks : {}'.format(time.time() - time_start)) return for candi_count in [40, 60, 80, 100]: time_start = time.time() hit_5, _, mrr_20 = predictor.test_mrr_trendy(metric_count=20, candidate_count=candi_count) print('candi {} :: hit_5 : {}, mrr_20 : {}'.format(candi_count, hit_5, mrr_20)) print('time tooks : {}'.format(time.time() - time_start)) return best_hit_5, best_auc_20, best_mrr_20 = predictor.do_train() if search_mode: with open(param_search_file_path, 'w') as f_out: f_out.write(str(best_hit_5) + '\n') f_out.write(str(best_auc_20) + '\n') f_out.write(str(best_mrr_20) + '\n')