示例#1
0
    def forward(self, source, target):
        loss = torch.FloatTensor([0]).to(source.device)
        source = self.features(source)
        source = source.view(source.size(0), -1)
        source = self.classifier(source)

        if self.training == True:
            target = self.features(target)
            target = target.view(target.size(0), -1)
            target = self.classifier(target)
            loss += mmd.mmd_rbf_noaccelerate(source, target)
        source = self.cls_fc(source)
        return source, loss, target
示例#2
0
    def forward(self, source, target):
        #Hack for Multiple GPU...
        loss = torch.zeros(1, device=source.device)
        source = self.sharedNet(source)

        if self.training == True:
            target = self.sharedNet(target)
            # loss += mmd.mmd_rbf_accelerate(source, target)
            loss = mmd.mmd_rbf_noaccelerate(source, target)
            target = self.cls_fc(target)

        source = self.cls_fc(source)

        return source, loss, target