Views
No views yet
input: {text_a}[SEP]{text_b}
label: {0, 1}1from peft import PeftModel, PeftConfig
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4
5torch_device = "cuda" if torch.cuda.is_available() else "cpu"
6
7source_model_id = "NorGLM/NorGPT-369M"
8peft_model_id = "NorGLM/NorGPT-369M-NO-MRPC-peft"
9
10config = PeftConfig.from_pretrained(peft_model_id)
11model = AutoModelForCausalLM.from_pretrained(source_model_id, device_map='balanced')
12
13tokenizer_max_len = 2048
14tokenizer_config = {'pretrained_model_name_or_path': source_model_id,
15 'max_len': tokenizer_max_len}
16tokenizer = tokenizer = AutoTokenizer.from_pretrained(**tokenizer_config)
17tokenizer.pad_token = tokenizer.eos_token
18
19model = PeftModel.from_pretrained(model, peft_model_id)1
2def getDataSetFromFiles(df):
3 # convert dataset
4 df["text"] = df[["text_a", "text_b"]].apply(lambda x: " [SEP] ".join(x.astype(str)), axis =1)
5 df = df.drop(["idx", "text_a", "text_b"], axis=1)
6 df["label"] = df.label.map({0: 0, 1: 1})
7 return Dataset.from_pandas(df)
8
9print("--LOADING EVAL DATAS---")
10eval_data = load_dataset("NorGLM/NO-MRPC", data_files="val.jsonl")
11eval_data = getDataSetFromFiles(eval_data["train"].to_pandas())
12
13print("--MAKING PREDICTIONS---")
14model.eval()
15
16y_true = []
17y_pred = []
18count = 0
19
20for data in eval_data:
21 count = count + 1
22 if count % 100 == 0:
23 print(count)
24 inputs = tokenizer(data['text'], return_tensors="pt").to(torch_device)
25
26 with torch.no_grad():
27 logits = model(**inputs).logits
28 #print(logits)
29
30 predicted_class_id = logits.argmax().item()
31
32 y_true.append(data['label'])
33 y_pred.append(predicted_class_id)
34
35print(y_pred)
36
37print(f"Lenght of true_values: {len(y_true)}")
38print(f"Lenght of predicted_values: {len(y_pred)}")
39
40y_true = np.array(y_true)
41y_pred = np.array(y_pred)
42
43F_score = f1_score(y_true, y_pred, average="macro")
44print(f"F1 score: {F_score}")
45
46accuracy = accuracy_score(y_true, y_pred)
47print(f"Accuracy: {accuracy}")
48