Views
No views yet
from transformers import BartForConditionalGeneration, AutoTokenizer
model = BartForConditionalGeneration.from_pretrained('yousefg/Academ-0.5')
tokenizer = AutoTokenizer.from_pretrained('facebook/bart-large-cnn')
def get_summary(input_ids, attention_mask, context_length):
summaries = []
for i in range(0, input_ids.shape[1], context_length):
input_slice = input_ids[:, i:i + context_length] if i + context_length <= input_ids.size(1) else input_ids[:, i:]
attention_mask_slice = attention_mask[:, i:i + context_length] if i + context_length <= attention_mask.size(1) else attention_mask[:, i:]
summary = model.generate(input_slice, attention_mask = attention_mask_slice, max_new_tokens = 1654, min_new_tokens = 250, do_sample = True, renormalize_logits = True)
summaries.extend(summary[0].tolist())
summaries = tokenizer.decode(summaries, skip_special_tokens = True)
return summaries
batch = tokenizer(texts, truncation = False) # make sure to get the transcript from the lecture
input_ids = torch.tensor(batch['input_ids']).unsqueeze(0).to(device)
attention_mask = torch.tensor(batch['attention_mask']).unsqueeze(0).to(device)
summary = get_summary(input_ids, attention_mask, 1654)
print(summary)