| """Configuration class for SentimentClassifier.""" |
|
|
| from typing import Optional |
|
|
| from transformers import PretrainedConfig |
|
|
|
|
| class SentimentClassifierConfig(PretrainedConfig): |
| """ |
| Configuration class for SentimentClassifier model. |
| |
| This class stores the configuration of a :class:`~SentimentClassifier` model. |
| It is used to instantiate a SentimentClassifier model according to the specified |
| arguments, defining the model architecture. |
| |
| Args: |
| pretrained_model (:obj:`str`, defaults to :obj:`"xlm-roberta-base"`): |
| Name of the pre-trained transformer model to use as encoder. |
| num_labels (:obj:`int`, defaults to :obj:`3`): |
| Number of sentiment classes (positive/neutral/negative). |
| dropout (:obj:`float`, defaults to :obj:`0.1`): |
| Dropout probability for the classification head. |
| hidden_size (:obj:`int`, optional): |
| Hidden size of the encoder model. If None, will be auto-detected from encoder config. |
| model_type (:obj:`str`, defaults to :obj:`"sentiment-classifier"`): |
| Model type identifier for the Hugging Face Hub. |
| """ |
|
|
| model_type = "sentiment-classifier" |
|
|
| |
| |
| auto_map = { |
| "AutoConfig": "configuration_sentiment.SentimentClassifierConfig", |
| "AutoModelForSequenceClassification": "sentiment_classifier.SentimentClassifier", |
| } |
|
|
| def __init__( |
| self, |
| pretrained_model: str = "xlm-roberta-base", |
| num_labels: int = 3, |
| dropout: float = 0.1, |
| hidden_size: Optional[int] = None, |
| **kwargs, |
| ): |
| """Initialize SentimentClassifierConfig.""" |
| |
| |
| if "auto_map" not in kwargs: |
| kwargs["auto_map"] = { |
| "AutoConfig": "configuration_sentiment.SentimentClassifierConfig", |
| "AutoModelForSequenceClassification": "sentiment_classifier.SentimentClassifier", |
| } |
|
|
| super().__init__(**kwargs) |
|
|
| self.pretrained_model = pretrained_model |
| self.num_labels = num_labels |
| self.dropout = dropout |
| self.hidden_size = hidden_size |
|
|