コード例 #1
0
ファイル: model_repository.py プロジェクト: kennege/pvnet
    def __init__(self,
                 ver_dim,
                 seg_dim,
                 im_dim,
                 fcdim=256,
                 s8dim=128,
                 s4dim=64,
                 s2dim=32,
                 raw_dim=32):
        super(ImageEncoder, self).__init__()

        # Load the pretrained weights, remove avg pool
        # layer and get the output stride of 8
        resnet18_8s = resnet18(fully_conv=True,
                               pretrained=True,
                               output_stride=8,
                               remove_avg_pool_layer=True)

        self.ver_dim = ver_dim
        self.seg_dim = seg_dim

        # Randomly initialize the 1x1 Conv scoring layer
        resnet18_8s.fc = nn.Sequential(
            nn.Conv2d(resnet18_8s.inplanes, fcdim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(fcdim), nn.ReLU(True))
        resnet18_8s.conv1 = nn.Conv2d(im_dim,
                                      64,
                                      kernel_size=7,
                                      stride=2,
                                      padding=3,
                                      bias=False)
        self.resnet18_8s = resnet18_8s
コード例 #2
0
ファイル: model_repository.py プロジェクト: atopheim/pvnet
    def __init__(self):
        super(Resnet18_8s_detector, self).__init__()

        # Load the pretrained weights, remove avg pool
        # layer and get the output stride of 8
        self.resnet18_8s = resnet18(fully_conv=True,
                                    pretrained=True,
                                    output_stride=8,
                                    remove_avg_pool_layer=True)
        self.resnet18_8s.fc = nn.Conv2d(self.resnet18_8s.inplanes, 1, 3, 1, 1)
コード例 #3
0
ファイル: model_repository.py プロジェクト: atopheim/pvnet
    def __init__(self,
                 ver_dim,
                 seg_dim,
                 fcdim=256,
                 s8dim=128,
                 s4dim=64,
                 s2dim=32,
                 raw_dim=32):
        super(Resnet18_8s, self).__init__()

        # Load the pretrained weights, remove avg pool
        # layer and get the output stride of 8
        resnet18_8s = resnet18(fully_conv=True,
                               pretrained=True,
                               output_stride=8,
                               remove_avg_pool_layer=True)

        self.ver_dim = ver_dim
        self.seg_dim = seg_dim

        # Randomly initialize the 1x1 Conv scoring layer
        resnet18_8s.fc = nn.Sequential(
            nn.Conv2d(resnet18_8s.inplanes, fcdim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(fcdim), nn.ReLU(True))
        self.resnet18_8s = resnet18_8s

        # x8s->128
        self.conv8s = nn.Sequential(
            nn.Conv2d(128 + fcdim, s8dim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(s8dim), nn.LeakyReLU(0.1, True))
        self.up8sto4s = nn.UpsamplingBilinear2d(scale_factor=2)

        # x4s->64
        self.conv4s = nn.Sequential(
            nn.Conv2d(64 + s8dim, s4dim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(s4dim), nn.LeakyReLU(0.1, True))
        self.up4sto2s = nn.UpsamplingBilinear2d(scale_factor=2)

        # x2s->64
        self.conv2s = nn.Sequential(
            nn.Conv2d(64 + s4dim, s2dim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(s2dim), nn.LeakyReLU(0.1, True))
        self.up2storaw = nn.UpsamplingBilinear2d(scale_factor=2)

        self.convraw = nn.Sequential(
            nn.Conv2d(3 + s2dim, raw_dim, 3, 1, 1, bias=False),
            nn.BatchNorm2d(raw_dim), nn.LeakyReLU(0.1, True),
            nn.Conv2d(raw_dim, seg_dim + ver_dim, 1, 1))
コード例 #4
0
ファイル: model_repository.py プロジェクト: kennege/pvnet
    def __init__(self,
                 ver_dim,
                 seg_dim,
                 im_dim,
                 fcdim=256,
                 s8dim=128,
                 s4dim=64,
                 s2dim=32,
                 raw_dim=32,
                 pre_trained=True):
        super(EstimateEncoder, self).__init__()

        # Load the pretrained weights, remove avg pool
        # layer and get the output stride of 8
        resnet18_8s = resnet18(fully_conv=True,
                               pretrained=True,
                               output_stride=8,
                               remove_avg_pool_layer=True)

        self.conv1 = nn.Conv2d(18,
                               64,
                               kernel_size=7,
                               stride=2,
                               padding=3,
                               bias=False)
        self.bn1 = nn.BatchNorm2d(64)
        self.relu = nn.ReLU(inplace=True)
        self.mpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
        self.l1 = nn.Sequential(*list(resnet18_8s.children())[4:5])
        self.l2 = nn.Sequential(*list(resnet18_8s.children())[5:6])
        self.l3 = nn.Sequential(*list(resnet18_8s.children())[6:7])
        self.l4 = nn.Sequential(*list(resnet18_8s.children())[7:8])
        self.apool = nn.AvgPool2d(7)
        self.fc = nn.Sequential(
            nn.Conv2d(512, 256, kernel_size=3, stride=1, padding=1,
                      bias=False), nn.BatchNorm2d(256), nn.ReLU(inplace=True))
        self.ver_dim = ver_dim
        self.seg_dim = seg_dim