我想在单发多盒检测器上训练弱监督分割。但是,学习能力差的人不能很好地工作

时间:2019-07-11 09:26:37

标签: python pytorch

我使用了弱监督的细分学习,但这是行不通的。

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中的代码。 转换5层后,其输入来自SSD的功能。 我合并了10 * 8的输入要素,因为弱训练效果不好。 另外,此类输出通过互熵损失来评估。 我应该如何改进此模型。 请给我建议。

0 个答案:

没有答案