Hi all, I am using BertForSequenceClassification model for text sentiment analysis. Unlike general sentiment analysis, My model is predicting the intensity of the emotion (a real number between 0 and 1).
So I would like to add a sigmoid function to the output layer of my model, is there any way to achieve this other than creating a new class?
Currently, I have created the following class to train.
class BertForSequenceClassificationWithSigmoid(
BertForSequenceClassification
):
"""Docstring for BertForSequenceClassificationWithSigmoid. """
def __init__(self, config):
"""TODO: to be defined. """
super().__init__(config)
self.classifier = nn.Sequential(
self.classifier,
nn.Sigmoid(),
)
However, with this method, I can’t move only the trained model file and predict by it in another environment. (Because it is necessary to define the class created for that environment.)
So I would like to change the activation function of the output layer using TrainingArugument, etc. Is there any way to do this?