parsbert-persian-sentiment-3class_Fine-Tuned
This model is a fine-tuned version of
HooshvareLab/bert-base-parsbert-uncased on an unknown dataset.
It achieves the following results on the evaluation set:
Model description
More information needed
Intended uses & limitations
More information needed
Training and evaluation data
More information needed
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- optimizer: Nadam
- learning_rate=1e-3
- training_precision: float32
Training results
- Accuracy: 0.8914
- Precision: 0.8922
- Recall: 0.8914
- F1 Score: 0.8911
Framework versions
- Transformers 4.57.6
- TensorFlow 2.19.0
- Datasets 4.0.0
- Tokenizers 0.22.2
Usage (TensorFlow)
#python
from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
import tensorflow as tf
MODEL_ID = "Rasooli26/parsbert-persian-sentiment-3class_Fine-Tuned"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, use_fast=False)
model = TFAutoModelForSequenceClassification.from_pretrained(MODEL_ID)
def predict(text: str):
inputs = tokenizer(
text,
return_tensors="tf",
truncation=True,
padding=True,
max_length=128
)
probs = tf.nn.softmax(model(**inputs).logits, axis=-1)
pred_id = int(tf.argmax(probs, axis=-1).numpy()[0])
return model.config.id2label[pred_id], probs.numpy()
label, probs = predict("این محصول بسیار عالی است")
print(label, probs)
Optional: add PyTorch usage (only if you want)
Because your repo was originally TF-based, PyTorch users may need from_tf=True unless you also uploaded PyTorch weights:
1## Usage (PyTorch)
2
3```python
4from transformers import AutoTokenizer, AutoModelForSequenceClassification
5import torch
6import torch.nn.functional as F
7
8MODEL_ID = "Rasooli26/parsbert-persian-sentiment-3class_Fine-Tuned"
9
10tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, use_fast=False)
11model = AutoModelForSequenceClassification.from_pretrained(MODEL_ID, from_tf=True)
12model.eval()
13
14inputs = tokenizer("این محصول بسیار عالی است", return_tensors="pt", truncation=True, padding=True, max_length=128)
15
16with torch.no_grad():
17 probs = F.softmax(model(**inputs).logits, dim=-1)
18
19pred_id = int(torch.argmax(probs, dim=-1).item())
20print(model.config.id2label[pred_id], probs.tolist())
21