Я хочу потренироваться в сегментации со слабым контролем на одномодовом многоканальном детекторе. Но слабое обучение не работает хорошо - PullRequest
0 голосов
/ 11 июля 2019

Я использую слабо контролируемое обучение сегментации, но оно не работает.

class SegmentaionConvolutions(nn.Module):

    def __init__(self):
        super(SegmentaionConvolutions,self).__init__()

        self.conv_seg = nn.Conv2d(512,2,kernel_size=1)
        self.softmax = nn.Softmax(dim=2)
        self.pool= nn.MaxPool2d(kernel_size=2, stride=2, ceil_mode=True)  # retains size because stride is 1 (and padding)

        self.init_conv2d()

    def init_conv2d(self):
        """
        Initialize convolution parameters.
        """
        for c in self.children():
            if isinstance(c, nn.Conv2d):
                nn.init.xavier_uniform_(c.weight)
                nn.init.constant_(c.bias, 0.)

    def forward(self,conv5_feats):

        pooled_feats = self.pool(self.pool(conv5_feats))
        out = self.conv_seg(pooled_feats)

        return out

Это код, который я добавляю в SSD. Его ввод - это особенности SSD после пяти слоев. И я объединил функции ввода, 10 * 8, потому что плохо тренировать не очень хорошо. Кроме того, выход этого класса оценивается потерей кроссентропии. Как я должен сделать для улучшения этой модели. Пожалуйста, посоветуйте мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...