Пример #1
0
    def __init__(self, in_channel, n_class):
        super().__init__()
        self.conv = nn.Sequential(
            nn.Conv2d(in_channel, in_channel, kernel_size=3, padding=1, bias=False),
            nn.BatchNorm2d(in_channel),
            nn.ReLU(),
            nn.Conv2d(in_channel, n_class, kernel_size=1),
        )

        for m in self.modules():
            if isinstance(m, nn.Conv2d):
                init_weights(m, init_type='kaiming')
            elif isinstance(m, nn.BatchNorm2d):
                init_weights(m, init_type='kaiming')
Пример #2
0
 def __init__(self, in_channel, inter_channel, out_channel):
     super().__init__()
     self.conv = nn.Sequential(
         nn.Conv2d(in_channel, inter_channel, 3, 2, 1, bias=False),
         nn.BatchNorm2d(inter_channel),
         nn.ReLU(True),
         nn.Conv2d(inter_channel, inter_channel, 3, 1, 1, bias=False),
         nn.BatchNorm2d(inter_channel),
         nn.ReLU(True),
         nn.Conv2d(inter_channel, out_channel, 3, 1, 1, bias=False),
         nn.BatchNorm2d(out_channel),
     )
     for m in self.modules():
         if isinstance(m, nn.Conv2d):
             init_weights(m, init_type='kaiming')
         elif isinstance(m, nn.BatchNorm2d):
             init_weights(m, init_type='kaiming')
Пример #3
0
    def __init__(self, in_channel, n_class):
        super().__init__()
        self.n_class = n_class
        self.conv = _FCNHead(in_channel, n_class)

        inter_channel = in_channel // 2
        self.node = 64
        self.st = nn.ModuleList()
        for i in range(n_class):
            self.st.append(
                squeeze_and_expand(in_channel, self.node, inter_channel))

        self.gcn = GCN(inter_channel, int(self.node * n_class))

        for m in self.modules():
            if isinstance(m, nn.Conv2d):
                init_weights(m, init_type='kaiming')
            elif isinstance(m, nn.BatchNorm2d):
                init_weights(m, init_type='kaiming')