Emotion_Classification_DistilBertBase_FT

作者 Mahendrakharra · 下载 9 · 点赞 0 · 更新 2023-11-04

emotionsclassification
Emotions Classification with DistilBERT Base Fine-Tuned Model

Emotions Classification with DistilBERT Base Fine-Tuned Model

Model Overview

Usage

Loading the Model

You can load the fine-tuned model using the transformers library:


from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained("Sentiment_Classification_DistilBertBase_FT")

Inference

You can use the loaded model for sentiment classification on your own text data:


from transformers import AutoTokenizer
import torch

tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")

text = "Layin n bed with a headache ughhhh...waitin o..."
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)
outputs = model(**inputs)
logits = outputs.logits

# To get the predicted sentiment label
predicted_label_id = torch.argmax(logits, dim=1).item()

Training

If you want to fine-tune the model further or train it on a different dataset, you can use the provided training script:


from transformers import AutoModelForSequenceClassification, TrainingArguments, Trainer

model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-uncased",
    num_labels=9,  # Number of sentiment labels
    id2label=id2label,  # Mapping from label IDs to label names
    label2id=label2id,  # Mapping from label names to label IDs
)

training_args = TrainingArguments(
    output_dir="Sentiment_Classification_DistilBertBase_FT",
    learning_rate=2e-5,
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    num_train_epochs=2,
    weight_decay=0.01,
    evaluation_strategy="epoch",
    save_strategy="epoch",
    load_best_model_at_end=True,
    push_to_hub=True,  # Push the trained model to the Hugging Face Model Hub
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_ds["train"],  # Your training dataset
    eval_dataset=tokenized_ds["test"],  # Your evaluation dataset
    tokenizer=tokenizer,
    data_collator=data_collator,  # Your data collator function
    compute_metrics=compute_metrics,  # Your metrics function
)

Model Training and Fine-Tuning

The model was fine-tuned using the provided training arguments and the Twitter sentiment dataset. The training and evaluation strategies are set to perform evaluations after each epoch and save the best model. The model uses a learning rate of 2e-5 and a batch size of 16 for both training and evaluation.

Performance Metrics

You can evaluate the model using appropriate performance metrics defined in your compute_metrics function, which can include accuracy, F1-score, precision, recall, etc.

Acknowledgments

Author

This model and README were created by Mahendra Kharra.

For any questions or issues, please contact mahendrakharra@gmail.com.

Linkedin