Text Classification
Transformers
ONNX
Safetensors
PyTorch
English
bert
multi-label-classification
multi-class-classification
emotion
go_emotions
emotion-classification
sentiment-analysis
tensorflow
Eval Results (legacy)
text-embeddings-inference
Instructions to use logasanjeev/bert-emotion-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use logasanjeev/bert-emotion-classifier with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="logasanjeev/bert-emotion-classifier")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("logasanjeev/bert-emotion-classifier") model = AutoModelForSequenceClassification.from_pretrained("logasanjeev/bert-emotion-classifier", device_map="auto") - Inference
- Notebooks
- Google Colab
- Kaggle
Download inference.py from logasanjeev/bert-emotion-classifier: direct link, hf CLI and curl.
- Browser
- Download file 974 Bytes
-
https://huggingface.co/logasanjeev/bert-emotion-classifier/resolve/1d9ee23e278eaf133ac817007e251bf0a78f8a63/inference.py
- Command line
-
hf download hf://logasanjeev/bert-emotion-classifier@1d9ee23e278eaf133ac817007e251bf0a78f8a63/inference.py
-
curl -L -o inference.py https://huggingface.co/logasanjeev/bert-emotion-classifier/resolve/1d9ee23e278eaf133ac817007e251bf0a78f8a63/inference.py
974 Bytes
| from transformers import BertForSequenceClassification, BertTokenizer | |
| import torch | |
| import json | |
| import requests | |
| def predict(text): | |
| repo_id = "logasanjeev/goemotions-bert" | |
| model = BertForSequenceClassification.from_pretrained(repo_id) | |
| tokenizer = BertTokenizer.from_pretrained(repo_id) | |
| thresholds_url = f"https://huggingface.co/{repo_id}/raw/main/thresholds.json" | |
| thresholds_data = json.loads(requests.get(thresholds_url).text) | |
| emotion_labels = thresholds_data["emotion_labels"] | |
| thresholds = thresholds_data["thresholds"] | |
| encodings = tokenizer(text, padding='max_length', truncation=True, max_length=128, return_tensors='pt') | |
| with torch.no_grad(): | |
| logits = torch.sigmoid(model(**encodings).logits).numpy()[0] | |
| predictions = [{"label": emotion_labels[i], "score": float(logit)} for i, (logit, thresh) in enumerate(zip(logits, thresholds)) if logit >= thresh] | |
| return sorted(predictions, key=lambda x: x["score"], reverse=True) |