AI

Reducing Network Agnostophobia 논문 리뷰 (Entropic Open-set Loss)

전자둥이 2022. 7. 31. 21:58
반응형

안녕하세요 

open-set Loss라는 주제를 가지고 논문 리뷰를 진행하려고 합니다.

 

https://arxiv.org/pdf/1811.04110.pdf

(작성중..)

 

** Code

class Entropic_Open_set_Loss():
    def __init__(self, class_names):
        self.class_num = len(class_names)
        self.Cross_entropy = nn.CrossEntropyLoss()
    
    def __call__(self, output, target_batch):
        output_softmax = F.softmax(output, dim=1)
        loss = 0
        for i, target in enumerate(target_batch):
            if target == self.class_num - 1:
                # background class
                div = 1/self.class_num
                for index in range(self.class_num - 1):
                    loss -= torch.log(output_softmax[i][index])*div 
            else:
                # CELoss
                loss -= torch.log(output_softmax[i][target])
                # print(loss)

        loss_mean = torch.div(loss,len(target_batch))
        return loss_mean

 

반응형