def run_comparison_by_trained(start = 0,times = 5 ): PATH = 'ablation_comparisoned.txt' ld_train = read_ld_train() ld_test = read_ld_test() # NOTE: 必须是test # 5 * (2 + 2 + 2 + 1) * 25 = 875(min) = 14.58(hour) for model_idx in range(times): model_idx = model_idx + start SEED = SEEDS_FOR_TRAIN_PLUS[model_idx] m = load_model(f'SEED_{SEED}_LEFTAUXE2') dic['LEFT_AUX0'].append(test_left_aux(m, ld_test)) save_dic(PATH) m = load_model(f'SEED_{SEED}_RIGHTAUXE2') dic['RIGHT_AUX0'].append(test_right_aux(m, ld_test)) save_dic(PATH) m = load_model(f'SEED_{SEED}_NOAUXE2') dic['NO_AUX0'].append(test_no_aux(m, ld_test)) save_dic(PATH) m = load_model(f'SEED_{SEED}_COUNTERAUXE2') dic['COUTER_AUX0'].append(test_counter_aux(m, ld_test)) save_dic(PATH) m = load_model(f'SEED_{SEED}_STAND') dic['STAND0'].append(test_chain_baseline(m, ld_test)) # NOTE: 参数顺序不同 save_dic(PATH) m = load_model(f'SEED_{SEED}_AUX00') dic['AUX000'].append(test_chain(m, ld_test)) # DD save_dic(PATH)
def train_and_plot(times = 3, start = 0): epochs = 3 ld_train = read_ld_train() ld_dev = read_ld_dev() for model_idx_org in range(times): model_idx = model_idx_org + start SEED = RANDOM_SEEDs[model_idx] # COUNTER AUX m = create_model_with_seed(SEED) cb = create_iteration_callback_shell(f'COUTER_AUX{model_idx}', m, ld_dev, test_counter_aux, intensively_log_interval = 20) for i in range(epochs): train_counter_aux(m, ld_train, fl_rate = 0, iteration_callback = cb) # Baseline: m = create_model_with_seed(SEED) cb = create_iteration_callback_shell(f'STAND{model_idx}', m, ld_dev, test_chain_baseline, intensively_log_interval = 20) for i in range(epochs): train_baseline(m, ld_train, fl_rate = 0, iteration_callback = cb) # LEFT m = create_model_with_seed(SEED) cb = create_iteration_callback_shell(f'LEFT_AUX{model_idx}', m, ld_dev, test_left_aux, intensively_log_interval = 20) for i in range(epochs): train_left_aux(m, ld_train, fl_rate = 0, aux_rate = 0.0, iteration_callback = cb) # RIGHT m = create_model_with_seed(SEED) cb = create_iteration_callback_shell(f'RIGHT_AUX{model_idx}', m, ld_dev, test_right_aux, intensively_log_interval = 20) for i in range(epochs): train_right_aux(m, ld_train, fl_rate = 0, aux_rate = 0.0, iteration_callback = cb) # NO AUX m = create_model_with_seed(SEED) cb = create_iteration_callback_shell(f'NO_AUX{model_idx}', m, ld_dev, test_no_aux, intensively_log_interval = 20) for i in range(epochs): train_no_aux(m, ld_train, fl_rate = 0.0, iteration_callback = cb)
def train_and_plot(times = 3, start = 0): epochs = 3 ld_train = read_ld_train() ld_dev = read_ld_dev() for model_idx_org in range(times): model_idx = model_idx_org + start print(f'random seed {RANDOM_SEEDs[model_idx]}') t.manual_seed(RANDOM_SEEDs[model_idx]) m = Sector_2022() cb = create_iteration_callback(f'AUXFL_FS_DEV{model_idx}', m, ld_dev, intensively_log_interval = 20) for i in range(epochs): train(m, ld_train, fl_rate = 5.0, aux_rate = 0.1, iteration_callback = cb) t.manual_seed(RANDOM_SEEDs[model_idx]) m = Sector_2022() cb = create_iteration_callback(f'AUX_FS_DEV{model_idx}', m, ld_dev, intensively_log_interval = 20) for i in range(epochs): train(m, ld_train, fl_rate = 0, aux_rate = 0.2, iteration_callback = cb) t.manual_seed(RANDOM_SEEDs[model_idx]) m = Sector_2022() cb = create_iteration_callback_baseline(f'FL_FS_DEV{model_idx}', m, ld_dev, intensively_log_interval = 20) for i in range(epochs): train_baseline(m, ld_train, fl_rate = 2.0, iteration_callback = cb) t.manual_seed(RANDOM_SEEDs[model_idx]) m = Sector_2022() cb = create_iteration_callback_baseline(f'STAND_FS_DEV{model_idx}', m, ld_dev, intensively_log_interval = 20) for i in range(epochs): train_baseline(m, ld_train, fl_rate = 0, iteration_callback = cb)
def run_comparison_by_trained(start = 0,times = 10 ): PATH = 'news_comparisoned.txt' ld_train = read_ld_train() ld_test = read_combined_test() # NOTE: 约7万个句子, 好像没有什么必要 # 5 * (2 + 2 + 2 + 1) * 25 = 875(min) = 14.58(hour) for model_idx in range(times): model_idx = model_idx + start SEED = SEEDS_FOR_TRAIN[model_idx] m = load_model(f'SEED{SEED}_AUX01FL50E2') dic['AUXFL_FS_TEST0'].append(test_chain(m, ld_test)) save_dic(PATH) m = load_model(f'SEED{SEED}_AUX02E2') dic['AUX_FS_TEST0'].append(test_chain(m, ld_test)) save_dic(PATH) m = load_model(f'SEED{SEED}_FL20E3') dic['FL_FS_TEST0'].append(test_chain_baseline(m, ld_test)) save_dic(PATH) m = load_model(f'SEED{SEED}_STDE3') dic['STAND_FS_TEST0'].append(test_chain_baseline(m, ld_test)) save_dic(PATH)
def train_and_save(start = 0, times = 10): ld_train = read_ld_train() for model_idx_org in range(times): model_idx = model_idx_org + start SEED = SEEDS_FOR_TRAIN[model_idx] m = create_model_with_seed(SEED) for i in range(2): # AUX_FL train(m, ld_train, fl_rate = 5.0, aux_rate = 0.1) save_model(m, f'SEED{SEED}_AUX01FL50E2.tch') m = create_model_with_seed(SEED) for i in range(2): # AUX train(m, ld_train, fl_rate = 0, aux_rate = 0.2) save_model(m, f'SEED{SEED}_AUX02E2.tch') m = create_model_with_seed(SEED) for i in range(3): # FL train_baseline(m, ld_train, fl_rate = 2.0) save_model(m, f'SEED{SEED}_FL20E3.tch') m = create_model_with_seed(SEED) for i in range(2): # STAND train_baseline(m, ld_train, fl_rate = 0) save_model(m, f'SEED{SEED}_STDE3.tch') # NOTE: 名字错了,应该是E2的,但是将就用把
def train_and_save(start = 0, times = 5): epochs = 2 ld_train = read_ld_train() for model_idx_org in range(times): model_idx = model_idx_org + start SEED = SEEDS_FOR_TRAIN_PLUS[model_idx] # COUNTER AUX m = create_model_with_seed(SEED) for i in range(epochs): train_counter_aux(m, ld_train, fl_rate = 0) save_model(m, f'SEED_{SEED}_COUNTERAUXE2') # Baseline: m = create_model_with_seed(SEED) for i in range(epochs): train_baseline(m, ld_train, fl_rate = 0) save_model(m, f'SEED_{SEED}_STAND') # AUX00: m = create_model_with_seed(SEED) for i in range(epochs): train(m, ld_train, fl_rate = 0, aux_rate = 0) save_model(m, f'SEED_{SEED}_AUX00') # LEFT m = create_model_with_seed(SEED) for i in range(epochs): train_left_aux(m, ld_train, fl_rate = 0, aux_rate = 0.0) save_model(m, f'SEED_{SEED}_LEFTAUXE2') # # RIGHT m = create_model_with_seed(SEED) for i in range(epochs): train_right_aux(m, ld_train, fl_rate = 0, aux_rate = 0.0) save_model(m, f'SEED_{SEED}_RIGHTAUXE2') # # NO AUX m = create_model_with_seed(SEED) for i in range(epochs): train_no_aux(m, ld_train, fl_rate = 0.0) save_model(m, f'SEED_{SEED}_NOAUXE2')