def train_individual_cased_joy(): train, dev, _ = get_bert_data_loader('joy', uncased=False) final_training_stats = [] for d in [0.1, 0.2, 0.3]: for w in [0.8, 0.85, 0.9, 0.95]: for e in [1e-06, 1e-07, 1e-08]: for lr in [2e-5, 3e-5, 5e-5]: cased_model = BertForCasedClassification(dropout=d) cased_trained, _, _, _ = train_model( cased_model, 'joy_cased', train, dev, filepath='./models/joy_cased/', lr=lr, eps=e, weight_decay=w) final_training_stats.extend(cased_trained) pd.DataFrame(final_training_stats).to_csv( './data/models/cased-bert/results/joy/results.csv')
def train_individual_uncased_sadness(): train, dev, _ = get_bert_data_loader('sadness') final_training_stats = [] for d in [0.1, 0.2, 0.3]: for w in [0.8, 0.85, 0.9, 0.95]: for e in [1e-06, 1e-07, 1e-08]: for lr in [2e-5, 3e-5, 5e-5]: uncased_model = BertForUncasedClassification(dropout=d) uncased_trained, _, _, _ = train_model( uncased_model, 'sadness_uncased', train, dev, filepath='./models/sadness_uncased/', lr=lr, eps=e, weight_decay=w) final_training_stats.extend(uncased_trained) pd.DataFrame(final_training_stats).to_csv( './data/models/uncased-bert/results/sadness/results.csv')
def train_ordinal_fear(): fear_train_dataloader_uncased, fear_val_dataloader_uncased, fear_test_dataloader_uncased = get_bert_data_loader( 'fear') fear_uncased_model_1 = BertForUncasedClassification_1() #fear_cased_model_1 = BertForCasedClassification_1() fear_uncased_model_2 = BertForUncasedClassification_2() #fear_cased_model_2 = BertForCasedClassification_2() fear_uncased_model_3 = BertForUncasedClassification_3() #fear_cased_model_3 = BertForCasedClassification_3() ### has to be based on the data distribution for each emotion class_weights1 = torch.tensor([1, 2], dtype=torch.float) class_weights2 = torch.tensor([1, 4], dtype=torch.float) class_weights3 = torch.tensor([1, 10], dtype=torch.float) final_training_stats_au_1 = [] for lr in [2e-5, 3e-5, 5e-5]: fear_uncased_model_1 = BertForUncasedClassification_1() uncased_fear_train_1, model1_fearUncased = train( class_weights1, 1, fear_uncased_model_1, fear_train_dataloader_uncased, fear_test_dataloader_uncased, filepath='fear_uncased_ordinal', lr=lr) final_training_stats_au_1.append(uncased_fear_train_1) pd.DataFrame(final_training_stats_au_1[0]).to_csv( './data/models/ordinal/fear/lr_2e-5_model1.csv') pd.DataFrame(final_training_stats_au_1[1]).to_csv( './data/models/ordinal/fear/lr_3e-5_model1.csv') pd.DataFrame(final_training_stats_au_1[2]).to_csv( './data/models/ordinal/fear/lr_5e-5_model1.csv') final_training_stats_au_2 = [] for lr in [2e-5, 3e-5, 5e-5]: fear_uncased_model_2 = BertForUncasedClassification_2() uncased_fear_train_2, fear_uncased_model2 = train( class_weights2, 2, fear_uncased_model_2, fear_train_dataloader_uncased, fear_test_dataloader_uncased, filepath='fear_uncased_ordinal', lr=lr) final_training_stats_au_2.append(uncased_fear_train_2) pd.DataFrame(final_training_stats_au_2[0]).to_csv( './data/models/ordinal/fear/lr_2e-5_model2.csv') pd.DataFrame(final_training_stats_au_2[1]).to_csv( './data/models/ordinal/fear/lr_3e-5_model2.csv') pd.DataFrame(final_training_stats_au_2[2]).to_csv( './data/models/ordinal/fear/lr_5e-5_model2.csv') final_training_stats_au_3 = [] for lr in [2e-5, 3e-5, 5e-5]: fear_uncased_model_3 = BertForUncasedClassification_3() uncased_fear_train_3, fear_uncased_model3 = train( class_weights3, 3, fear_uncased_model_3, fear_train_dataloader_uncased, fear_test_dataloader_uncased, filepath='fear_uncased_ordinal', lr=lr) final_training_stats_au_3.append(uncased_fear_train_3) pd.DataFrame(final_training_stats_au_3[0]).to_csv( './data/models/ordinal/fear/lr_2e-5_model3.csv') pd.DataFrame(final_training_stats_au_3[1]).to_csv( './data/models/ordinal/fear/lr_3e-5_model3.csv') pd.DataFrame(final_training_stats_au_3[2]).to_csv( './data/models/ordinal/fear/lr_5e-5_model3.csv')
def train_ordinal_sadness(): sadness_train_dataloader_uncased, sadness_val_dataloader_uncased, sadness_test_dataloader_uncased = get_bert_data_loader('sadness') sadness_uncased_model_1 = BertForUncasedClassification_1() #sadness_cased_model_1 = BertForCasedClassification_1() sadness_uncased_model_2 = BertForUncasedClassification_2() #sadness_cased_model_2 = BertForCasedClassification_2() sadness_uncased_model_3 = BertForUncasedClassification_3() #sadness_cased_model_3 = BertForCasedClassification_3() ### has to be based on the data distribution for each emotion class_weights1 = torch.tensor([1.56,1], dtype = torch.float) class_weights2 = torch.tensor([1,1.29], dtype = torch.float) class_weights3 = torch.tensor([1,3.96], dtype = torch.float) final_training_stats_au_1 = [] for lr in [2e-5, 3e-5, 5e-5]: sadness_uncased_model_1 = BertForUncasedClassification_1() uncased_sadness_train_1, model1_sadnessUncased = train( class_weights1, 1, sadness_uncased_model_1, sadness_train_dataloader_uncased, sadness_test_dataloader_uncased, filepath='sadness_uncased_ordinal', lr=lr ) final_training_stats_au_1.append(uncased_sadness_train_1) pd.DataFrame(final_training_stats_au_1[0]).to_csv('./data/models/ordinal/sadness/lr_2e-5_model1.csv') pd.DataFrame(final_training_stats_au_1[1]).to_csv('./data/models/ordinal/sadness/lr_3e-5_model1.csv') pd.DataFrame(final_training_stats_au_1[2]).to_csv('./data/models/ordinal/sadness/lr_5e-5_model1.csv') final_training_stats_au_2 = [] for lr in [2e-5, 3e-5, 5e-5]: sadness_uncased_model_2 = BertForUncasedClassification_2() uncased_sadness_train_2, sadness_uncased_model2 = train( class_weights2, 2, sadness_uncased_model_2, sadness_train_dataloader_uncased, sadness_test_dataloader_uncased, filepath='sadness_uncased_ordinal', lr=lr ) final_training_stats_au_2.append(uncased_sadness_train_2) pd.DataFrame(final_training_stats_au_2[0]).to_csv('./data/models/ordinal/sadness/lr_2e-5_model2.csv') pd.DataFrame(final_training_stats_au_2[1]).to_csv('./data/models/ordinal/sadness/lr_3e-5_model2.csv') pd.DataFrame(final_training_stats_au_2[2]).to_csv('./data/models/ordinal/sadness/lr_5e-5_model2.csv') final_training_stats_au_3 = [] for lr in [2e-5, 3e-5, 5e-5]: sadness_uncased_model_3 = BertForUncasedClassification_3() uncased_sadness_train_3, sadness_uncased_model3 = train( class_weights3, 3, sadness_uncased_model_3, sadness_train_dataloader_uncased, sadness_test_dataloader_uncased, filepath='sadness_uncased_ordinal', lr=lr ) final_training_stats_au_3.append(uncased_sadness_train_3) pd.DataFrame(final_training_stats_au_3[0]).to_csv('./data/models/ordinal/sadness/lr_2e-5_model3.csv') pd.DataFrame(final_training_stats_au_3[1]).to_csv('./data/models/ordinal/sadness/lr_3e-5_model3.csv') pd.DataFrame(final_training_stats_au_3[2]).to_csv('./data/models/ordinal/sadness/lr_5e-5_model3.csv')