File size: 4,050 Bytes
25b4156 502a2a0 1b86984 502a2a0 25b4156 b434646 25b4156 99ec6fb 25b4156 502a2a0 25b4156 3d370e2 25b4156 502a2a0 538c4bd 1a73aa1 538c4bd d6e3348 538c4bd d6e3348 538c4bd d6e3348 9112429 1a73aa1 9112429 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
---
license: mit
language:
- en
base_model:
- google-t5/t5-base
datasets:
- li2017dailydialog/daily_dialog
metrics:
- rouge
---
# T5-base-ddg
This model is a fine-tuned version of `T5` for open eneded dialog generation. It was finetuned on the Daily Dialog dataset for 35 epochs using
Cyclic attention and custom loss.
## Model Usage
```python
import torch
from transformers import T5Tokenizer, T5ForConditionalGeneration
from datasets import load_dataset # Added import
# Set the device (use GPU if available)
device = 'cuda' if torch.cuda.is_available() else 'cpu'
# Load the model and tokenizer from Hugging Face
tokenizer = T5Tokenizer.from_pretrained("Vijayendra/T5-base-ddg")
model = T5ForConditionalGeneration.from_pretrained("Vijayendra/T5-base-ddg").to(device)
# Define your prompts
input_prompts = [
"I am having a bad day at work",
"What should I do about my stress?",
"How can I improve my productivity?",
"I'm feeling very anxious today",
"What is the best way to learn new skills?",
"How do I deal with failure?",
"What do you think about the future of technology?",
"I want to improve my communication skills",
"How can I stay motivated at work?",
"What is the meaning of life?"
]
# Generate responses
generated_responses = {}
for prompt in input_prompts:
inputs = tokenizer(prompt, return_tensors="pt", max_length=40, truncation=True, padding="max_length").to(device)
model.eval()
with torch.no_grad():
generated_ids = model.generate(
input_ids=inputs['input_ids'],
attention_mask=inputs['attention_mask'],
max_length=100,
num_beams=7,
repetition_penalty=2.5,
length_penalty=2.0,
early_stopping=True
)
# Decode the generated response
generated_text = tokenizer.decode(generated_ids[0], skip_special_tokens=True, clean_up_tokenization_spaces=True)
generated_responses[prompt] = generated_text
# Display the input prompts and the generated responses
for prompt, response in generated_responses.items():
print(f"Prompt: {prompt}")
print(f"Response: {response}\n")
# Load the dataset - Replace with your dataset name
dataset = load_dataset('daily_dialog', split='test',trust_remote_code=True)
# Generate 10 responses from the test set
def generate_responses(dataset, num_responses=50):
responses = []
for i, data in enumerate(dataset):
if i >= num_responses:
break
# Get the input prompt and reference response
input_text = data['dialog'][0] # Assuming the first dialog is the input prompt
reference_text = data['dialog'][1] # Assuming the second dialog is the expected response
# Tokenize and generate response
inputs = tokenizer(input_text, return_tensors="pt", max_length=40, truncation=True, padding="max_length").to(device)
model.eval()
with torch.no_grad():
generated_ids = model.generate(
input_ids=inputs['input_ids'],
attention_mask=inputs['attention_mask'],
max_length=40,
num_beams=7,
repetition_penalty=2.5,
length_penalty=2.0,
early_stopping=True
)
# Decode generated response
generated_text = tokenizer.decode(generated_ids[0], skip_special_tokens=True, clean_up_tokenization_spaces=True)
# Append input, generated response, and reference
responses.append({
"Input Prompt": input_text,
"Generated Response": generated_text,
"Reference Response": reference_text
})
return responses
# Get the responses
responses = generate_responses(dataset)
# Print the results
for idx, response in enumerate(responses):
print(f"Prompt {idx+1}: {response['Input Prompt']}")
print(f"T5 Model Response: {response['Generated Response']}")
print(f"Reference Response: {response['Reference Response']}\n")
|