Пример #1
0
 def __init__(self, num_features):
     super(GRL, self).__init__()
     self.model_fc = model.Resnet50Fc()
     # for param in self.model_fc.parameters():
     #    param.requires_grad=False
     self.bottleneck_layer1 = nn.Linear(num_features, 256)
     self.bottleneck_layer1.weight.data.normal_(0, 0.005)
     self.bottleneck_layer1.bias.data.fill_(0.1)
     self.bottleneck_layer = nn.Sequential(self.bottleneck_layer1,
                                           nn.ReLU(), nn.Dropout(0.5))
     self.classifier_layer = nn.Linear(256, len(dset_classes))
     self.classifier_layer.weight.data.normal_(0, 0.01)
     self.classifier_layer.bias.data.fill_(0.0)
     self.predict_layer = nn.Sequential(self.model_fc,
                                        self.bottleneck_layer,
                                        self.classifier_layer)
     self.ad_layer1 = nn.Linear(256 * len(dset_classes), 1024)
     self.ad_layer2 = nn.Linear(1024, 1024)
     self.ad_layer3 = nn.Linear(1024, 1)
     self.ad_layer1.weight.data.normal_(0, 0.01)
     self.ad_layer2.weight.data.normal_(0, 0.01)
     self.ad_layer3.weight.data.normal_(0, 0.3)
     self.ad_layer1.bias.data.fill_(0.0)
     self.ad_layer2.bias.data.fill_(0.0)
     self.ad_layer3.bias.data.fill_(0.0)
     self.ad_net = nn.Sequential(self.ad_layer1, nn.ReLU(),
                                 nn.Dropout(0.5), self.ad_layer2,
                                 nn.ReLU(), nn.Dropout(0.5),
                                 self.ad_layer3, nn.Sigmoid())
     self.grl = ad.AdversarialLayer(high=1.0)
Пример #2
0
 def __init__(self, num_features):
     super(Net, self).__init__()
     self.model_fc = model_no.Resnet50Fc()
     self.classifier_layer = nn.Linear(num_features, len(dset_classes))
     self.classifier_layer.weight.data.normal_(0, 0.01)
     self.classifier_layer.bias.data.fill_(0.0)
     self.predict_layer = nn.Sequential(self.model_fc,
                                        self.classifier_layer)
Пример #3
0
 def __init__(self, num_features):
     super(BSP_CDAN, self).__init__()
     if visda == True:
         self.model_fc = model.Resnet101Fc()
     else:
         self.model_fc = model.Resnet50Fc()
     self.bottleneck_layer1 = nn.Linear(num_features, 256)
     self.bottleneck_layer1.apply(init_weights)
     self.bottleneck_layer = nn.Sequential(self.bottleneck_layer1, nn.ReLU(), nn.Dropout(0.5))
     self.classifier_layer = nn.Linear(256, len(dset_classes))
     self.classifier_layer.apply(init_weights)
     self.predict_layer = nn.Sequential(self.model_fc, self.bottleneck_layer, self.classifier_layer)