# Custom BART Model for Text Summarization This project involves fine-tuning a BART model for text summarization tasks. The model was trained on custom data, and the resulting model is saved locally and uploaded to Hugging Face for further use. ## Table of Contents - [Overview](#overview) - [Installation](#installation) - [Usage](#usage) - [Training the Model](#training-the-model) - [Saving and Uploading the Model](#saving-and-uploading-the-model) - [Generating Summaries](#generating-summaries) - [Contributing](#contributing) - [License](#license) ## Overview This project fine-tunes a BART model (`facebook/bart-base`) on custom summarization tasks. After training, the model can generate summaries for input text, which can be used for various applications like news article summarization, report generation, etc. ## Installation To get started, ensure you have Python installed (preferably Python 3.8 or above). Install the required dependencies using the following command: ```bash pip install transformers torch huggingface_hub Usage Loading the Model and Tokenizer Ensure you have saved your trained model and tokenizer in the ./custom_bart_model directory. The code snippet below demonstrates how to load the model and generate summaries based on user input. from transformers import BartTokenizer, BartForConditionalGeneration import torch # Load the model and tokenizer model = "rohansb10/summary" tokenizer = BartTokenizer.from_pretrained(model) model = BartForConditionalGeneration.from_pretrained(model) # Move model to the appropriate device device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) model.eval() def generate_summary(input_text): inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding="max_length", max_length=512).to(device) with torch.no_grad(): summary_ids = model.generate(inputs["input_ids"], max_length=128, num_beams=4, early_stopping=True) output_text = tokenizer.decode(summary_ids[0], skip_special_tokens=True) return output_text user_input = input("Enter your text: ") output = generate_summary(user_input) print("\nModel Output:") print(output) Training the Model The training process involves loading the pre-trained BART model and tokenizer, preparing a custom dataset, and training the model using the PyTorch DataLoader. Refer to the train_model() and evaluate_model() functions in the code for the detailed implementation. Feel free to modify any section to better fit your project’s needs!