Spaces:
Sleeping
Sleeping
add scoring
Browse files
app.py
CHANGED
@@ -2,7 +2,7 @@ import gradio as gr
|
|
2 |
import random
|
3 |
import os
|
4 |
import copy
|
5 |
-
|
6 |
from huggingface_hub import login
|
7 |
from transformers import pipeline
|
8 |
from transformers import GPT2Tokenizer, GPT2LMHeadModel,set_seed
|
@@ -54,18 +54,40 @@ def create_response(input_str,
|
|
54 |
if seed != -1:
|
55 |
set_seed(seed)
|
56 |
if model_name == "original_model":
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
60 |
elif model_name == "untethered_paraphrased_model":
|
61 |
-
|
|
|
|
|
62 |
else:
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
outputs = model_name+" generated <br>"
|
66 |
-
for output_id in
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
69 |
return outputs
|
70 |
|
71 |
|
|
|
2 |
import random
|
3 |
import os
|
4 |
import copy
|
5 |
+
import torch
|
6 |
from huggingface_hub import login
|
7 |
from transformers import pipeline
|
8 |
from transformers import GPT2Tokenizer, GPT2LMHeadModel,set_seed
|
|
|
54 |
if seed != -1:
|
55 |
set_seed(seed)
|
56 |
if model_name == "original_model":
|
57 |
+
output = original_model.generate(input_ids,pad_token_id=tokenizer.eos_token_id,do_sample=do_sample, attention_mask=attention_mask, max_length=100, temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty,num_return_sequences=num_return_sequences,return_dict_in_generate=True, output_scores=True )
|
58 |
+
transition_scores = original_model.compute_transition_scores(output.sequences, output.scores,
|
59 |
+
normalize_logits=False)
|
60 |
+
|
61 |
+
elif model_name == "untethered_model":
|
62 |
+
output = untethered_model.generate(input_ids,pad_token_id=tokenizer.eos_token_id,do_sample=do_sample, attention_mask=attention_mask, max_length=100, temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty,num_return_sequences=num_return_sequences,return_dict_in_generate=True, output_scores=True )
|
63 |
+
transition_scores = untethered_model.compute_transition_scores(output.sequences, output.scores,
|
64 |
+
normalize_logits=False)
|
65 |
elif model_name == "untethered_paraphrased_model":
|
66 |
+
output = untethered_paraphrased_model.generate(input_ids,pad_token_id=tokenizer.eos_token_id,do_sample=do_sample, attention_mask=attention_mask, max_length=100, temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty,num_return_sequences=num_return_sequences,return_dict_in_generate=True, output_scores=True )
|
67 |
+
transition_scores = untethered_paraphrased_model.compute_transition_scores(output.sequences, output.scores,
|
68 |
+
normalize_logits=False)
|
69 |
else:
|
70 |
+
output = original_model.generate(input_ids,pad_token_id=tokenizer.eos_token_id,do_sample=do_sample, attention_mask=attention_mask, max_length=100, temperature=temperature, top_p=top_p, repetition_penalty=repetition_penalty,num_return_sequences=num_return_sequences,return_dict_in_generate=True, output_scores=True )
|
71 |
+
transition_scores = original_model.compute_transition_scores(output.sequences, output.scores,
|
72 |
+
normalize_logits=False)
|
73 |
+
score_list = []
|
74 |
+
for scores in transition_scores:
|
75 |
+
# exp_tensor_list = torch.exp(scores)
|
76 |
+
# print(scores)
|
77 |
+
# print(exp_tensor_list)
|
78 |
+
sum_exp_tensor_list = torch.sum(scores)
|
79 |
+
len_exp_tensor_list = torch.numel(scores)
|
80 |
+
average_exp_tensor_list = sum_exp_tensor_list / len_exp_tensor_list
|
81 |
+
print(average_exp_tensor_list)
|
82 |
+
score_list.append(average_exp_tensor_list.item())
|
83 |
outputs = model_name+" generated <br>"
|
84 |
+
for index, output_id in enumerate(output.sequences):
|
85 |
+
sentence = tokenizer.decode(output_id, skip_special_tokens=True)
|
86 |
+
print(sentence + " score:" + str(score_list[index]))
|
87 |
+
|
88 |
+
# for output_id in output_ids:
|
89 |
+
# output = tokenizer.decode(output_id, skip_special_tokens=True)
|
90 |
+
# outputs=outputs+output+"<br/>"
|
91 |
return outputs
|
92 |
|
93 |
|