示例#1
0
    def __init__(self, model: nn.Module, loss: BaseLoss):
        """
        Distance Intent 분류 모델을 학습시키고 테스트 및 추론합니다.

        :param model: Intent Classification 모델
        :param loss: Loss 함수 종류
        """

        self.loss = loss.to(self.device)
        super().__init__(model, model.parameters())

        if len(list(loss.parameters())) != 0:
            loss_opt = SGD(params=loss.parameters(), lr=self.loss_lr)
            self.optimizers.append(loss_opt)
    def __init__(self, model: nn.Module, loss: BaseLoss):
        """
        Distance Intent 분류 모델을 학습시키고 테스트 및 추론합니다.

        :param model: Intent Classification 모델
        :param loss: Loss 함수 종류
        """

        self.label_dict = model.label_dict
        self.loss = loss.to(self.device)
        self.distance_estimator = DistanceEstimator(self.grid_search)
        self.fallback_detector = FallbackDetector(self.label_dict,
                                                  self.grid_search)
        super().__init__(model, model.parameters())

        if len(list(loss.parameters())) != 0:
            loss_opt = SGD(params=loss.parameters(), lr=self.loss_lr)
            self.optimizers.append(loss_opt)
示例#3
0
    def __init__(self, model: nn.Module, loss: BaseLoss):
        """
        개체명 인식 (Named Entity Recognition) 모델을 학습시키고
        테스트 및 추론을 진행합니다. Loss함수를 변경해서 CRF를 추가할 수 있습니다.

        :param model: NER 모델
        :param loss: Loss 함수 종류
        :param masking: Loss 계산시 masking 여부
        """

        self.label_dict = model.label_dict
        self.loss = loss.to(self.device)
        self.mask = Masking() if self.masking else None
        self.parameters = list(model.parameters())

        if len(list(loss.parameters())) != 0:
            self.parameters += list(loss.parameters())

        model = self.__add_classifier(model)
        super().__init__(model, self.parameters)
示例#4
0
    def __init__(self, model: nn.Module, loss: BaseLoss):
        """
        Distance Intent 분류 모델을 학습시키고 테스트 및 추론합니다.

        :param model: Intent Classification 모델
        :param loss: Loss 함수 종류
        """

        self.loss = loss.to(self.device)
        self.softmax = nn.Softmax(dim=1)
        super().__init__(model, model.parameters())
示例#5
0
    def __init__(self, model: nn.Module, loss: BaseLoss):
        """
        Distance Intent 분류 모델을 학습시키고 테스트 및 추론합니다.

        :param model: Intent Classification 모델
        :param loss: Loss 함수 종류
        """

        self.label_dict = model.label_dict
        self.loss = loss.to(self.device)
        self.fallback_detector = FallbackDetector(self.label_dict, self.grid_search)
        self.softmax = nn.Softmax(dim=1)
        super().__init__(model, model.parameters())