Пример #1
0
    def __init__(self, name, n_classes=NUM_CLASSES):
        super().__init__()

        base = densenet(name=name, n_classes=n_classes)
        feat_dim = base.last_linear.in_features

        self.base = base
        self.pool = GlobalConcatPool2d()
        self.head = nn.Sequential(nn.Linear(feat_dim * 2, feat_dim * 2),
                                  nn.BatchNorm1d(feat_dim * 2),
                                  nn.ReLU(inplace=True), nn.Dropout(0.25),
                                  nn.Linear(feat_dim * 2, n_classes))
Пример #2
0
    def __init__(self, model_name, num_classes):
        super().__init__()
        self.m1 = create_model(model_name)
        self.m2 = create_model(model_name)
        self.pool = GlobalConcatPool2d()

        out_features = self.m1.last_linear.in_features * 2

        self.top = nn.Sequential(
            nn.Linear(out_features * 2, out_features),
            nn.LeakyReLU(),
            nn.Dropout(),
            nn.Linear(out_features, num_classes)
        )